1 2016-03-03 Jason Merrill <jason@redhat.com>
4 * typeck.c (build_static_cast_1): Avoid folding back to lvalue.
7 * constexpr.c (cxx_eval_component_reference): Just return an empty
8 CONSTRUCTOR for an empty class.
10 2016-03-01 Jason Merrill <jason@redhat.com>
13 * parser.c (cp_parser_requires_clause): Call
14 check_for_bare_parameter_packs.
17 * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
21 * constexpr.c (cxx_eval_call_expression): Unshare arg.
22 (cxx_eval_constant_expression) [DECL_EXPR]: Unshare init.
23 [TARGET_EXPR]: Unshare init.
25 2016-03-01 Patrick Palka <ppalka@gcc.gnu.org>
29 * pt.c (tsubst_baselink): Reinstate the check for an invalid
32 2016-02-28 Jason Merrill <jason@redhat.com>
35 * constexpr.c (cxx_eval_store_expression): Unshare init.
37 2016-02-26 Jason Merrill <jason@redhat.com>
40 * pt.c (make_argument_pack): New.
41 (tsubst_copy) [SIZEOF_EXPR]: Handle partial expansion.
42 (tsubst_copy_and_build): Likewise.
44 2016-02-25 Jason Merrill <jason@redhat.com>
47 * cp-tree.h (AGGR_INIT_FROM_THUNK_P): New.
48 * tree.c (build_aggr_init_expr): Set it.
49 * semantics.c (simplify_aggr_init_expr): Check it.
50 * cp-gimplify.c (cp_genericize_r): Don't walk into
51 a call/aggr_init from a thunk.
54 * method.c (forward_parm): Handle parameter packs.
55 * lambda.c (maybe_add_lambda_conv_op): Use it for them.
58 * constexpr.c (cxx_eval_component_reference): Don't complain about
59 unevaluated empty classes.
62 * tree.c (strip_typedefs): Use DECL_ORIGINAL_TYPE.
64 2016-02-25 Patrick Palka <ppalka@gcc.gnu.org>
67 * cp-tree.h (REF_PARENTHESIZED_P): Adjust documentation.
68 (maybe_undo_parenthesized_ref): Declare.
69 * semantics.c (maybe_undo_parenthesized_ref): Split out from
71 (finish_call_expr): Use it.
72 * typeck.c (check_return_expr): Use it.
73 * pt.c (tsubst_copy_and_build) [INDIRECT_REF]: Retain the
74 REF_PARENTHESIZED_P flag.
76 2016-02-24 Jakub Jelinek <jakub@redhat.com>
79 * class.c (build_base_path): Set TREE_NO_WARNING on the null_test.
81 * init.c (build_vec_delete_1, build_delete): Don't fold the non-NULL
83 * cp-gimplify.c (cp_fold): For TREE_NO_WARNING comparisons with NULL,
84 unless they are folded into INTEGER_CST, error_mark_node or some
85 comparison with NULL, avoid folding them and use either the original
86 comparison or non-folded comparison of folded arguments.
87 * cp-ubsan.c (cp_ubsan_instrument_vptr): Set TREE_NO_WARNING on the
88 comparison, don't fold the comparison right away.
90 2016-02-24 Jason Merrill <jason@redhat.com>
93 * friend.c (make_friend_class): Likewise.
94 * decl.c (lookup_and_check_tag): Diagnose invalid dependent friend.
96 2016-02-24 Jason Merrill <jason@redhat.com>
99 * pt.c (instantiate_class_template_1): Set
100 processing_template_decl before substituting friend_type.
102 016-02-24 Martin Sebor <msebor@redhat.com>
105 * tree.c (build_ctor_subob_ref): Compare types' main variants
106 instead of the types as they are.
108 2016-02-24 Jason Merrill <jason@redhat.com>
110 * decl.c (start_preparsed_function): Condition ctor clobber on
111 flag_lifetime_dse > 1.
113 * cp-gimplify.c (cp_fold): Don't fold constexpr calls if -fno-inline.
115 2016-02-19 Jason Merrill <jason@redhat.com>
118 * call.c (remaining_arguments): No longer static.
119 * cp-tree.h: Declare it.
120 * pt.c (more_specialized_fn): Use it.
122 2016-02-19 Jakub Jelinek <jakub@redhat.com>
123 Bernd Edlinger <bernd.edlinger@hotmail.de>
125 * Make-lang.in: Invoke gperf with -L C++.
126 * cfns.gperf: Remove prototypes for hash and libc_name_p
128 * cfns.h: Regenerated.
129 * except.c (nothrow_libfn_p): Adjust.
131 2016-02-19 Jakub Jelinek <jakub@redhat.com>
134 * rtti.c (ifnonnull): Set TREE_NO_WARNING on the condition, use
135 NE_EXPR instead of EQ_EXPR and swap last two arguments on COND_EXPR.
137 2016-02-19 Patrick Palka <ppalka@gcc.gnu.org>
140 * pt.c (tsubst_baselink): Don't diagnose an invalid constructor
142 * semantics.c (finish_call_expr): Don't assume a constructor
143 call is dependent if only the "this" pointer is dependent. When
144 building a constructor call, always use a dummy object.
146 2016-02-19 Jakub Jelinek <jakub@redhat.com>
149 * init.c (build_vec_delete_1): Set TREE_NO_WARNING on the NE_EXPR
151 * cp-gimplify.c (cp_fold): Propagate TREE_NO_WARNING from binary
152 operators if folding preserved the binop, just with different
156 * parser.c (cp_parser_std_attribute_spec_seq): Don't assume
157 attr_spec is always single element chain, chain all the attributes
158 properly together in the right order.
160 2016-02-18 Jason Merrill <jason@redhat.com>
162 * mangle.c (maybe_check_abi_tags): Add for_decl parm. Call
164 (mangle_decl): Call maybe_check_abi_tags for function scope.
165 (mangle_guard_variable): Call maybe_check_abi_tags here.
166 (write_guarded_var_name): Not here.
168 2016-02-17 Jason Merrill <jason@redhat.com>
171 * constexpr.c (build_constexpr_constructor_member_initializers):
172 Handle an additional STATEMENT_LIST.
175 * constexpr.c (cxx_eval_bare_aggregate): Fix 'changed' detection.
178 * decl2.c (reset_type_linkage_2): Look through member templates.
180 2016-02-17 Jakub Jelinek <jakub@redhat.com>
183 * init.c (build_delete): Set TREE_NO_WARNING on ifexp.
185 2016-02-17 Jason Merrill <jason@redhat.com>
188 * method.c (forward_parm): Split out from...
189 (add_one_base_init): ...here.
190 * lambda.c (maybe_add_lambda_conv_op): Use it.
192 2016-02-16 Jason Merrill <jason@redhat.com>
196 * call.c, cp-tree.h, name-lookup.c, pt.c, search.c, semantics.c,
197 tree.c, typeck2.c: Revert earlier changes.
198 * parser.c (cp_parser_lookup_name): Ignore namespace-scope
199 non-type templates after -> or .
201 2016-02-16 Jakub Jelinek <jakub@redhat.com>
204 * typeck.c (cp_build_binary_op): Revert 2015-09-09 change.
206 2016-02-16 Jason Merrill <jason@redhat.com>
209 * name-lookup.c (lookup_qualified_name): Add find_hidden parm.
210 (set_decl_namespace): Pass it. Complain about finding a hidden friend.
211 * name-lookup.h: Adjust.
213 2016-02-16 James Norris <jnorris@codesourcery.com>
215 * parser.c (cp_parser_oacc_data_clause_deviceptr): Remove checking.
216 * semantics.c (finish_omp_clauses): Add deviceptr checking.
218 2016-02-15 Jakub Jelinek <jakub@redhat.com>
221 * init.c (expand_default_init): Only call reshape_init
222 in the direct-initialization from an initializer list case.
224 2016-02-15 Jason Merrill <jason@redhat.com>
227 * semantics.c (finish_call_expr): Implicit 'this' does not make
229 * search.c (any_dependent_bases_p): Split out...
230 * name-lookup.c (do_class_using_decl): ...from here.
231 * call.c (build_new_method_call_1): Don't complain about missing object
232 if there are dependent bases. Tweak error.
233 * tree.c (non_static_member_function_p): Remove.
234 * pt.c (type_dependent_expression_p): A member template of a
235 dependent type is dependent.
239 * constexpr.c (verify_ctor_sanity): Remove CONSTRUCTOR_NELTS check.
241 2016-02-12 Patrick Palka <ppalka@gcc.gnu.org>
244 * pt.c (lookup_and_finish_template_variable): New function,
246 (tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: ... here. Use it.
247 (tsubst_qualified_id): Consider that EXPR might be a variable
249 * typeck.c (check_template_keyword): Don't emit an error
250 if DECL is a variable template.
252 2016-02-12 Jakub Jelinek <jakub@redhat.com>
254 * error.c: Spelling fixes - behaviour -> behavior and
255 neighbour -> neighbor.
257 * typeck.c (cp_build_binary_op): Fix up behavior spelling in
259 * init.c (build_delete): Likewise.
261 2016-02-11 Jakub Jelinek <jakub@redhat.com>
264 * typeck.c (cp_build_binary_op): cp_fully_fold integer_zerop
265 arguments for -Waddress warning. Fix up formatting.
267 2016-02-11 Paolo Carlini <paolo.carlini@oracle.com>
270 * pt.c (lookup_template_class_1): Check tsubst return value for
273 2016-02-10 Jason Merrill <jason@redhat.com>
276 * pt.c (resolve_nondeduced_context): Add complain parm.
277 (do_auto_deduction): Pass it.
278 * cvt.c (convert_to_void): Likewise.
279 * decl.c (cp_finish_decl): Likewise.
280 * init.c (build_new): Likewise.
281 * rtti.c (get_tinfo_decl_dynamic): Likewise.
282 * semantics.c (finish_decltype_type): Likewise.
283 * typeck.c (decay_conversion): Likewise.
284 * cp-tree.h: Adjust declaration.
285 * call.c (standard_conversion): Add complain parm, pass it along.
286 (implicit_conversion): Pass it.
289 * name-lookup.c (ambiguous_decl): Call remove_hidden_names.
290 (lookup_name_real_1): Likewise.
291 (remove_hidden_names): Handle non-functions too.
294 * parser.c (cp_parser_lookup_name): When looking for a template
295 after . or ->, only consider class templates.
296 (cp_parser_postfix_dot_deref_expression): Handle the current
297 instantiation. Remember a dependent object expression.
298 * typeck2.c (build_x_arrow): Handle the current instantiation.
300 * ptree.c (debug_tree): Implement for cp_expr.
302 2016-02-08 Patrick Palka <ppalka@gcc.gnu.org>
305 * parser.c (cp_parser_simple_type_specifier): Make the check
306 for disambiguating between an 'auto' placeholder and an implicit
307 template parameter more robust.
309 2016-02-08 Patrick Palka <ppalka@gcc.gnu.org>
313 * decl2.c (mark_used): When given a TEMPLATE_DECL, return after
314 setting its TREE_USED flag.
316 2016-02-08 Jason Merrill <jason@redhat.com>
319 * name-lookup.c (do_nonmember_using_decl): Leave anticipated
322 2016-02-08 Jakub Jelinek <jakub@redhat.com>
325 * parser.c (cp_parser_omp_declare_reduction): Set assembler name
326 of the DECL_OMP_DECLARE_REDUCTION_P decls.
328 2016-02-08 Marek Polacek <polacek@redhat.com>
331 * constexpr.c (clear_cv_and_fold_caches): Renamed from clear_cv_cache.
332 Call clear_fold_cache.
333 * cp-tree.h: Adjust declaration.
334 * decl.c (finish_enum_value_list): Call clear_cv_and_fold_caches
335 rather than clear_cv_cache and clear_fold_cache.
336 * typeck2.c (store_init_value): Call clear_cv_and_fold_caches.
338 2016-02-08 Jason Merrill <jason@redhat.com>
340 * cp-tree.h (CONV_FOLD, CONV_BACKEND_CONVERT): New.
341 * cvt.c (convert): Pass CONV_BACKEND_CONVERT.
342 (ocp_convert): Use *_maybe_fold.
343 (cp_convert_to_pointer): Add dofold parameter.
344 * cp-gimplify.c (cp_fold) [CONVERT_EXPR]: Call convert.
346 2016-02-05 Martin Sebor <msebor@redhat.com>
349 * init.c (find_field_init): New function.
350 (warn_placement_new_too_small): Call it. Handle one-element arrays
351 at ends of structures special.
353 2016-02-05 Jason Merrill <jason@redhat.com>
356 * semantics.c (finish_expr_stmt): If expr is error_mark_node,
357 make sure we've seen_error().
359 2016-02-05 Patrick Palka <ppalka@gcc.gnu.org>
362 * pt.c (tsubst_baselink): Diagnose an invalid constructor call
363 if lookup_fnfields returns NULL_TREE and the name being looked
364 up has the form A::A.
366 2016-02-04 Patrick Palka <ppalka@gcc.gnu.org>
368 * constexpr.c (cxx_eval_binary_expression): Fold equality
369 comparisons involving PTRMEM_CSTs.
371 2016-02-04 Jakub Jelinek <jakub@redhat.com>
373 * class.c (find_flexarrays): Don't declare dom variable.
374 (diagnose_flexarray): Likewise.
376 2016-02-02 Martain Sebor <msebor@redhat.com>
383 * class.c (walk_subobject_offsets): Avoid testing the upper bound
384 of a flexible array member for equality to null.
385 (find_flexarrays): Remove spurious whitespace introduced in r231665.
386 (diagnose_flexarrays): Avoid checking the upper bound of arrays.
387 (check_flexarrays): Same.
388 * decl.c (compute_array_index_type): Avoid special case for flexible
390 (grokdeclarator): Avoid calling compute_array_index_type for flexible
392 * error.c (dump_type_suffix): Revert changes introduced in r231665
393 and rendered unnecessary by the changes above.
394 * pt.c (tsubst): Same.
395 * tree.c (build_ctor_subob_ref): Handle flexible array members.
396 * typeck2.c (digest_init_r): Revert changes introduced in r231665.
397 (process_init_constructor_array): Same.
398 (process_init_constructor_record): Same.
400 2016-02-03 Patrick Palka <ppalka@gcc.gnu.org>
403 * pt.c (try_one_overload): Handle comparing argument packs so
404 that there is no conflict if we deduced more arguments of an
405 argument pack than were explicitly specified.
407 2016-01-31 Jakub Jelinek <jakub@redhat.com>
408 Jason Merrill <jason@redhat.com>
411 * tree.c (strip_typedefs) [FUNCTION_TYPE]: Avoid building a new
412 function type if nothing is changing.
414 2016-01-31 Jason Merrill <jason@redhat.com>
417 * pt.c (partial_specialization_p, impartial_args): New.
418 (instantiate_decl): Call impartial_args.
420 * mangle.c (maybe_check_abi_tags): New.
421 (write_guarded_var_name): Call it.
422 (mangle_ref_init_variable): Call check_abi_tags.
424 * pt.c (lookup_template_class_1): Don't share TYPE_ATTRIBUTES
425 between template and instantiation.
427 2016-01-29 Jakub Jelinek <jakub@redhat.com>
430 * decl.c (wrapup_globals_for_namespace): Warn about unused static
431 function declarations.
433 2016-01-29 Marek Polacek <polacek@redhat.com>
437 * constexpr.c (cxx_eval_array_reference): Give the "array subscript
438 out of bound" error earlier.
439 * init.c (build_vec_init): Change NE_EXPR into GT_EXPR. Update the
442 2016-01-29 Patrick Palka <ppalka@gcc.gnu.org>
444 * name-lookup.c (begin_scope): After reusing a cp_binding_level
445 structure, update free_binding_level before the structure's
446 level_chain field gets cleared, not after.
448 2016-01-28 Jason Merrill <jason@redhat.com>
451 * search.c (dfs_walk_once, dfs_walk_once_r)
452 (dfs_walk_once_accessible_r, dfs_walk_once_accessible): Use
453 hash_set instead of BINFO_MARKED.
454 (dfs_unmark_r): Remove.
456 2016-01-28 Patrick Palka <ppalka@gcc.gnu.org>
459 * parser.c (LEXER_DEBUGGING_ENABLED_P): New macro.
460 (cp_lexer_debugging_p): Use it.
461 (cp_lexer_start_debugging): Likewise.
462 (cp_lexer_stop_debugging): Likewise.
464 2016-01-27 Marek Polacek <polacek@redhat.com>
467 * typeck.c (cp_build_binary_op): Promote operand to unsigned, if
468 needed. Add -Wsign-compare warning.
470 2016-01-27 Ryan Burn <contact@rnburn.com>
473 * cp-gimplify.c (cilk_cp_gimplify_call_params_in_spawned_fn): Removed
474 superfluous post_p argument in call to
475 cilk_gimplify_call_params_in_spawned_fn.
477 2016-01-27 Marek Polacek <polacek@redhat.com>
480 * constexpr.c (cxx_eval_constant_expression): Handle PTRMEM_CSTs
481 wrapped in NOP_EXPRs.
483 2016-01-27 Martin Sebor <msebor@redhat.com>
486 * mangle.c (mangle_decl): Reference the correct (saved) version
487 of the ABI in -Wabi diagnostics.
489 2016-01-27 Marek Polacek <polacek@redhat.com>
492 * constexpr.c (cxx_eval_array_reference): Evaluate the number of
493 elements of the array.
495 2016-01-26 Jason Merrill <jason@redhat.com>
498 * constexpr.c (register_constexpr_fundef): Keep the un-massaged body.
499 (cxx_eval_call_expression): Don't look through clones.
500 * optimize.c (maybe_clone_body): Clear DECL_SAVED_TREE of the alias.
501 * semantics.c (expand_or_defer_fn_1): Keep DECL_SAVED_TREE of
502 maybe-in-charge *tor.
504 2016-01-26 Jason Merrill <jason@redhat.com>
507 * constexpr.c (cxx_eval_bare_aggregate): Update TREE_CONSTANT
508 and TREE_SIDE_EFFECTS.
509 (cxx_eval_constant_expression) [CONSTRUCTOR]: Call
510 verify_constructor_flags.
512 2016-01-26 Jakub Jelinek <jakub@redhat.com>
515 * cp-gimplify.c (cp_fold): If some operand folds to error_mark_node,
516 return error_mark_node instead of building trees with error_mark_node
519 2016-01-26 David Malcolm <dmalcolm@redhat.com>
522 * error.c (print_instantiation_partial_context_line): Add missing
523 newlines from output for the t == NULL case.
524 (print_instantiation_partial_context): Remove call to pp_newline.
526 2016-01-24 Patrick Palka <ppalka@gcc.gnu.org>
529 2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
534 * decl.c (grokdeclarator): Don't decay array parameter type to
535 a pointer type if it's dependent.
536 (grokparms): Invoke strip_top_quals instead of directly invoking
537 cp_build_qualified_type.
538 * pt.c (decay_dependent_array_parm_type): New static function.
539 (type_unification_real): Call decay_dependent_array_parm_type
540 to decay a dependent array parameter type to its corresponding
541 pointer type before unification.
542 (more_specialized_fn): Likewise.
543 (get_bindings): Likewise.
544 * tree.c (cp_build_qualified_type): Trivial typofix in
547 2016-01-23 Martin Sebor <msebor@redhat.com>
551 * decl2.c (is_late_template_attribute): Handle dependent argument
552 to attribute align and attribute vector_size.
554 2016-01-21 Jason Merrill <jason@redhat.com>
557 * lambda.c (lambda_capture_field_type): Handle 'this' specially
558 for init-capture, too.
561 * decl.c (type_is_deprecated): Don't look into a typedef.
565 * decl.c (copy_type_enum): Respect TYPE_USER_ALIGN.
568 * decl.c (start_enum): Add attributes parameter.
569 * parser.c (cp_parser_enum_specifier): Pass it.
570 * pt.c (lookup_template_class_1): Pass it.
573 2016-01-19 Jason Merrill <jason@redhat.com>
576 * pt.c (convert_template_argument): Handle VAR_DECL properly.
578 2016-01-19 Marek Polacek <polacek@redhat.com>
581 * constexpr.c (clear_cv_cache): New.
582 * cp-gimplify.c (clear_fold_cache): New.
583 * cp-tree.h (clear_cv_cache, clear_fold_cache): Declare.
584 * decl.c (finish_enum_value_list): Call them.
587 * pt.c (tsubst_copy): Mark elements in expanded vector as used.
589 2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
594 * decl.c (grokdeclarator): Don't decay array parameter type to
595 a pointer type if it's dependent.
596 (grokparms): Invoke strip_top_quals instead of directly invoking
597 cp_build_qualified_type.
598 * pt.c (decay_dependent_array_parm_type): New static function.
599 (type_unification_real): Call decay_dependent_array_parm_type
600 to decay a dependent array parameter type to its corresponding
601 pointer type before unification.
602 (more_specialized_fn): Likewise.
603 (get_bindings): Likewise.
604 * tree.c (cp_build_qualified_type): Trivial typofix in
607 2016-01-18 Jason Merrill <jason@redhat.com>
609 * cp-gimplify.c (cp_fold) [CONSTRUCTOR]: Don't clobber the input.
611 * cp-gimplify.c (cp_fold): Remove unnecessary special cases.
614 * cp-gimplify.c (cp_fold) [COND_EXPR]: Simplify. Do fold COND_EXPR.
615 (contains_label_1, contains_label_p): Remove.
617 2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
620 * pt.c (type_dependent_expression_p): For a function template
621 specialization, a type is dependent iff any of its template
624 2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
626 * cp-array-notation.c (cp_expand_cond_array_notations): Return
627 error_mark_node only if find_rank failed, not if it was
630 2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
633 * tree.c (build_min_non_dep_call_vec): Don't retain the
634 KOENIG_LOOKUP_P flag of the non-dependent expression that's
636 (build_min_non_dep_op_overload): Instead, do it here.
638 2016-01-15 Jakub Jelinek <jakub@redhat.com>
641 * parser.h (cp_token): Remove pragma_kind field. Add comment
642 with number of unused bits.
643 * parser.c (eof_token): Remove pragma_kind field initializer.
644 (cp_lexer_get_preprocessor_token): Don't set pragma_kind
645 field, don't clear CPP_PRAGMA u.value.
646 (cp_parser_pragma_kind): New function.
647 (cp_parser_omp_sections_scope, cp_parser_oacc_kernels_parallel,
648 cp_parser_omp_construct, cp_parser_initial_pragma,
649 cp_parser_pragma): Use cp_parser_pragma_kind instead of accessing
652 2016-01-15 Jason Merrill <jason@redhat.com>
655 * call.c (build_cxx_call): Use fold_non_dependent_expr.
657 * typeck2.c (cxx_incomplete_type_diagnostic): Use the location of
661 * typeck.c (decay_conversion): Don't call mark_rvalue_use for
662 array/function-to-pointer conversion. Call
663 complete_type_or_maybe_complain for lvalue-to-rvalue conversion.
664 * call.c (convert_like_real): Print call context if
665 decay_conversion errors.
667 2016-01-14 Tom de Vries <tom@codesourcery.com>
669 PR tree-optimization/68773
670 * parser.c (cp_parser_oacc_declare, cp_parser_omp_declare_target): Don't
673 2016-01-14 Jason Merrill <jason@redhat.com>
676 * constexpr.c (find_array_ctor_elt): Handle splitting RANGE_EXPR.
678 2016-01-12 Marek Polacek <polacek@redhat.com>
681 * constexpr.c (cxx_eval_check_shift_p): Use permerror rather than
682 error_at and adjust the return value.
684 2016-01-12 Jakub Jelinek <jakub@redhat.com>
688 * cp-gimplify.c (cp_gimplify_expr) <case INIT_EXPR>: Don't return
689 GS_ERROR whenever seen_error (), only if *expr_p contains
690 cilk spawn stmt, but cilk_detect_spawn_and_unwrap failed.
694 * pt.c (tsubst_decl): If not local_p, clear DECL_TEMPLATE_INFO.
696 2016-01-11 Jason Merrill <jason@redhat.com>
699 * method.c (walk_field_subobs): Add dtor_from_ctor parm.
700 (process_subob_fn): Likewise. Don't consider triviality if true.
701 (synthesize_method_walk): Pass it.
703 2016-01-11 David Malcolm <dmalcolm@redhat.com>
706 * parser.c (cp_parser_postfix_expression): Initialize
707 close_paren_loc to UNKNOWN_LOCATION; only use it if
708 it has been written to by
709 cp_parser_parenthesized_expression_list.
710 (cp_parser_parenthesized_expression_list): Document the behavior
711 with respect to the CLOSE_PAREN_LOC param.
713 2016-01-11 Jakub Jelinek <jakub@redhat.com>
716 * cp-gimplify.c (cp_fold): If COMPOUND_EXPR or MODIFY_EXPR
717 folded operands have side-effects, but folding changed any of them,
718 build a new tree with the folded operands instead of returning the
721 2016-01-09 Marek Polacek <polacek@redhat.com>
724 * decl2.c (comdat_linkage): Only set DECL_COMDAT if TREE_PUBLIC is set.
726 2016-01-09 Jakub Jelinek <jakub@redhat.com>
729 * class.c (layout_class_type): Use copy_node to copy FIELD_DECLs.
731 2016-01-08 Jason Merrill <jason@redhat.com>
734 * constexpr.c (cxx_fold_indirect_ref): Handle array type differing
737 2016-01-08 Marek Polacek <polacek@redhat.com>
740 * constexpr.c (cxx_eval_constant_expression): Handle NULL initializer.
742 2016-01-08 Jason Merrill <jason@redhat.com>
744 * constexpr.c (cxx_eval_call_expression): Remove convert_to_void
749 * cvt.c (convert_to_void): Don't strip a TARGET_EXPR of
750 TREE_ADDRESSABLE type.
754 * call.c (unsafe_copy_elision_p): Look through COMPOUND_EXPR.
756 2016-01-05 Nathan Sidwell <nathan@acm.org>
759 * pt.c (build_non_dependent_expr): Don't try a checking fold when
762 2016-01-04 Jakub Jelinek <jakub@redhat.com>
764 Update copyright years.
766 Copyright (C) 2016 Free Software Foundation, Inc.
768 Copying and distribution of this file, with or without modification,
769 are permitted in any medium without royalty provided the copyright
770 notice and this notice are preserved.