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