OSDN Git Service

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