OSDN Git Service

e3ef5f2e8132b1f1a5f498ba8b13d3a6c9d60a19
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
1 2012-01-16  Jason Merrill  <jason@redhat.com>
2
3         PR c++/51827
4         * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
5
6         PR c++/51868
7         * typeck.c (build_static_cast_1): Handle bit-fields properly.
8
9 2012-01-13  Ian Lance Taylor  <iant@google.com>
10
11         PR c++/50012
12         * typeck.c (enum_cast_to_int): New static function.
13         (cp_build_binary_op): When handling warn_sign_compare, don't test
14         for TREE_NO_WARNING.  Do call enum_cast_to_int.
15         * call.c (avoid_sign_compare_warnings): Remove static function.
16         (build_new_op_1): Don't call avoid_sign_compare_warnings.
17
18 2012-01-13  Steven Bosscher  <steven@gcc.gnu.org>
19
20         * decl2.c: Do not include tree-mudflap.h
21         * semantics.c: Likewise.
22
23 2012-01-13  Jason Merrill  <jason@redhat.com>
24
25         PR c++/20681
26         * semantics.c (finish_break_stmt): Avoid adding an unreachable
27         BREAK_STMT.
28
29         PR c++/51813
30         * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
31         when reducing the visibility.
32
33         PR c++/51620
34         * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
35
36 2012-01-12  Jason Merrill  <jason@redhat.com>
37
38         PR c++/51714
39         * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
40         value-dependent.
41
42 2012-01-13  Dodji Seketeli  <dodji@redhat.com>
43
44         PR c++/51633
45         * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
46         Set the pointer to the last block of the constructor to the
47         current statement.
48         (build_constexpr_constructor_member_initializers): Get
49         build_data_member_initialization a chance to deal with more
50         statements before we choke.
51
52 2012-01-12  Jason Merrill  <jason@redhat.com>
53
54         PR c++/48051
55         * mangle.c (write_expression): Mangle BASELINK scope if
56         BASELINK_QUALIFIED_P.
57         * search.c (adjust_result_of_qualified_name_lookup): Set
58         BASELINK_QUALIFIED_P.
59         * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
60         * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
61         adjust_result_of_qualified_name_lookup for non-qualified names.
62
63         PR c++/51403
64         * pt.c (unify): Handle error_mark_node.
65
66 2012-01-11  Jason Merrill  <jason@redhat.com>
67
68         PR c++/51565
69         * call.c (standard_conversion): For ptrmemfuncs, compare the
70         static_fn_types.
71
72         PR c++/51818
73         * mangle.c (find_substitution): A type is only a substitution
74         match if we're looking for a type.
75         (write_nested_name): Use decl_mangling_context.
76
77         * decl.c (decls_match): Assert that the arguments are decls.
78
79         PR c++/51613
80         * pt.c (resolve_overloaded_unification): Compare types with
81         same_type_p, not decls_match.
82
83 2012-01-10  Jason Merrill  <jason@redhat.com>
84
85         PR c++/51614
86         * class.c (build_base_path): Diagnose ambiguous base.
87
88         PR c++/51433
89         * semantics.c (cxx_eval_call_expression): Always retry previously
90         non-constant expressions.
91
92 2012-01-06  Jason Merrill  <jason@redhat.com>
93
94         DR 686
95         PR c++/47450
96         * parser.c (cp_parser_new_expression): Set
97         type_definition_forbidden_message.
98
99         PR c++/6057
100         PR c++/48051
101         PR c++/50855
102         PR c++/51322
103         * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
104         THROW_EXPR, CONSTRUCTOR, OVERLOAD.  Fix PREINCREMENT_EXPR and
105         PREDECREMENT_EXPR.
106         (write_template_arg): Fix mangling of class-scope functions and
107         argument packs.
108         (mangle_decl): Update suggested -fabi-version argument.
109         * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
110         DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
111         * tree.c (dependent_name): No longer static.
112         * cp-tree.h: Declare it.
113         * pt.c (unify): Defer handling of unconverted functions.
114
115         * mangle.c (mangle_decl): Don't generate mangling aliases
116         for maybe-in-charge [cd]tors.
117
118         * error.c (dump_expr): Print type of CONSTRUCTOR.
119
120 2012-01-05  Dodji Seketeli  <dodji@redhat.com>
121
122         PR c++/51541
123         * parser.c (cp_parser_alias_declaration): Get out early upon
124         errors in the identifier or the attributes.
125
126 2012-01-04  Paolo Carlini  <paolo.carlini@oracle.com>
127
128         PR c++/51064
129         * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
130         the tree returned by build_x_binary_op.
131
132 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
133
134         PR c++/51738
135         * parser.c (cp_parser_postfix_open_square_expression): Handle
136         postfix-expression [ braced-init-list ].
137
138 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
139
140         PR c++/29273
141         * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
142         call decay_conversion on v.
143
144 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
145
146         PR c++/15867
147         * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
148         declaration followed by specialization.
149
150 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
151
152         PR c++/51669
153         * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
154         on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
155
156 2012-01-02  Jason Merrill  <jason@redhat.com>
157
158         DR 1359
159         PR c++/51675
160         * method.c (walk_field_subobs): Don't check for uninitialized
161         fields in a union.
162         (synthesized_method_walk): Check here.
163
164         DR 325
165         PR c++/51666
166         * parser.c (cp_parser_cache_defarg): Split out...
167         (cp_parser_parameter_declaration): ...from here.
168         (cp_parser_save_nsdmi): Use it.
169         (cp_parser_cache_group): Remove CPP_COMMA support.
170
171 2012-01-02  Dodji Seketeli  <dodji@redhat.com>
172
173         PR c++/51462
174         * semantics.c (cx_check_missing_mem_inits): Don't assert in case
175         of error.
176
177 2012-01-02  Paolo Carlini  <paolo.carlini@oracle.com>
178
179         PR c++/20140
180         * typeck2.c (digest_init_r): Use copy_init when initializing
181         an array of chars.
182
183 2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
184
185         PR c++/16603
186         * decl.c (build_enumerator): Don't call perform_integral_promotions
187         on the value.
188
189 2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
190
191         PR c++/51379
192         * typeck.c (build_reinterpret_cast_1): Implement resolution of
193         DR 799.
194
195 2012-01-01  Fabien ChĂȘne  <fabien@gcc.gnu.org>
196
197         * parser.c (cp_parser_using_declaration): Add a warning about
198         deprecated access declarations when no errors were encountered
199         while parsing the access declaration. Save the first token in
200         order to emit the warning at the right place.
201 \f
202 Copyright (C) 2012 Free Software Foundation, Inc.
203
204 Copying and distribution of this file, with or without modification,
205 are permitted in any medium without royalty provided the copyright
206 notice and this notice are preserved.