OSDN Git Service

PR c++/52521
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
1 2012-03-07  Jason Merrill  <jason@redhat.com>
2
3         PR c++/52521
4         * mangle.c (write_literal_operator_name): The length comes after the
5         operator prefix.
6
7 2012-02-29  Jason Merrill  <jason@redhat.com>
8
9         PR c++/51930
10         * decl.c (check_tag_decl): Move warning for misplaced attributes here.
11         (shadow_tag): From here.
12         * parser.c (cp_parser_explicit_instantiation): Don't warn here.
13
14 2012-02-21  Jakub Jelinek  <jakub@redhat.com>
15
16         PR c++/52312
17         * typeck.c (check_literal_operator_args): Initialize *long_double_p
18         and *long_long_unsigned_p even if processing_template_decl.
19
20 2012-02-16  Jason Merrill  <jason@redhat.com>
21
22         PR c++/52248
23         * decl.c (define_label): Use timevar_cond_start/stop.
24
25 2012-02-16  Fabien ChĂȘne  <fabien@gcc.gnu.org>
26
27         PR c++/52126
28         * decl.c (xref_basetypes): call dependent_scope_p instead of
29         dependent_type_p.
30
31 2012-02-16  Jason Merrill  <jason@redhat.com>
32
33         PR c++/51415
34         * error.c (dump_expr): Handle lambda closures specifically.
35
36 2012-02-14  Jason Merrill  <jason@redhat.com>
37
38         * parser.c (cp_parser_explicit_instantiation): Give a warning
39         for ignored attributes on explicit class instantiation.
40
41 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
42
43         PR c++/52247
44         * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
45         lookup_label on label's name and set TREE_USED.
46
47 2012-02-14  Jason Merrill  <jason@redhat.com>
48
49         PR c++/39055
50         * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
51
52 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
53
54         PR c/52181
55         * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
56         newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
57
58 2012-02-07  Jason Merrill  <jason@redhat.com>
59
60         PR c++/51675
61         * semantics.c (cx_check_missing_mem_inits): Handle unions.
62         Fix constexpr default constructor logic.
63
64         PR c++/52035
65         * pt.c (tsubst): Strip uninstantiated typedef.
66
67 2012-02-06  Jason Merrill  <jason@redhat.com>
68
69         PR c++/52088
70         * cvt.c (build_expr_type_conversion): Check for template conversion.
71
72 2012-01-31  Jason Merrill  <jason@redhat.com>
73
74         PR c++/52043
75         * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
76         * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
77         (tsubst_pack_expansion): Check it.
78
79 2012-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
80
81         PR c++/51327
82         * class.c (explain_non_literal_class): Correctly handle implicitly
83         deleted constructors.
84
85 2012-01-27  Jakub Jelinek  <jakub@redhat.com>
86
87         PR c++/51852
88         * pt.c (tsubst_pack_expansion): Delete and restore
89         local_specialization whenever need_local_specialization, not just
90         when saved_local_specializations is non-NULL.
91
92 2012-01-26  Paolo Carlini  <paolo.carlini@oracle.com>
93
94         PR c++/51370
95         * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
96         as TREE_OPERAND (t, 1).
97
98 2012-01-24  Jason Merrill  <jason@redhat.com>
99
100         PR c++/51917
101         * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
102
103         PR c++/51973
104         * tree.c (called_fns_equal): Check template args.
105         (cp_tree_equal): Call it.
106
107 2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
108             Patrick Marlier  <patrick.marlier@gmail.com>
109
110         PR c++/51928
111         * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
112         thunk for set_one_vmethod_tm_attributes.
113
114 2012-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
115
116         PR c++/51223
117         * call.c (build_over_call): Check for error_mark_node as
118         TREE_VALUE when default arguments are processed.
119
120 2012-01-23  Jason Merrill  <jason@redhat.com>
121
122         PR c++/51930
123         * decl2.c (determine_visibility): Check for visibility attribute
124         on template specialization.
125
126 2012-01-23  Paolo Carlini  <paolo.carlini@oracle.com>
127
128         PR c++/51398
129         * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
130
131 2012-01-23  Jason Merrill  <jason@redhat.com>
132
133         PR c++/51925
134         * class.c (add_method): Set OVL_USED for using-decls.
135         * tree.c (ovl_scope): New.
136         * cp-tree.h: Declare it.
137         * parser.c (cp_parser_template_name): Use it.
138         * semantics.c (baselink_for_fns): Likewise.
139         * name-lookup.c (set_inherited_value_binding_p): Likewise.
140
141 2012-01-20  Paolo Carlini  <paolo.carlini@oracle.com>
142
143         PR c++/51402
144         * pt.c (lookup_template_class_1): Check context returned by
145         tsubst for error_mark_node.
146
147 2012-01-19  Kai Tietz  <ktietz@redhat.com>
148
149         PR c++/51344
150         * decl2.c (save_template_attributes): Use merge_attributes
151         instead of chaining up via TREE_CHAIN.
152
153 2012-01-19  Jason Merrill  <jason@redhat.com>
154
155         PR c++/51889
156         * class.c (finish_struct): Call add_method here for function usings.
157         * semantics.c (finish_member_declaration): Not here.
158
159 2012-01-18  Paolo Carlini  <paolo.carlini@oracle.com>
160
161         PR c++/51225
162         * typeck2.c (store_init_value): Within a template guard
163         cxx_constant_value with require_potential_constant_expression.
164         * pt.c (convert_nontype_argument): Likewise.
165
166 2012-01-16  Jakub Jelinek  <jakub@redhat.com>
167
168         PR c++/51854
169         * mangle.c (write_template_arg_literal): Handle complex.
170
171 2012-01-16  Jason Merrill  <jason@redhat.com>
172
173         PR c++/51827
174         * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
175
176         PR c++/51868
177         * typeck.c (build_static_cast_1): Handle bit-fields properly.
178
179 2012-01-13  Ian Lance Taylor  <iant@google.com>
180
181         PR c++/50012
182         * typeck.c (enum_cast_to_int): New static function.
183         (cp_build_binary_op): When handling warn_sign_compare, don't test
184         for TREE_NO_WARNING.  Do call enum_cast_to_int.
185         * call.c (avoid_sign_compare_warnings): Remove static function.
186         (build_new_op_1): Don't call avoid_sign_compare_warnings.
187
188 2012-01-13  Steven Bosscher  <steven@gcc.gnu.org>
189
190         * decl2.c: Do not include tree-mudflap.h
191         * semantics.c: Likewise.
192
193 2012-01-13  Jason Merrill  <jason@redhat.com>
194
195         PR c++/20681
196         * semantics.c (finish_break_stmt): Avoid adding an unreachable
197         BREAK_STMT.
198
199         PR c++/51813
200         * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
201         when reducing the visibility.
202
203         PR c++/51620
204         * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
205
206 2012-01-12  Jason Merrill  <jason@redhat.com>
207
208         PR c++/51714
209         * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
210         value-dependent.
211
212 2012-01-13  Dodji Seketeli  <dodji@redhat.com>
213
214         PR c++/51633
215         * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
216         Set the pointer to the last block of the constructor to the
217         current statement.
218         (build_constexpr_constructor_member_initializers): Get
219         build_data_member_initialization a chance to deal with more
220         statements before we choke.
221
222 2012-01-12  Jason Merrill  <jason@redhat.com>
223
224         PR c++/48051
225         * mangle.c (write_expression): Mangle BASELINK scope if
226         BASELINK_QUALIFIED_P.
227         * search.c (adjust_result_of_qualified_name_lookup): Set
228         BASELINK_QUALIFIED_P.
229         * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
230         * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
231         adjust_result_of_qualified_name_lookup for non-qualified names.
232
233         PR c++/51403
234         * pt.c (unify): Handle error_mark_node.
235
236 2012-01-11  Jason Merrill  <jason@redhat.com>
237
238         PR c++/51565
239         * call.c (standard_conversion): For ptrmemfuncs, compare the
240         static_fn_types.
241
242         PR c++/51818
243         * mangle.c (find_substitution): A type is only a substitution
244         match if we're looking for a type.
245         (write_nested_name): Use decl_mangling_context.
246
247         * decl.c (decls_match): Assert that the arguments are decls.
248
249         PR c++/51613
250         * pt.c (resolve_overloaded_unification): Compare types with
251         same_type_p, not decls_match.
252
253 2012-01-10  Jason Merrill  <jason@redhat.com>
254
255         PR c++/51614
256         * class.c (build_base_path): Diagnose ambiguous base.
257
258         PR c++/51433
259         * semantics.c (cxx_eval_call_expression): Always retry previously
260         non-constant expressions.
261
262 2012-01-06  Jason Merrill  <jason@redhat.com>
263
264         DR 686
265         PR c++/47450
266         * parser.c (cp_parser_new_expression): Set
267         type_definition_forbidden_message.
268
269         PR c++/6057
270         PR c++/48051
271         PR c++/50855
272         PR c++/51322
273         * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
274         THROW_EXPR, CONSTRUCTOR, OVERLOAD.  Fix PREINCREMENT_EXPR and
275         PREDECREMENT_EXPR.
276         (write_template_arg): Fix mangling of class-scope functions and
277         argument packs.
278         (mangle_decl): Update suggested -fabi-version argument.
279         * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
280         DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
281         * tree.c (dependent_name): No longer static.
282         * cp-tree.h: Declare it.
283         * pt.c (unify): Defer handling of unconverted functions.
284
285         * mangle.c (mangle_decl): Don't generate mangling aliases
286         for maybe-in-charge [cd]tors.
287
288         * error.c (dump_expr): Print type of CONSTRUCTOR.
289
290 2012-01-05  Dodji Seketeli  <dodji@redhat.com>
291
292         PR c++/51541
293         * parser.c (cp_parser_alias_declaration): Get out early upon
294         errors in the identifier or the attributes.
295
296 2012-01-04  Paolo Carlini  <paolo.carlini@oracle.com>
297
298         PR c++/51064
299         * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
300         the tree returned by build_x_binary_op.
301
302 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
303
304         PR c++/51738
305         * parser.c (cp_parser_postfix_open_square_expression): Handle
306         postfix-expression [ braced-init-list ].
307
308 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
309
310         PR c++/29273
311         * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
312         call decay_conversion on v.
313
314 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
315
316         PR c++/15867
317         * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
318         declaration followed by specialization.
319
320 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
321
322         PR c++/51669
323         * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
324         on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
325
326 2012-01-02  Jason Merrill  <jason@redhat.com>
327
328         DR 1359
329         PR c++/51675
330         * method.c (walk_field_subobs): Don't check for uninitialized
331         fields in a union.
332         (synthesized_method_walk): Check here.
333
334         DR 325
335         PR c++/51666
336         * parser.c (cp_parser_cache_defarg): Split out...
337         (cp_parser_parameter_declaration): ...from here.
338         (cp_parser_save_nsdmi): Use it.
339         (cp_parser_cache_group): Remove CPP_COMMA support.
340
341 2012-01-02  Dodji Seketeli  <dodji@redhat.com>
342
343         PR c++/51462
344         * semantics.c (cx_check_missing_mem_inits): Don't assert in case
345         of error.
346
347 2012-01-02  Paolo Carlini  <paolo.carlini@oracle.com>
348
349         PR c++/20140
350         * typeck2.c (digest_init_r): Use copy_init when initializing
351         an array of chars.
352
353 2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
354
355         PR c++/16603
356         * decl.c (build_enumerator): Don't call perform_integral_promotions
357         on the value.
358
359 2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
360
361         PR c++/51379
362         * typeck.c (build_reinterpret_cast_1): Implement resolution of
363         DR 799.
364
365 2012-01-01  Fabien ChĂȘne  <fabien@gcc.gnu.org>
366
367         * parser.c (cp_parser_using_declaration): Add a warning about
368         deprecated access declarations when no errors were encountered
369         while parsing the access declaration. Save the first token in
370         order to emit the warning at the right place.
371 \f
372 Copyright (C) 2012 Free Software Foundation, Inc.
373
374 Copying and distribution of this file, with or without modification,
375 are permitted in any medium without royalty provided the copyright
376 notice and this notice are preserved.