]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/cp/ChangeLog
Scan for parallelization of the oacc kernels test-cases in gfortran.dg/goacc
[thirdparty/gcc.git] / gcc / cp / ChangeLog
CommitLineData
6b37bdaf
PP
12016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
2
3 PR c/70436
4 * cp-tree.h (FOR_EACH_CLONE): Restructure macro to avoid
5 potentially generating a future -Wparentheses warning in its
6 callers.
7
469abfd2
JM
82016-04-06 Jason Merrill <jason@redhat.com>
9
10 * class.c (check_abi_tags): Fix function template handling.
11
c08d28ac
NS
122016-04-05 Nathan Sidwell <nathan@acm.org>
13
14 PR c++/70512
15 * class.c (fixup_may_alias): New.
16 (fixup_attribute_variants): Call it.
17
c0daf32d
PP
182016-04-05 Patrick Palka <ppalka@gcc.gnu.org>
19
20 PR c++/70452
21 * constexpr.c (struct fundef_copy): New struct.
22 (struct fundef_copies_table_t): New struct.
23 (fundef_copies_table): New static variable.
24 (maybe_initialize_fundef_copies_table): New static function.
25 (get_fundef_copy): New static function.
26 (save_fundef_copy): New static function.
27 (cxx_eval_call_expression): Use get_fundef_copy, and
28 save_fundef_copy.
29 (constexpr_call_table): Add "deletable" GTY marker.
30
7a7ac32a
PP
312016-04-05 Patrick Palka <ppalka@gcc.gnu.org>
32
33 PR c++/70452
34 * cp-tree.h (class cache_map): Remove.
35 * constexpr.c (cv_cache): Change type to
36 GTY((deletable)) hash_map<tree, tree> *.
37 (maybe_constant_value): Adjust following the change to cv_cache.
38 (clear_cv_cache): New static function.
39 (clear_cv_and_fold_caches): Use it.
40 * cp-gimplify.c (fold_cache): Change type to
41 GTY((deletable)) hash_map<tree, tree> *.
42 (clear_fold_cache): Adjust following the change to fold_cache.
43 (cp_fold): Likewise.
44
abdc16c8
MS
452016-04-02 Martin Sebor <msebor@redhat.com>
46
47 PR c++/67376
48 PR c++/70170
49 PR c++/70172
50 PR c++/70228
51 * constexpr.c (diag_array_subscript): New function.
52 (cxx_eval_array_reference): Detect out of bounds array indices.
53
ddd6d421
JM
542016-04-01 Jason Merrill <jason@redhat.com>
55
56 PR c++/70449
57 PR c++/70344
58 * pt.c (instantiate_decl): A function isn't fully defined if
59 DECL_INITIAL is error_mark_node.
60 * constexpr.c (cxx_eval_call_expression): Likewise.
61
0f875435
JJ
622016-04-01 Jakub Jelinek <jakub@redhat.com>
63 Marek Polacek <polacek@redhat.com>
64
65 PR c++/70488
66 * init.c (warn_placement_new_too_small): Test whether
67 DECL_SIZE_UNIT or TYPE_SIZE_UNIT are integers that fit into uhwi.
68
f9bf89bb
NS
692016-04-01 Nathan Sidwell <nathan@acm.org>
70
71 PR c++/68475
72 * decl.c (check_redeclaration_exception_specification): Check
73 regardless of -fno-exceptions.
74 * typeck2.c (merge_exception_specifiers): Relax assert by checking
75 flag_exceptions too.
76
8f80cbdb
NS
772016-03-31 Nathan Sidwell <nathan@acm.org>
78
79 * decl.c (start_preparsed_function): Remove unnecessary bracing.
80 (finish_destructor_body): Don't emit operator delete here.
81
88504f34
NS
822016-03-31 Nathan Sidwell <nathan@acm.org>
83
84 PR c++/70393
85 * constexpr.c (cxx_eval_store_expression): Keep CONSTRUCTOR
86 elements in field order.
87
5fde6a45
MP
882016-03-31 Marek Polacek <polacek@redhat.com>
89
90 PR c/70297
91 * decl.c (duplicate_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN.
92
efc3536f
RB
932016-03-31 Richard Biener <rguenther@suse.de>
94
95 PR c++/70430
96 * typeck.c (cp_build_binary_op): Fix operand order of vector
97 conditional in truth op handling.
98
e0bffbbb
JM
992016-03-29 Jason Merrill <jason@redhat.com>
100
101 PR c++/70353
102 * decl.c (make_rtl_for_nonlocal_decl): Don't defer local statics
103 in constexpr functions.
104
bfec0b4d
JM
1052016-03-28 Jason Merrill <jason@redhat.com>
106
107 PR c++/70422
108 PR c++/64266
109 PR c++/70353
110 * decl.c, pt.c, constexpr.c: Revert last patch.
111
d7796e23
JM
1122016-03-25 Jason Merrill <jason@redhat.com>
113 Martin Liška <mliska@suse.cz>
114
115 PR c++/64266
116 PR c++/70353
117 Core issue 1962
118 * decl.c (cp_fname_init): Decay the initializer to pointer.
119 (cp_make_fname_decl): Set DECL_DECLARED_CONSTEXPR_P,
120 DECL_VALUE_EXPR, DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.
121 Don't call cp_finish_decl.
122 * pt.c (tsubst_expr) [DECL_EXPR]: Set DECL_VALUE_EXPR,
123 DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P. Don't call cp_finish_decl.
124 * constexpr.c (cxx_eval_constant_expression) [VAR_DECL]:
125 Handle DECL_VALUE_EXPR.
126
52228180
JM
1272016-03-24 Jason Merrill <jason@redhat.com>
128
8a29084d
JM
129 PR c++/70386
130 * constexpr.c (cxx_eval_bare_aggregate): Handle PMFs.
131
52228180
JM
132 PR c++/70323
133 * constexpr.c (cxx_eval_call_expression): Don't cache result if
134 *overflow_p.
135
887ab4e5
PP
1362016-03-24 Patrick Palka <ppalka@gcc.gnu.org>
137
138 PR c++/62212
139 * tree.c (build_cplus_array_type): Determine type-dependentess
140 with uses_template_parms instead of with dependent_type_p.
141
426b9428
PP
1422016-03-23 Patrick Palka <ppalka@gcc.gnu.org>
143
144 PR c++/70347
145 * typeck.c (process_init_constructor_union): If the initializer
146 is empty, use the union's NSDMI if it has one.
147
cd1588c4
PP
1482016-03-23 Patrick Palka <ppalka@gcc.gnu.org>
149
150 PR c++/70332
151 * pt.c (tsubst_copy) [PARM_DECL]: Handle the use of 'this' in an
152 NSDMI that's part of an aggregrate initialization.
153
04833609
JJ
1542016-03-23 Jakub Jelinek <jakub@redhat.com>
155
928af3bf
JJ
156 PR c++/70001
157 * constexpr.c (cxx_eval_vec_init_1): Reuse CONSTRUCTOR initializers
158 for 1..max even for multi-dimensional arrays. Call unshare_expr
159 on it.
160
61637db3
JJ
161 PR c++/70323
162 * constexpr.c (cxx_eval_constant_expression): Diagnose overflow
163 on TREE_OVERFLOW constants.
164
04833609
JJ
165 PR c++/70376
166 * cp-gimplify.c (genericize_omp_for_stmt): Don't walk OMP_FOR_CLAUSES
167 for OMP_TASKLOOP here.
168 (cp_genericize_r): Handle OMP_TASKLOOP like OMP_TASK, except do call
169 genericize_omp_for_stmt instead of cp_walk_tree on OMP_BODY.
170
05aca4e7
AO
1712016-03-23 Alexandre Oliva <aoliva@redhat.com>
172 Jason Merrill <jason@redhat.com>
173 Jakub Jelinek <jakub@redhat.com>
174
175 PR c++/69315
176 * cp-tree.h (defer_mark_used_calls, deferred_mark_used_calls): Remove.
177 * decl.c (defer_mark_used_calls, deferred_mark_used_calls): Remove.
178 (finish_function): Don't set or test them.
179 * decl2.c (mark_used): Don't handle defer_mark_used_calls.
180
96a4ef9d
JM
1812016-03-23 Jason Merrill <jason@redhat.com>
182
183 PR c++/70344
184 * constexpr.c (cxx_eval_call_expression): Catch invalid recursion.
185
fbdb6baf
MP
1862016-03-23 Marek Polacek <polacek@redhat.com>
187
188 PR c++/69884
189 * pt.c (canonicalize_type_argument): Use OPT_Wignored_attributes.
190
6cedf922
IE
1912016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
192
193 * call.c (build_conditional_expr_1): Always use original
194 condition type for vector type checks and build.
195
16f6d7dc
PP
1962016-03-22 Patrick Palka <ppalka@gcc.gnu.org>
197
198 PR c++/70096
199 * pt.c (tsubst_decl): Clear the DECL_MODE of the new decl.
200
a3e2b438
PP
2012016-03-22 Patrick Palka <ppalka@gcc.gnu.org>
202
203 PR c++/70204
204 * constexpr.c (non_const_var_error): Check
205 DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.
206
ad779205
RH
2072016-03-21 Richard Henderson <rth@redhat.com>
208
209 PR c++/70273
210 * decl.c (notice_forced_label_r): New.
211 (cp_finish_decl): Use it.
212
683b8101
JM
2132016-03-21 Jason Merrill <jason@redhat.com>
214
215 PR c++/70285
216 * cp-gimplify.c (cp_fold) [COND_EXPR]: Handle bit-fields.
217
eb0dbdc7
JM
2182016-03-18 Jason Merrill <jason@redhat.com>
219
86461cad
JM
220 PR c++/70139
221 * constexpr.c (cxx_eval_call_expression): Fix trivial copy.
222
b5a28d80
JM
223 PR c++/70147
224 * class.c (vptr_via_virtual_p): New.
225 (most_primary_binfo): Factor out of build_rtti_vtbl_entries.
226 * cp-ubsan.c (cp_ubsan_dfs_initialize_vtbl_ptrs): Don't clear
227 a vptr from any virtual base in a not-in-charge 'structor.
228
bf08acda
JM
229 * decl.c (build_clobber_this): Factor out of
230 start_preparsed_function and begin_destructor_body. Handle
231 virtual bases better.
232
eb0dbdc7
JM
233 * class.c (build_if_in_charge): Split out from build_base_path.
234 * init.c (expand_virtual_init, expand_default_init): Use it.
235 * call.c (build_special_member_call): Use it.
236
dd125026
JJ
2372016-03-18 Jakub Jelinek <jakub@redhat.com>
238
239 PR c++/70267
240 * init.c (build_new_1): Complain and return error_mark_node
241 if alloc_fn is not _Jv_AllocObject function returning pointer.
242
91914f0a
PP
2432016-03-18 Patrick Palka <ppalka@gcc.gnu.org>
244
245 PR c++/70205
246 * search.c (adjust_result_of_qualified_name_lookup): Don't
247 update the BASELINK_BINFO of DECL if the second call
248 to lookup_base fails.
249
753a8910
PP
2502016-03-18 Patrick Palka <ppalka@gcc.gnu.org>
251
252 PR c++/70218
253 * parser.c (cp_parser_lambda_expression): Move call to
254 pop_deferring_access_checks ahead of the call to
255 cp_parser_end_tentative_firewall.
256
a3aad0e6
JJ
2572016-03-17 Jakub Jelinek <jakub@redhat.com>
258
17366700
JJ
259 PR c++/70144
260 * cp-tree.h (magic_varargs_p): Return int instead of bool.
261 * call.c (magic_varargs_p): Return int instead of bool, return 2 for
262 Cilk+ reductions, otherwise 1 for magic varargs and 0 for normal
263 varargs.
264 (build_over_call): If magic_varargs_p == 2, call reject_gcc_builtin,
265 if magic_varargs_p == 1, call decay_conversion
266 instead of mark_type_use. Don't store error_mark_node arguments to
267 argarray, instead return error_mark_node.
268
a3aad0e6
JJ
269 PR c++/70272
270 * decl.c (begin_destructor_body): Don't insert clobber if
271 is_empty_class (current_class_type).
272
b1970801
MP
2732016-03-17 Marek Polacek <polacek@redhat.com>
274
275 PR c++/70194
276 * typeck.c (warn_for_null_address): New function.
277 (cp_build_binary_op): Call it.
278
c5e003cf
JM
2792016-03-16 Jason Merrill <jason@redhat.com>
280
281 PR c++/70259
282 * decl.c (start_preparsed_function): Don't clobber an empty base.
283
1935f250
JJ
2842016-03-16 Jakub Jelinek <jakub@redhat.com>
285
6651c93e
JJ
286 PR c++/70147
287 * cp-ubsan.c (cp_ubsan_dfs_initialize_vtbl_ptrs): Conditionalize
288 BINFO_VIRTUAL_P vtable clearing on current_in_charge_parm.
289
1935f250
JJ
290 PR c++/70147
291 * cp-ubsan.c (cp_ubsan_maybe_initialize_vtbl_ptrs): Temporarily
292 set in_base_initializer.
293
42c729c5
MP
2942016-03-15 Marek Polacek <polacek@redhat.com>
295
296 PR c++/70209
297 * tree.c (strip_typedefs): Call strip_typedefs again on the
298 DECL_ORIGINAL_TYPE result.
299
3f91db69
JM
3002016-03-15 Jason Merrill <jason@redhat.com>
301
d1ccf407
JM
302 PR c++/70095
303 * pt.c (instantiate_decl): Fix call to variable_template_p.
304
3f91db69
JM
305 PR c++/70141
306 * pt.c (for_each_template_parm_r): Always walk into TYPENAME_TYPE.
307
598a208c
CC
3082016-03-14 Casey Carter <casey@carter.net>
309 Jason Merrill <jason@redhat.com>
310
08a1cadc 311 P0184R0: Generalizing the Range-Based For Loop
598a208c
CC
312 * parser.c (cp_convert_range_for): Set the type of __end separately.
313 (cp_parser_perform_range_for_lookup): Allow different begin/end
314 types if they are comparable.
315
3f1e5d3a
PP
3162016-03-12 Patrick Palka <ppalka@gcc.gnu.org>
317
318 PR c++/70106
319 * semantics.c (force_paren_expr): Just build a PAREN_EXPR when
320 processing_template_decl and EXPR is a SCOPE_REF.
321
b87a8d7d
PP
3222016-03-10 Patrick Palka <ppalka@gcc.gnu.org>
323 Jakub Jelinek <jakub@redhat.com>
324
325 PR c++/70001
326 * constexpr.c (cxx_eval_vec_init_1): For pre_init case, reuse
327 return value from cxx_eval_constant_expression from earlier
328 elements if it is valid constant initializer requiring no
329 relocations.
330
d49b0aa0
MP
3312016-03-10 Marek Polacek <polacek@redhat.com>
332
333 PR c++/70153
334 * cp-gimplify.c (cp_fold): Handle UNARY_PLUS_EXPR.
335
96b3c82d
CP
3362016-03-09 Cesar Philippidis <cesar@codesourcery.com>
337
338 * parser.c (cp_parser_oacc_loop): Update cclauses and clauses
339 when calling c_finish_omp_clauses.
340
1e546b68
JM
3412016-03-08 Jason Merrill <jason@redhat.com>
342
80aac5c8
JM
343 * parser.c (cp_parser_diagnose_invalid_type_name): Give helpful
344 diagnostic for use of "concept".
345 (cp_parser_requires_clause_opt): And "requires".
346 (cp_parser_type_parameter, cp_parser_late_return_type_opt)
347 (cp_parser_explicit_template_declaration): Adjust.
348 * Make-lang.in (check-c++-all): Add "concepts" to std list.
349
1e546b68
JM
350 P0036R0: Unary Folds and Empty Parameter Packs
351 * pt.c (expand_empty_fold): Remove special cases for *,+,&,|.
352
56aae4b7
JJ
3532016-03-08 Jakub Jelinek <jakub@redhat.com>
354
d259b234
JJ
355 PR c++/70135
356 * constexpr.c (cxx_eval_loop_expr): Forget saved values of SAVE_EXPRs
357 even after the last iteration of the loop.
358
56aae4b7
JJ
359 * decl.c (duplicate_decls): Fix spelling - becuase -> because.
360
dbb23418
PP
3612016-03-07 Patrick Palka <ppalka@gcc.gnu.org>
362
363 PR c++/66786
364 * pt.c (get_template_info): Handle PARM_DECL.
365 (template_class_depth): Check DECL_P instead of
366 VAR_OR_FUNCTION_DECL_P.
367
d96e8407
JM
3682016-03-05 Jason Merrill <jason@redhat.com>
369
370 PR c++/67364
371 * constexpr.c (cxx_eval_store_expression): Replace
372 CONSTRUCTOR_ELTS in nested CONSTRUCTORs, too.
373
7a3a3fad
PP
3742016-03-05 Patrick Palka <ppalka@gcc.gnu.org>
375
376 PR c++/66786
377 * pt.c (template_class_depth): Given a lambda type, iterate
378 into its LAMBDA_TYPE_EXTRA_SCOPE field instead of its
379 TYPE_CONTEXT. Given a VAR_DECL, iterate into its
380 CP_DECL_CONTEXT.
381
d5bcd6d4
JM
3822016-03-04 Jason Merrill <jason@redhat.com>
383
384 PR c++/69203
385 * cp-tree.h (COND_EXPR_IS_VEC_DELETE): New.
386 * init.c (build_vec_delete_1): Set it.
387 * constexpr.c (potential_constant_expression_1) [COND_EXPR]: Check it.
388
0c8825de
JJ
3892016-03-04 Jakub Jelinek <jakub@redhat.com>
390
411d61c4
JJ
391 * decl.c (start_preparsed_function): Don't emit start clobber at the
392 start of constructor clones.
393
0c8825de
JJ
394 PR c++/70035
395 * cp-tree.h (cp_ubsan_maybe_initialize_vtbl_ptrs): New prototype.
396 * decl.c (start_preparsed_function): Call
397 cp_ubsan_maybe_initialize_vtbl_ptrs if needed.
398 * cp-ubsan.c (cp_ubsan_dfs_initialize_vtbl_ptrs,
399 cp_ubsan_maybe_initialize_vtbl_ptrs): New functions.
400
b54eff8b
JM
4012016-03-04 Jason Merrill <jason@redhat.com>
402
188e53bd
JM
403 PR c++/67364
404 * constexpr.c (cxx_eval_component_reference): Further tweak.
405
39dce2b7
JM
406 * constexpr.c (struct constexpr_ctx): Add save_exprs field.
407 (cxx_eval_loop_expr): Discard SAVE_EXPR values before looping.
408 (cxx_eval_constant_expression) [SAVE_EXPR]: Add it to the set.
409 (cxx_eval_outermost_constant_expr, is_sub_constant_expr): Initialize.
410
b54eff8b
JM
411 PR c++/70067
412 * tree.c (strip_typedefs): Handle TYPENAME_TYPE lookup finding the
413 same type.
414
639475f0
JM
4152016-03-03 Jason Merrill <jason@redhat.com>
416
b47d1d90
JM
417 * method.c (synthesized_method_walk): operator= can also be constexpr.
418
a0a6a8c9
JM
419 * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Get
420 LAMBDA_EXPR_RETURN_TYPE from the instantiated closure.
421
264fd142
JM
422 PR c++/67164
423 * pt.c (copy_template_args): New.
424 (tsubst_pack_expansion): Use it.
425
45c3e69b
JM
426 * call.c (build_aggr_conv): Use get_nsdmi.
427
16dc6b17
JM
428 PR c++/51406
429 * typeck.c (build_static_cast_1): Avoid folding back to lvalue.
430
639475f0
JM
431 PR c++/67364
432 * constexpr.c (cxx_eval_component_reference): Just return an empty
433 CONSTRUCTOR for an empty class.
434
7f0e23e9
JM
4352016-03-01 Jason Merrill <jason@redhat.com>
436
5c969cb8
JM
437 PR c++/70036
438 * parser.c (cp_parser_requires_clause): Call
439 check_for_bare_parameter_packs.
440
c8a66fc9
JM
441 PR c++/51489
442 * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
443 the operands.
444
7f0e23e9
JM
445 PR c++/69995
446 * constexpr.c (cxx_eval_call_expression): Unshare arg.
447 (cxx_eval_constant_expression) [DECL_EXPR]: Unshare init.
448 [TARGET_EXPR]: Unshare init.
449
76d881bf
PP
4502016-03-01 Patrick Palka <ppalka@gcc.gnu.org>
451
452 PR c++/68948
453 PR c++/69961
454 * pt.c (tsubst_baselink): Reinstate the check for an invalid
455 constructor call.
456
7574c916
JM
4572016-02-28 Jason Merrill <jason@redhat.com>
458
459 PR c++/69995
460 * constexpr.c (cxx_eval_store_expression): Unshare init.
461
56cde077
JM
4622016-02-26 Jason Merrill <jason@redhat.com>
463
464 PR c++/69958
465 * pt.c (make_argument_pack): New.
466 (tsubst_copy) [SIZEOF_EXPR]: Handle partial expansion.
467 (tsubst_copy_and_build): Likewise.
468
6284a979
JM
4692016-02-25 Jason Merrill <jason@redhat.com>
470
8ba8c375
JM
471 PR c++/69889
472 * cp-tree.h (AGGR_INIT_FROM_THUNK_P): New.
473 * tree.c (build_aggr_init_expr): Set it.
474 * semantics.c (simplify_aggr_init_expr): Check it.
475 * cp-gimplify.c (cp_genericize_r): Don't walk into
476 a call/aggr_init from a thunk.
477
bd28a34f
JM
478 PR c++/69842
479 * method.c (forward_parm): Handle parameter packs.
480 * lambda.c (maybe_add_lambda_conv_op): Use it for them.
481
6a0cc1cd
JM
482 PR c++/67364
483 * constexpr.c (cxx_eval_component_reference): Don't complain about
484 unevaluated empty classes.
485
6284a979
JM
486 PR c++/68049
487 * tree.c (strip_typedefs): Use DECL_ORIGINAL_TYPE.
488
1137001c
PP
4892016-02-25 Patrick Palka <ppalka@gcc.gnu.org>
490
491 PR c++/69736
492 * cp-tree.h (REF_PARENTHESIZED_P): Adjust documentation.
493 (maybe_undo_parenthesized_ref): Declare.
494 * semantics.c (maybe_undo_parenthesized_ref): Split out from
495 check_return_expr.
496 (finish_call_expr): Use it.
497 * typeck.c (check_return_expr): Use it.
498 * pt.c (tsubst_copy_and_build) [INDIRECT_REF]: Retain the
499 REF_PARENTHESIZED_P flag.
500
03ca8fb3
JJ
5012016-02-24 Jakub Jelinek <jakub@redhat.com>
502
503 PR c++/69922
504 * class.c (build_base_path): Set TREE_NO_WARNING on the null_test.
505 Avoid folding it.
506 * init.c (build_vec_delete_1, build_delete): Don't fold the non-NULL
507 tests.
508 * cp-gimplify.c (cp_fold): For TREE_NO_WARNING comparisons with NULL,
509 unless they are folded into INTEGER_CST, error_mark_node or some
510 comparison with NULL, avoid folding them and use either the original
511 comparison or non-folded comparison of folded arguments.
512 * cp-ubsan.c (cp_ubsan_instrument_vptr): Set TREE_NO_WARNING on the
513 comparison, don't fold the comparison right away.
514
944e9f5f
JM
5152016-02-24 Jason Merrill <jason@redhat.com>
516
517 PR c++/69323
518 * friend.c (make_friend_class): Likewise.
519 * decl.c (lookup_and_check_tag): Diagnose invalid dependent friend.
520
b8599b68
JM
5212016-02-24 Jason Merrill <jason@redhat.com>
522
523 PR c++/69323
524 * pt.c (instantiate_class_template_1): Set
525 processing_template_decl before substituting friend_type.
526
3b96b93a
MS
527016-02-24 Martin Sebor <msebor@redhat.com>
528
529 PR c++/69912
530 * tree.c (build_ctor_subob_ref): Compare types' main variants
531 instead of the types as they are.
532
28577b86
JM
5332016-02-24 Jason Merrill <jason@redhat.com>
534
a021961c
JM
535 * decl.c (start_preparsed_function): Condition ctor clobber on
536 flag_lifetime_dse > 1.
537
28577b86
JM
538 * cp-gimplify.c (cp_fold): Don't fold constexpr calls if -fno-inline.
539
2207c599
JM
5402016-02-19 Jason Merrill <jason@redhat.com>
541
542 PR c++/69743
543 * call.c (remaining_arguments): No longer static.
544 * cp-tree.h: Declare it.
545 * pt.c (more_specialized_fn): Use it.
546
3a27b4db
JJ
5472016-02-19 Jakub Jelinek <jakub@redhat.com>
548 Bernd Edlinger <bernd.edlinger@hotmail.de>
549
550 * Make-lang.in: Invoke gperf with -L C++.
551 * cfns.gperf: Remove prototypes for hash and libc_name_p
552 inlines.
553 * cfns.h: Regenerated.
554 * except.c (nothrow_libfn_p): Adjust.
555
7a965d51
JJ
5562016-02-19 Jakub Jelinek <jakub@redhat.com>
557
558 PR c++/69850
559 * rtti.c (ifnonnull): Set TREE_NO_WARNING on the condition, use
560 NE_EXPR instead of EQ_EXPR and swap last two arguments on COND_EXPR.
561
200e869c
PP
5622016-02-19 Patrick Palka <ppalka@gcc.gnu.org>
563
564 PR c++/68948
565 * pt.c (tsubst_baselink): Don't diagnose an invalid constructor
566 call here.
567 * semantics.c (finish_call_expr): Don't assume a constructor
568 call is dependent if only the "this" pointer is dependent. When
569 building a constructor call, always use a dummy object.
570
19e21586
JJ
5712016-02-19 Jakub Jelinek <jakub@redhat.com>
572
03a616ac
JJ
573 PR c++/69850
574 * init.c (build_vec_delete_1): Set TREE_NO_WARNING on the NE_EXPR
575 condition.
576 * cp-gimplify.c (cp_fold): Propagate TREE_NO_WARNING from binary
577 operators if folding preserved the binop, just with different
578 arguments.
579
19e21586
JJ
580 PR c++/67767
581 * parser.c (cp_parser_std_attribute_spec_seq): Don't assume
582 attr_spec is always single element chain, chain all the attributes
583 properly together in the right order.
584
747b61fc
JM
5852016-02-18 Jason Merrill <jason@redhat.com>
586
587 * mangle.c (maybe_check_abi_tags): Add for_decl parm. Call
588 mangle_decl.
589 (mangle_decl): Call maybe_check_abi_tags for function scope.
590 (mangle_guard_variable): Call maybe_check_abi_tags here.
591 (write_guarded_var_name): Not here.
592
50ccdf5b
JM
5932016-02-17 Jason Merrill <jason@redhat.com>
594
fa837fb6
JM
595 PR c++/65985
596 * constexpr.c (build_constexpr_constructor_member_initializers):
597 Handle an additional STATEMENT_LIST.
598
bcb5f3c9
JM
599 PR c++/68585
600 * constexpr.c (cxx_eval_bare_aggregate): Fix 'changed' detection.
601
50ccdf5b
JM
602 PR c++/68679
603 * decl2.c (reset_type_linkage_2): Look through member templates.
604
932c0da4
JJ
6052016-02-17 Jakub Jelinek <jakub@redhat.com>
606
607 PR c++/69850
608 * init.c (build_delete): Set TREE_NO_WARNING on ifexp.
609
0f02dd56
JM
6102016-02-17 Jason Merrill <jason@redhat.com>
611
612 PR c++/69842
613 * method.c (forward_parm): Split out from...
614 (add_one_base_init): ...here.
615 * lambda.c (maybe_add_lambda_conv_op): Use it.
616
6bab4c63
JM
6172016-02-16 Jason Merrill <jason@redhat.com>
618
619 PR c++/10200
620 PR c++/69753
621 * call.c, cp-tree.h, name-lookup.c, pt.c, search.c, semantics.c,
622 tree.c, typeck2.c: Revert earlier changes.
623 * parser.c (cp_parser_lookup_name): Ignore namespace-scope
624 non-type templates after -> or .
625
bf14eba2
JJ
6262016-02-16 Jakub Jelinek <jakub@redhat.com>
627
628 PR c/69835
629 * typeck.c (cp_build_binary_op): Revert 2015-09-09 change.
630
7128d6ab
JM
6312016-02-16 Jason Merrill <jason@redhat.com>
632
633 PR c++/69657
634 * name-lookup.c (lookup_qualified_name): Add find_hidden parm.
635 (set_decl_namespace): Pass it. Complain about finding a hidden friend.
636 * name-lookup.h: Adjust.
637
ba539195
JN
6382016-02-16 James Norris <jnorris@codesourcery.com>
639
640 * parser.c (cp_parser_oacc_data_clause_deviceptr): Remove checking.
641 * semantics.c (finish_omp_clauses): Add deviceptr checking.
642
f0516ca4
JJ
6432016-02-15 Jakub Jelinek <jakub@redhat.com>
644
645 PR c++/69658
646 * init.c (expand_default_init): Only call reshape_init
647 in the direct-initialization from an initializer list case.
648
fe69277d
JM
6492016-02-15 Jason Merrill <jason@redhat.com>
650
2bd0a2d6
JM
651 PR c++/69753
652 * semantics.c (finish_call_expr): Implicit 'this' does not make
653 the call dependent.
654 * search.c (any_dependent_bases_p): Split out...
655 * name-lookup.c (do_class_using_decl): ...from here.
656 * call.c (build_new_method_call_1): Don't complain about missing object
657 if there are dependent bases. Tweak error.
658 * tree.c (non_static_member_function_p): Remove.
659 * pt.c (type_dependent_expression_p): A member template of a
660 dependent type is dependent.
661 * cp-tree.h: Adjust.
662
fe69277d
JM
663 PR c++/68890
664 * constexpr.c (verify_ctor_sanity): Remove CONSTRUCTOR_NELTS check.
665
38d795d2
PP
6662016-02-12 Patrick Palka <ppalka@gcc.gnu.org>
667
668 PR c++/69098
669 * pt.c (lookup_and_finish_template_variable): New function,
670 extracted from ...
671 (tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: ... here. Use it.
672 (tsubst_qualified_id): Consider that EXPR might be a variable
673 template.
674 * typeck.c (check_template_keyword): Don't emit an error
675 if DECL is a variable template.
676
9c582551
JJ
6772016-02-12 Jakub Jelinek <jakub@redhat.com>
678
679 * error.c: Spelling fixes - behaviour -> behavior and
680 neighbour -> neighbor.
681 * decl.c: Likewise.
682 * typeck.c (cp_build_binary_op): Fix up behavior spelling in
683 diagnostics.
684 * init.c (build_delete): Likewise.
685
66756373
JJ
6862016-02-11 Jakub Jelinek <jakub@redhat.com>
687
688 PR c/69768
689 * typeck.c (cp_build_binary_op): cp_fully_fold integer_zerop
690 arguments for -Waddress warning. Fix up formatting.
691
0d7d9458
PC
6922016-02-11 Paolo Carlini <paolo.carlini@oracle.com>
693
694 PR c++/68726
695 * pt.c (lookup_template_class_1): Check tsubst return value for
696 error_mark_node.
697
3a4219ca
JM
6982016-02-10 Jason Merrill <jason@redhat.com>
699
46f0d909
JM
700 PR c++/68926
701 * pt.c (resolve_nondeduced_context): Add complain parm.
702 (do_auto_deduction): Pass it.
703 * cvt.c (convert_to_void): Likewise.
704 * decl.c (cp_finish_decl): Likewise.
705 * init.c (build_new): Likewise.
706 * rtti.c (get_tinfo_decl_dynamic): Likewise.
707 * semantics.c (finish_decltype_type): Likewise.
708 * typeck.c (decay_conversion): Likewise.
709 * cp-tree.h: Adjust declaration.
710 * call.c (standard_conversion): Add complain parm, pass it along.
711 (implicit_conversion): Pass it.
712
89908c8f
JM
713 PR c++/69657
714 * name-lookup.c (ambiguous_decl): Call remove_hidden_names.
715 (lookup_name_real_1): Likewise.
716 (remove_hidden_names): Handle non-functions too.
717
ff2faafc
JM
718 PR c++/10200
719 * parser.c (cp_parser_lookup_name): When looking for a template
720 after . or ->, only consider class templates.
721 (cp_parser_postfix_dot_deref_expression): Handle the current
722 instantiation. Remember a dependent object expression.
723 * typeck2.c (build_x_arrow): Handle the current instantiation.
724
3a4219ca
JM
725 * ptree.c (debug_tree): Implement for cp_expr.
726
efb45a9f
PP
7272016-02-08 Patrick Palka <ppalka@gcc.gnu.org>
728
729 PR c++/69139
730 * parser.c (cp_parser_simple_type_specifier): Make the check
731 for disambiguating between an 'auto' placeholder and an implicit
732 template parameter more robust.
733
20a0c6f9
PP
7342016-02-08 Patrick Palka <ppalka@gcc.gnu.org>
735
736 PR c++/69283
737 PR c++/67835
738 * decl2.c (mark_used): When given a TEMPLATE_DECL, return after
739 setting its TREE_USED flag.
740
1374a761
JM
7412016-02-08 Jason Merrill <jason@redhat.com>
742
743 PR c++/69657
744 * name-lookup.c (do_nonmember_using_decl): Leave anticipated
745 built-ins alone.
746
f68bc23f
JJ
7472016-02-08 Jakub Jelinek <jakub@redhat.com>
748
749 PR c++/59627
750 * parser.c (cp_parser_omp_declare_reduction): Set assembler name
751 of the DECL_OMP_DECLARE_REDUCTION_P decls.
752
eba9e839
MP
7532016-02-08 Marek Polacek <polacek@redhat.com>
754
755 PR c++/69688
756 * constexpr.c (clear_cv_and_fold_caches): Renamed from clear_cv_cache.
757 Call clear_fold_cache.
758 * cp-tree.h: Adjust declaration.
759 * decl.c (finish_enum_value_list): Call clear_cv_and_fold_caches
760 rather than clear_cv_cache and clear_fold_cache.
761 * typeck2.c (store_init_value): Call clear_cv_and_fold_caches.
762
415594bb
JM
7632016-02-08 Jason Merrill <jason@redhat.com>
764
765 * cp-tree.h (CONV_FOLD, CONV_BACKEND_CONVERT): New.
766 * cvt.c (convert): Pass CONV_BACKEND_CONVERT.
767 (ocp_convert): Use *_maybe_fold.
768 (cp_convert_to_pointer): Add dofold parameter.
769 * cp-gimplify.c (cp_fold) [CONVERT_EXPR]: Call convert.
770
46cb9332
MS
7712016-02-05 Martin Sebor <msebor@redhat.com>
772
773 PR c++/69662
774 * init.c (find_field_init): New function.
775 (warn_placement_new_too_small): Call it. Handle one-element arrays
776 at ends of structures special.
777
0fd9d492
JM
7782016-02-05 Jason Merrill <jason@redhat.com>
779
780 PR c++/68948
781 * semantics.c (finish_expr_stmt): If expr is error_mark_node,
782 make sure we've seen_error().
783
76c85fbb
PP
7842016-02-05 Patrick Palka <ppalka@gcc.gnu.org>
785
786 PR c++/68948
787 * pt.c (tsubst_baselink): Diagnose an invalid constructor call
788 if lookup_fnfields returns NULL_TREE and the name being looked
789 up has the form A::A.
790
618d6c1c
PP
7912016-02-04 Patrick Palka <ppalka@gcc.gnu.org>
792
793 * constexpr.c (cxx_eval_binary_expression): Fold equality
794 comparisons involving PTRMEM_CSTs.
795
d1243d27
JJ
7962016-02-04 Jakub Jelinek <jakub@redhat.com>
797
798 * class.c (find_flexarrays): Don't declare dom variable.
799 (diagnose_flexarray): Likewise.
800
05dd97db
MS
8012016-02-02 Martain Sebor <msebor@redhat.com>
802
803 PR c++/69251
804 PR c++/69253
805 PR c++/69290
806 PR c++/69277
807 PR c++/69349
808 * class.c (walk_subobject_offsets): Avoid testing the upper bound
809 of a flexible array member for equality to null.
810 (find_flexarrays): Remove spurious whitespace introduced in r231665.
811 (diagnose_flexarrays): Avoid checking the upper bound of arrays.
812 (check_flexarrays): Same.
813 * decl.c (compute_array_index_type): Avoid special case for flexible
814 array members.
815 (grokdeclarator): Avoid calling compute_array_index_type for flexible
816 array members.
817 * error.c (dump_type_suffix): Revert changes introduced in r231665
818 and rendered unnecessary by the changes above.
819 * pt.c (tsubst): Same.
820 * tree.c (build_ctor_subob_ref): Handle flexible array members.
821 * typeck2.c (digest_init_r): Revert changes introduced in r231665.
822 (process_init_constructor_array): Same.
823 (process_init_constructor_record): Same.
824
ab4bae0c
PP
8252016-02-03 Patrick Palka <ppalka@gcc.gnu.org>
826
827 PR c++/69056
828 * pt.c (try_one_overload): Handle comparing argument packs so
829 that there is no conflict if we deduced more arguments of an
830 argument pack than were explicitly specified.
831
75a27d35
JJ
8322016-01-31 Jakub Jelinek <jakub@redhat.com>
833 Jason Merrill <jason@redhat.com>
834
835 PR c++/68763
836 * tree.c (strip_typedefs) [FUNCTION_TYPE]: Avoid building a new
837 function type if nothing is changing.
838
b676a079
JM
8392016-01-31 Jason Merrill <jason@redhat.com>
840
6978c505
JM
841 PR c++/69009
842 * pt.c (partial_specialization_p, impartial_args): New.
843 (instantiate_decl): Call impartial_args.
844
b1568582
JM
845 * mangle.c (maybe_check_abi_tags): New.
846 (write_guarded_var_name): Call it.
847 (mangle_ref_init_variable): Call check_abi_tags.
848
b676a079
JM
849 * pt.c (lookup_template_class_1): Don't share TYPE_ATTRIBUTES
850 between template and instantiation.
851
16b77b32
JJ
8522016-01-29 Jakub Jelinek <jakub@redhat.com>
853
854 PR debug/66869
855 * decl.c (wrapup_globals_for_namespace): Warn about unused static
856 function declarations.
857
5453bfed
MP
8582016-01-29 Marek Polacek <polacek@redhat.com>
859
860 PR c++/69509
861 PR c++/69516
862 * constexpr.c (cxx_eval_array_reference): Give the "array subscript
863 out of bound" error earlier.
864 * init.c (build_vec_init): Change NE_EXPR into GT_EXPR. Update the
865 commentary.
866
e9f69069
PP
8672016-01-29 Patrick Palka <ppalka@gcc.gnu.org>
868
869 * name-lookup.c (begin_scope): After reusing a cp_binding_level
870 structure, update free_binding_level before the structure's
871 level_chain field gets cleared, not after.
872
e448880c
JM
8732016-01-28 Jason Merrill <jason@redhat.com>
874
875 PR c++/67407
876 * search.c (dfs_walk_once, dfs_walk_once_r)
877 (dfs_walk_once_accessible_r, dfs_walk_once_accessible): Use
878 hash_set instead of BINFO_MARKED.
879 (dfs_unmark_r): Remove.
880
2b4f7b94
PP
8812016-01-28 Patrick Palka <ppalka@gcc.gnu.org>
882
883 PR c++/24208
884 * parser.c (LEXER_DEBUGGING_ENABLED_P): New macro.
885 (cp_lexer_debugging_p): Use it.
886 (cp_lexer_start_debugging): Likewise.
887 (cp_lexer_stop_debugging): Likewise.
888
fa74a4bc
MP
8892016-01-27 Marek Polacek <polacek@redhat.com>
890
891 PR c/68062
892 * typeck.c (cp_build_binary_op): Promote operand to unsigned, if
893 needed. Add -Wsign-compare warning.
894
5d70666e
RB
8952016-01-27 Ryan Burn <contact@rnburn.com>
896
897 PR cilkplus/69267
898 * cp-gimplify.c (cilk_cp_gimplify_call_params_in_spawned_fn): Removed
899 superfluous post_p argument in call to
900 cilk_gimplify_call_params_in_spawned_fn.
901
05bf54c3
MP
9022016-01-27 Marek Polacek <polacek@redhat.com>
903
904 PR c++/69379
905 * constexpr.c (cxx_eval_constant_expression): Handle PTRMEM_CSTs
906 wrapped in NOP_EXPRs.
907
60214d0d
MS
9082016-01-27 Martin Sebor <msebor@redhat.com>
909
910 PR c++/69317
911 * mangle.c (mangle_decl): Reference the correct (saved) version
912 of the ABI in -Wabi diagnostics.
913
95e3030c
MP
9142016-01-27 Marek Polacek <polacek@redhat.com>
915
916 PR c++/69496
917 * constexpr.c (cxx_eval_array_reference): Evaluate the number of
918 elements of the array.
919
ca30abcd
JM
9202016-01-26 Jason Merrill <jason@redhat.com>
921
922 PR c++/68949
923 * constexpr.c (register_constexpr_fundef): Keep the un-massaged body.
924 (cxx_eval_call_expression): Don't look through clones.
925 * optimize.c (maybe_clone_body): Clear DECL_SAVED_TREE of the alias.
926 * semantics.c (expand_or_defer_fn_1): Keep DECL_SAVED_TREE of
927 maybe-in-charge *tor.
928
2d63bc39
JM
9292016-01-26 Jason Merrill <jason@redhat.com>
930
931 PR c++/68782
932 * constexpr.c (cxx_eval_bare_aggregate): Update TREE_CONSTANT
933 and TREE_SIDE_EFFECTS.
934 (cxx_eval_constant_expression) [CONSTRUCTOR]: Call
935 verify_constructor_flags.
936
476805ae
JJ
9372016-01-26 Jakub Jelinek <jakub@redhat.com>
938
939 PR c++/68357
940 * cp-gimplify.c (cp_fold): If some operand folds to error_mark_node,
941 return error_mark_node instead of building trees with error_mark_node
942 operands.
943
01e1dea3
DM
9442016-01-26 David Malcolm <dmalcolm@redhat.com>
945
946 PR other/69006
947 * error.c (print_instantiation_partial_context_line): Add missing
948 newlines from output for the t == NULL case.
949 (print_instantiation_partial_context): Remove call to pp_newline.
950
a59b92b0
PP
9512016-01-24 Patrick Palka <ppalka@gcc.gnu.org>
952
953 Revert:
954 2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
955
956 PR c++/11858
957 PR c++/24663
958 PR c++/24664
959 * decl.c (grokdeclarator): Don't decay array parameter type to
960 a pointer type if it's dependent.
961 (grokparms): Invoke strip_top_quals instead of directly invoking
962 cp_build_qualified_type.
963 * pt.c (decay_dependent_array_parm_type): New static function.
964 (type_unification_real): Call decay_dependent_array_parm_type
965 to decay a dependent array parameter type to its corresponding
966 pointer type before unification.
967 (more_specialized_fn): Likewise.
968 (get_bindings): Likewise.
969 * tree.c (cp_build_qualified_type): Trivial typofix in
970 documentation.
971
69da7802
MS
9722016-01-23 Martin Sebor <msebor@redhat.com>
973
974 PR c++/58109
975 PR c++/69022
976 * decl2.c (is_late_template_attribute): Handle dependent argument
977 to attribute align and attribute vector_size.
978
97ca3d0d
JM
9792016-01-21 Jason Merrill <jason@redhat.com>
980
130ee9a9
JM
981 PR c++/69392
982 * lambda.c (lambda_capture_field_type): Handle 'this' specially
983 for init-capture, too.
984
020491e6
JM
985 PR c++/65687
986 * decl.c (type_is_deprecated): Don't look into a typedef.
987
2f3932b9
JM
988 PR c++/40751
989 PR c++/64987
990 * decl.c (copy_type_enum): Respect TYPE_USER_ALIGN.
991
97ca3d0d
JM
992 PR c++/43407
993 * decl.c (start_enum): Add attributes parameter.
994 * parser.c (cp_parser_enum_specifier): Pass it.
995 * pt.c (lookup_template_class_1): Pass it.
996 * cp-tree.h: Adjust.
997
33f48842
JM
9982016-01-19 Jason Merrill <jason@redhat.com>
999
1000 PR c++/59759
1001 * pt.c (convert_template_argument): Handle VAR_DECL properly.
1002
1e297006
MP
10032016-01-19 Marek Polacek <polacek@redhat.com>
1004
1005 PR c++/68586
1006 * constexpr.c (clear_cv_cache): New.
1007 * cp-gimplify.c (clear_fold_cache): New.
1008 * cp-tree.h (clear_cv_cache, clear_fold_cache): Declare.
1009 * decl.c (finish_enum_value_list): Call them.
1010
38a979f2
MP
1011 PR c++/68965
1012 * pt.c (tsubst_copy): Mark elements in expanded vector as used.
1013
17c15cb9
PP
10142016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
1015
1016 PR c++/11858
1017 PR c++/24663
1018 PR c++/24664
1019 * decl.c (grokdeclarator): Don't decay array parameter type to
1020 a pointer type if it's dependent.
1021 (grokparms): Invoke strip_top_quals instead of directly invoking
1022 cp_build_qualified_type.
1023 * pt.c (decay_dependent_array_parm_type): New static function.
1024 (type_unification_real): Call decay_dependent_array_parm_type
1025 to decay a dependent array parameter type to its corresponding
1026 pointer type before unification.
1027 (more_specialized_fn): Likewise.
1028 (get_bindings): Likewise.
1029 * tree.c (cp_build_qualified_type): Trivial typofix in
1030 documentation.
1031
7f26f7df
JM
10322016-01-18 Jason Merrill <jason@redhat.com>
1033
4b0b30ef
JM
1034 * cp-gimplify.c (cp_fold) [CONSTRUCTOR]: Don't clobber the input.
1035
8d8f3235
JM
1036 * cp-gimplify.c (cp_fold): Remove unnecessary special cases.
1037
7f26f7df
JM
1038 PR c++/68767
1039 * cp-gimplify.c (cp_fold) [COND_EXPR]: Simplify. Do fold COND_EXPR.
1040 (contains_label_1, contains_label_p): Remove.
1041
ec7886c1
PP
10422016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
1043
1044 PR c++/69091
1045 * pt.c (type_dependent_expression_p): For a function template
1046 specialization, a type is dependent iff any of its template
1047 arguments are.
1048
203484bb
PP
10492016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
1050
1051 * cp-array-notation.c (cp_expand_cond_array_notations): Return
1052 error_mark_node only if find_rank failed, not if it was
1053 successful.
1054
aa2500e9
PP
10552016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
1056
1057 PR c++/68936
1058 * tree.c (build_min_non_dep_call_vec): Don't retain the
1059 KOENIG_LOOKUP_P flag of the non-dependent expression that's
1060 been built.
1061 (build_min_non_dep_op_overload): Instead, do it here.
1062
e0a575ff
JJ
10632016-01-15 Jakub Jelinek <jakub@redhat.com>
1064
1065 PR bootstrap/68271
1066 * parser.h (cp_token): Remove pragma_kind field. Add comment
1067 with number of unused bits.
1068 * parser.c (eof_token): Remove pragma_kind field initializer.
1069 (cp_lexer_get_preprocessor_token): Don't set pragma_kind
1070 field, don't clear CPP_PRAGMA u.value.
1071 (cp_parser_pragma_kind): New function.
1072 (cp_parser_omp_sections_scope, cp_parser_oacc_kernels_parallel,
1073 cp_parser_omp_construct, cp_parser_initial_pragma,
1074 cp_parser_pragma): Use cp_parser_pragma_kind instead of accessing
1075 pragma_kind field.
1076
56233bd6
JM
10772016-01-15 Jason Merrill <jason@redhat.com>
1078
c5e3b6fc
JM
1079 PR c++/68847
1080 * call.c (build_cxx_call): Use fold_non_dependent_expr.
1081
f3255019
JM
1082 * typeck2.c (cxx_incomplete_type_diagnostic): Use the location of
1083 value.
1084
56233bd6
JM
1085 PR c++/69257
1086 * typeck.c (decay_conversion): Don't call mark_rvalue_use for
1087 array/function-to-pointer conversion. Call
1088 complete_type_or_maybe_complain for lvalue-to-rvalue conversion.
1089 * call.c (convert_like_real): Print call context if
1090 decay_conversion errors.
1091
e6d6ec9e
TV
10922016-01-14 Tom de Vries <tom@codesourcery.com>
1093
1094 PR tree-optimization/68773
1095 * parser.c (cp_parser_oacc_declare, cp_parser_omp_declare_target): Don't
1096 set force_output.
1097
a7ccb9e7
JM
10982016-01-14 Jason Merrill <jason@redhat.com>
1099
1100 PR c++/69261
1101 * constexpr.c (find_array_ctor_elt): Handle splitting RANGE_EXPR.
1102
5342156c
MP
11032016-01-12 Marek Polacek <polacek@redhat.com>
1104
1105 PR c++/68979
1106 * constexpr.c (cxx_eval_check_shift_p): Use permerror rather than
1107 error_at and adjust the return value.
1108
723033a6
JJ
11092016-01-12 Jakub Jelinek <jakub@redhat.com>
1110
65364cc5
JJ
1111 PR objc++/68511
1112 PR c++/69213
1113 * cp-gimplify.c (cp_gimplify_expr) <case INIT_EXPR>: Don't return
1114 GS_ERROR whenever seen_error (), only if *expr_p contains
1115 cilk spawn stmt, but cilk_detect_spawn_and_unwrap failed.
1116
723033a6
JJ
1117 PR c++/66808
1118 PR c++/69000
1119 * pt.c (tsubst_decl): If not local_p, clear DECL_TEMPLATE_INFO.
1120
9fc21977
JM
11212016-01-11 Jason Merrill <jason@redhat.com>
1122
1123 PR c++/69131
1124 * method.c (walk_field_subobs): Add dtor_from_ctor parm.
1125 (process_subob_fn): Likewise. Don't consider triviality if true.
1126 (synthesize_method_walk): Pass it.
1127
655441d6
DM
11282016-01-11 David Malcolm <dmalcolm@redhat.com>
1129
1130 PR c++/68795
1131 * parser.c (cp_parser_postfix_expression): Initialize
1132 close_paren_loc to UNKNOWN_LOCATION; only use it if
1133 it has been written to by
1134 cp_parser_parenthesized_expression_list.
1135 (cp_parser_parenthesized_expression_list): Document the behavior
1136 with respect to the CLOSE_PAREN_LOC param.
1137
9cb6bd74
JJ
11382016-01-11 Jakub Jelinek <jakub@redhat.com>
1139
1140 PR c++/69211
1141 * cp-gimplify.c (cp_fold): If COMPOUND_EXPR or MODIFY_EXPR
1142 folded operands have side-effects, but folding changed any of them,
1143 build a new tree with the folded operands instead of returning the
1144 unfolded tree.
1145
73f0dae2
MP
11462016-01-09 Marek Polacek <polacek@redhat.com>
1147
1148 PR c++/69113
1149 * decl2.c (comdat_linkage): Only set DECL_COMDAT if TREE_PUBLIC is set.
1150
c50e614b
JJ
11512016-01-09 Jakub Jelinek <jakub@redhat.com>
1152
1153 PR c++/69164
1154 * class.c (layout_class_type): Use copy_node to copy FIELD_DECLs.
1155
fe71aa4e
JM
11562016-01-08 Jason Merrill <jason@redhat.com>
1157
1158 PR c++/69158
1159 * constexpr.c (cxx_fold_indirect_ref): Handle array type differing
1160 in completion.
1161
bd8f5bb2
MP
11622016-01-08 Marek Polacek <polacek@redhat.com>
1163
1164 PR c++/68449
1165 * constexpr.c (cxx_eval_constant_expression): Handle NULL initializer.
1166
0795b6f2
JM
11672016-01-08 Jason Merrill <jason@redhat.com>
1168
550c5f8a
JM
1169 * constexpr.c (cxx_eval_call_expression): Remove convert_to_void
1170 workaround.
1171
45177337
JM
1172 PR c++/68983
1173 PR c++/67557
1174 * cvt.c (convert_to_void): Don't strip a TARGET_EXPR of
1175 TREE_ADDRESSABLE type.
1176
0795b6f2
JM
1177 PR c++/68983
1178 PR c++/67557
1179 * call.c (unsafe_copy_elision_p): Look through COMPOUND_EXPR.
1180
ce3e43d7
NS
11812016-01-05 Nathan Sidwell <nathan@acm.org>
1182
1183 PR c++/58583
1184 * pt.c (build_non_dependent_expr): Don't try a checking fold when
1185 parsing an nsdmi.
1186
818ab71a 11872016-01-04 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
1188
1189 Update copyright years.
ad41bd84 1190\f
818ab71a 1191Copyright (C) 2016 Free Software Foundation, Inc.
ad41bd84
JM
1192
1193Copying and distribution of this file, with or without modification,
1194are permitted in any medium without royalty provided the copyright
1195notice and this notice are preserved.