1 2016-06-03 Release Manager
5 2016-05-23 Richard Biener <rguenther@suse.de>
8 2016-03-23 Patrick Palka <ppalka@gcc.gnu.org>
11 * typeck.c (process_init_constructor_union): If the initializer
12 is empty, use the union's NSDMI if it has one.
14 2016-05-20 Paolo Carlini <paolo.carlini@oracle.com>
17 * call.c (convert_like_real): Check that we are actually converting
20 2016-05-18 Jason Merrill <jason@redhat.com>
23 * pt.c (tsubst_baselink): Give the new TEMPLATE_ID_EXPR
24 unknown_type_node, too.
27 * decl.c (cxx_maybe_build_cleanup): Handle non-decls.
28 * typeck2.c (split_nonconstant_init_1): Use it.
31 * constexpr.c (cxx_eval_store_expression): Also copy
32 CONSTRUCTOR_NO_IMPLICIT_ZERO.
35 * decl.c (make_rtl_for_nonlocal_decl): Don't defer local statics
36 in constexpr functions.
39 * pt.c (instantiate_decl): Fix call to variable_template_p.
41 2016-05-18 Jason Merrill <jason@redhat.com>
42 Jakub Jelinek <jakub@redhat.com>
45 * constexpr.c (struct constexpr_ctx): Add save_exprs field.
46 (cxx_eval_loop_expr): Discard SAVE_EXPR values before looping.
47 (cxx_eval_constant_expression) [SAVE_EXPR]: Add it to the set.
48 (cxx_eval_outermost_constant_expr, is_sub_constant_expr): Initialize.
50 2016-05-18 Jason Merrill <jason@redhat.com>
52 * method.c (synthesized_method_walk): operator= can also be constexpr.
54 2016-05-03 Paolo Carlini <paolo.carlini@oracle.com>
57 * pt.c (resolve_typename_type): Fix typos in infinite recursion
60 2016-04-18 Marek Polacek <polacek@redhat.com>
62 Backport from mainline
63 2016-03-31 Marek Polacek <polacek@redhat.com>
66 * decl.c (duplicate_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN.
68 2016-04-18 Marek Polacek <polacek@redhat.com>
70 Backport from mainline
71 2015-11-11 Jason Merrill <jason@redhat.com>
73 * decl.c (duplicate_decls): When combining typedefs, remove the
74 new type from the variants list.
76 2016-04-15 Jason Merrill <jason@redhat.com>
78 * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Get
79 LAMBDA_EXPR_RETURN_TYPE from the instantiated closure.
82 * pt.c (copy_template_args): New.
83 (tsubst_pack_expansion): Use it.
85 2016-04-13 Alan Modra <amodra@gmail.com>
87 Backport from mainline
88 2016-03-22 Patrick Palka <ppalka@gcc.gnu.org>
91 * pt.c (tsubst_decl): Clear the DECL_MODE of the new decl.
93 2016-04-06 Richard Biener <rguenther@suse.de>
95 Backport from mainline
96 2016-03-31 Richard Biener <rguenther@suse.de>
99 * typeck.c (cp_build_binary_op): Fix operand order of vector
100 conditional in truth op handling.
102 2016-03-31 Nathan Sidwell <nathan@acm.org>
105 * constexpr.c (cxx_eval_store_expression): Keep CONSTRUCTOR
106 elements in field order.
108 2016-03-30 Jakub Jelinek <jakub@redhat.com>
110 Backported from mainline
111 2016-03-17 Jakub Jelinek <jakub@redhat.com>
114 * decl.c (begin_destructor_body): Don't insert clobber if
115 is_empty_class (current_class_type).
117 2016-02-19 Jakub Jelinek <jakub@redhat.com>
120 * parser.c (cp_parser_std_attribute_spec_seq): Don't assume
121 attr_spec is always single element chain, chain all the attributes
122 properly together in the right order.
124 2016-03-21 Marek Polacek <polacek@redhat.com>
126 Backported from mainline
127 2016-03-15 Marek Polacek <polacek@redhat.com>
130 * tree.c (strip_typedefs): Call strip_typedefs again on the
131 DECL_ORIGINAL_TYPE result.
133 2016-03-18 Jason Merrill <jason@redhat.com>
136 * constexpr.c (cxx_eval_call_expression): Don't shortcut trivial copy.
138 2016-03-05 Jason Merrill <jason@redhat.com>
141 * constexpr.c (cxx_eval_store_expression): Replace
142 CONSTRUCTOR_ELTS in nested CONSTRUCTORs, too.
144 2016-03-04 Jason Merrill <jason@redhat.com>
147 * constexpr.c (cxx_eval_component_reference): Further tweak.
150 * tree.c (strip_typedefs): Handle TYPENAME_TYPE lookup finding the
153 2016-03-03 Jason Merrill <jason@redhat.com>
155 * call.c (build_aggr_conv): Use get_nsdmi.
158 * typeck.c (build_static_cast_1): Avoid folding back to lvalue.
161 * constexpr.c (cxx_eval_component_reference): Just return an empty
162 CONSTRUCTOR for an empty class.
164 2016-03-01 Paolo Carlini <paolo.carlini@oracle.com>
166 * call.c (build_op_delete_call, build_over_call): Check mark_used
168 * class.c (resolve_address_of_overloaded_function): Likewise.
169 * decl.c (cxx_maybe_build_cleanup): Likewise.
170 * pt.c (gen_elem_of_pack_expansion_instantiation, tsubst_baselink,
171 tsubst_qualified_id, tsubst_copy, tsubst_copy_and_build): Likewise.
172 * rtti.c (build_dynamic_cast_1): Likewise.
173 * semantics.c (process_outer_var_ref): Likewise.
174 * typeck.c (build_class_member_access_expr,
175 cp_build_function_call_vec, cp_build_addr_expr_1): Likewise.
177 2016-03-01 Jason Merrill <jason@redhat.com>
180 * constexpr.c (find_array_ctor_elt): Handle splitting RANGE_EXPR.
182 2016-03-01 Markus Trippelsdorf <markus@trippelsdorf.de>
183 Paolo Carlini <paolo.carlini@oracle.com>
186 * constexpr.c (cxx_eval_array_reference): Use tree_fits_shwi_p before
187 tree_to_shwi to avoid ICEs.
189 2016-03-01 Jason Merrill <jason@redhat.com>
192 * constexpr.c (array_index_cmp, find_array_ctor_elt): New.
193 (cxx_eval_array_reference, cxx_eval_store_expression): Use them.
196 * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
200 * constexpr.c (cxx_eval_call_expression): Unshare arg.
201 (cxx_eval_constant_expression) [DECL_EXPR]: Unshare init.
202 [TARGET_EXPR]: Unshare init.
204 2016-02-29 Jason Merrill <jason@redhat.com>
207 * constexpr.c (cxx_eval_store_expression): Unshare init.
210 * constexpr.c (build_constexpr_constructor_member_initializers):
211 Handle an additional STATEMENT_LIST.
213 2016-02-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
215 Backported from mainline
216 2016-02-19 Jakub Jelinek <jakub@redhat.com>
217 Bernd Edlinger <bernd.edlinger@hotmail.de>
219 * Make-lang.in: Invoke gperf with -L C++.
220 * cfns.gperf: Remove prototypes for hash and libc_name_p
222 * cfns.h: Regenerated.
223 * except.c (nothrow_libfn_p): Adjust.
225 2016-02-25 Jason Merrill <jason@redhat.com>
228 * constexpr.c (cxx_eval_component_reference): Don't complain about
229 unevaluated empty classes.
232 * tree.c (strip_typedefs): Use DECL_ORIGINAL_TYPE.
234 2016-02-24 Jason Merrill <jason@redhat.com>
237 * pt.c (instantiate_class_template_1): Set
238 processing_template_decl before substituting friend_type.
240 2016-02-19 Jason Merrill <jason@redhat.com>
243 * call.c (remaining_arguments): No longer static.
244 * cp-tree.h: Declare it.
245 * pt.c (more_specialized_fn): Use it.
247 2016-02-17 Jason Merrill <jason@redhat.com>
250 * constexpr.c (cxx_eval_bare_aggregate): Fix 'changed' detection.
253 * decl2.c (reset_type_linkage_2): Look through member templates.
255 2016-02-15 Jason Merrill <jason@redhat.com>
258 * constexpr.c (verify_ctor_sanity): Remove CONSTRUCTOR_NELTS check.
260 2016-02-10 Jason Merrill <jason@redhat.com>
263 * pt.c (resolve_nondeduced_context): Add complain parm.
264 (do_auto_deduction): Pass it.
265 * cvt.c (convert_to_void): Likewise.
266 * decl.c (cp_finish_decl): Likewise.
267 * init.c (build_new): Likewise.
268 * rtti.c (get_tinfo_decl_dynamic): Likewise.
269 * semantics.c (finish_decltype_type): Likewise.
270 * typeck.c (decay_conversion): Likewise.
271 * cp-tree.h: Adjust declaration.
272 * call.c (standard_conversion): Add complain parm, pass it along.
273 (implicit_conversion): Pass it.
275 2016-02-10 Jakub Jelinek <jakub@redhat.com>
277 Backported from mainline
278 2016-02-08 Jakub Jelinek <jakub@redhat.com>
281 * parser.c (cp_parser_omp_declare_reduction): Set assembler name
282 of the DECL_OMP_DECLARE_REDUCTION_P decls.
284 2016-01-31 Jason Merrill <jason@redhat.com>
287 * pt.c (partial_specialization_p, impartial_args): New.
288 (instantiate_decl): Call impartial_args.
290 2016-01-27 Marek Polacek <polacek@redhat.com>
292 Backport from mainline
293 2016-01-27 Marek Polacek <polacek@redhat.com>
296 * typeck.c (cp_build_binary_op): Promote operand to unsigned, if
297 needed. Add -Wsign-compare warning.
299 2016-01-27 Jason Merrill <jason@redhat.com>
302 * optimize.c (maybe_clone_body): Clear DECL_SAVED_TREE of the alias.
303 * semantics.c (expand_or_defer_fn_1): Keep DECL_SAVED_TREE of
304 maybe-in-charge *tor.
307 * method.c (walk_field_subobs): Add dtor_from_ctor parm.
308 (process_subob_fn): Likewise. Don't consider triviality if true.
309 (synthesize_method_walk): Pass it.
311 2016-01-19 Marek Polacek <polacek@redhat.com>
313 Backported from mainline
314 2016-01-19 Marek Polacek <polacek@redhat.com>
317 * pt.c (tsubst_copy): Mark elements in expanded vector as used.
319 2016-01-08 Marek Polacek <polacek@redhat.com>
322 * constexpr.c (cxx_eval_constant_expression): Handle NULL initializer.
324 2016-01-07 Jason Merrill <jason@redhat.com>
328 * call.c (unsafe_copy_elision_p): Look through COMPOUND_EXPR.
330 2015-12-22 Jason Merrill <jason@redhat.com>
333 * decl.c (cp_complete_array_type): Allow an initializer that
334 already has array type.
337 * parser.c (cp_parser_elaborated_type_specifier): Use CLASS_TYPE_P
338 rather than check for RECORD_TYPE.
340 2015-12-20 Jason Merrill <jason@redhat.com>
343 * decl2.c (decl_maybe_constant_var_p): Use DECL_HAS_VALUE_EXPR_P.
346 * decl2.c (decl_maybe_constant_var_p): A proxy isn't constant.
348 2015-12-17 Jason Merrill <jason@redhat.com>
351 * init.c (constant_value_1): Don't return a CONSTRUCTOR missing
352 non-constant elements.
356 * rtti.c (build_typeid): Use save_expr, not stabilize_reference.
358 2015-12-16 Joseph Myers <joseph@codesourcery.com>
361 * tree.c (c_build_qualified_type): Add extra arguments.
363 2015-12-16 Jason Merrill <jason@redhat.com>
366 * pt.c (tsubst_pack_expansion): Also make dummy decls if
367 retrieve_local_specialization fails.
369 2015-12-04 Markus Trippelsdorf <markus@trippelsdorf.de>
372 * mangle.c (write_template_prefix): Guard against context==NULL.
374 2015-12-04 Release Manager
376 * GCC 5.3.0 released.
378 2015-11-26 Jakub Jelinek <jakub@redhat.com>
381 * cp-tree.h (cp_ubsan_maybe_instrument_downcast): Add INTYPE argument.
382 * cp-ubsan.c (cp_ubsan_maybe_instrument_downcast): Likewise. Use
383 it instead of or in addition to TREE_TYPE (op). Use
384 is_properly_derived_from, return NULL_TREE if TREE_TYPE (intype) and
385 TREE_TYPE (type) are the same type minus qualifiers.
386 * typeck.c (build_static_cast_1): Adjust callers.
388 2015-11-25 Jakub Jelinek <jakub@redhat.com>
390 Backported from mainline
391 2015-11-20 Jakub Jelinek <jakub@redhat.com>
394 * cp-tree.h (defer_mangling_aliases): Declare.
395 (generate_mangling_aliases): New prototype.
396 * decl2.c (defer_mangling_aliases): New variable.
397 (note_mangling_alias): Use !defer_mangling_aliases
399 (generate_mangling_aliases): No longer static. Clear
400 defer_mangling_aliases.
401 * optimize.c (maybe_thunk_body): Defer emitting mangling aliases
402 if !defer_mangling_aliases until the fns are put into the same
405 2015-05-09 Aldy Hernandez <aldyh@redhat.com>
408 * decl2.c (note_mangling_alias): Declare arguments as unused.
410 2015-05-08 Jason Merrill <jason@redhat.com>
412 * decl2.c (mangling_aliases): New variable.
413 (note_mangling_alias, generate_mangling_aliases): New.
414 (cp_write_global_declarations): Call generate_mangling_aliases.
415 (generate_mangling_alias): Split out from...
416 * mangle.c (mangle_decl): ...here.
417 * cp-tree.h: Declare note_mangling_alias.
419 2015-11-25 Jason Merrill <jason@redhat.com>
422 * lambda.c (maybe_add_lambda_conv_op): Mark _FUN as
423 no_sanitize_undefined.
426 * cp-tree.h (PACK_EXPANSION_SIZEOF_P): New.
427 * parser.c (cp_parser_sizeof_pack): Set it.
428 * pt.c (tsubst_copy) [SIZEOF_EXPR]: Likewise.
429 (tsubst_pack_expansion): Improve T... shortcut when set.
432 * constexpr.c (cxx_eval_store_expression): Always use *valp if
435 2015-11-25 Markus Trippelsdorf <markus@trippelsdorf.de>
436 Paolo Carlini <paolo.carlini@oracle.com>
439 * constexpr.c (cxx_eval_array_reference): Use tree_fits_shwi_p before
440 tree_to_shwi to avoid ICEs.
442 2015-11-19 Jakub Jelinek <jakub@redhat.com>
443 Manuel López-Ibáñez <manu@gcc.gnu.org>
446 * decl.c (identify_goto): Add LOC and DIAG_KIND arguments, call
447 emit_diagnostic instead of permerror.
448 (check_previous_goto_1): Adjust identify_goto callers, treat all
449 cases but crossing initialization and entering scope of decl with
450 non-trivial dtor as unconditional hard errors.
451 (check_goto): Use identify_goto. Treat all cases but crossing
452 initialization and entering scope of decl with non-trivial dtor
453 as unconditional hard errors.
455 2015-10-20 Jason Merrill <jason@redhat.com>
458 * init.c (innermost_aggr_scope): New.
459 (sort_mem_initializers): Use it.
462 * call.c (is_base_field_ref): New.
463 (unsafe_copy_elision_p): New.
464 (build_over_call): Use it.
466 2015-09-12 Paolo Carlini <paolo.carlini@oracle.com>
468 Backport from mainline
469 2015-06-15 Paolo Carlini <paolo.carlini@oracle.com>
472 * decl2.c (no_linkage_error): Do not issue a permerror if the DECL
473 using a local type is pure virtual.
475 2015-09-10 Jakub Jelinek <jakub@redhat.com>
478 * semantics.c (handle_omp_array_sections_1): Only run
479 type_dependent_expression_p on VAR_DECL/PARM_DECLs.
480 (finish_omp_clauses) <case OMP_CLAUSE_LINEAR>: Likewise.
481 Don't adjust OMP_CLAUSE_LINEAR_STEP if OMP_CLAUSE_DECL
482 is not a VAR_DECL/PARM_DECL.
485 * semantics.c (handle_omp_for_class_iterator): Don't wrap
486 error_mark_node into a NOP_EXPR to void_type_node.
488 2015-09-09 Jakub Jelinek <jakub@redhat.com>
491 * parser.c (cp_parser_omp_clause_collapse): Test tree_fits_shwi_p
492 before INTEGRAL_TYPE_P test.
494 2015-09-08 Paolo Carlini <paolo.carlini@oracle.com>
497 * pt.c (tsubst_copy, [case FUNCTION_DECL]): Do not call tsubst
498 if the first argument isn't a template.
500 2015-08-17 Jason Merrill <jason@redhat.com>
503 * search.c (protected_accessible_p): Revert fix for 38579.
505 2015-08-17 Paolo Carlini <paolo.carlini@oracle.com>
508 * pt.c (tsubst_copy): Pass complain to mark_used, check return value.
510 2015-08-17 Jason Merrill <jason@redhat.com>
513 * pt.c (tsubst_copy_and_build): Call insert_pending_capture_proxies.
516 * class.c (fixup_attribute_variants): Respect TYPE_USER_ALIGN.
519 * constexpr.c (cxx_eval_array_reference): Handle sparse
522 2015-08-14 Jason Merrill <jason@redhat.com>
525 * decl2.c (mark_vtable_entries): Suppress -Wdeprecated.
527 2015-08-14 Patrick Palka <ppalka@gcc.gnu.org>
530 * cvt.c (ocp_convert): Don't call scalar_constant_value when
531 converting to a class type.
533 2015-08-12 Jason Merrill <jason@redhat.com>
536 * error.c (dump_decl) [TEMPLATE_ID_EXPR]: Pass
537 TFF_NO_OMIT_DEFAULT_TEMPLATE_ARGUMENTS.
539 2015-08-06 Jason Merrill <jason@redhat.com>
542 * parser.c (cp_parser_primary_expression): Don't skip to the end
543 of the statement if we're parsing tentatively.
548 * mangle.c (write_expression) [TEMPLATE_ID_EXPR]: Handle variable
550 * pt.c (tsubst_copy_and_build): Check for argument substitution
553 2015-08-05 Jason Merrill <jason@redhat.com>
559 * pt.c (lookup_template_variable): Use NULL_TREE for type.
560 (instantiate_template_1): Also set DECL_TI_ARGS based on
561 the immediate parent.
562 (tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: Handle variable templates.
563 (finish_template_variable): Add complain parm.
568 * semantics.c (finish_id_expression): Call convert_from_reference
569 for variable template.
572 * pt.c (find_parameter_packs_r): Handle variable templates.
573 (variable_template_specialization_p): New.
574 * cp-tree.h: Declare it.
576 2015-07-30 Jason Merrill <jason@redhat.com>
580 * pt.c (tsubst_decl) [TYPE_DECL]: Clear TYPE_DEPENDENT_P_VALID.
582 2015-07-16 Marek Polacek <polacek@redhat.com>
584 Backported from mainline
585 2015-07-08 Marek Polacek <polacek@redhat.com>
588 * tree.c (handle_abi_tag_attribute): Check for CLASS_TYPE_P before
589 accessing TYPE_LANG_SPECIFIC node.
591 2015-07-16 Release Manager
593 * GCC 5.2.0 released.
595 2015-07-10 Jakub Jelinek <jakub@redhat.com>
597 Backported from mainline
598 2015-07-08 Jakub Jelinek <jakub@redhat.com>
600 * decl.c (grokfndecl): Handle flag_openmp_simd like flag_openmp.
601 * pt.c (apply_late_template_attributes): Likewise.
603 2015-07-02 Jason Merrill <jason@redhat.com>
606 * pt.c (for_each_template_parm_r) [UNDERLYING_TYPE]: Use
607 TYPE_VALUES_RAW rather than TYPE_FIELDS.
609 2015-06-30 Jason Merrill <jason@redhat.com>
612 * decl.c (cxx_init_decl_processing): Set TYPE_ALIGN of nullptr_t.
613 * class.c (layout_nonempty_base_or_field): Warn if that affects
614 the offset of a field.
616 2015-06-29 Adam Butcher <adam@jessamine.co.uk>
619 * parser.c (cp_parser_simple_type_specifier): Don't synthesize
620 implicit template parm if 'auto' is a placeholder for trailing
623 2015-06-26 Jason Merrill <jason@redhat.com>
626 * class.c (finish_struct): Call fixup_attribute_variants.
629 * mangle.c (write_template_args): Handle 0 length TREE_VEC.
631 2015-06-24 Jason Merrill <jason@redhat.com>
634 * mangle.c (mangle_decl): Always SET_IDENTIFIER_GLOBAL_VALUE.
635 (decl_implicit_alias_p): Split out from maybe_remove_implicit_alias.
636 * cp-tree.h (DECL_REALLY_EXTERN): Handle null DECL_LANG_SPECIFIC.
639 * pt.c (dependent_type_p_r): Check for dependent alias template
640 specialization sooner.
643 * init.c (vec_copy_assign_is_trivial): New.
644 (build_vec_init): Use it.
646 2015-06-24 Mikhail Maltsev <maltsevm@gmail.com>
648 Backport from mainline:
649 2015-06-20 Mikhail Maltsev <maltsevm@gmail.com>
652 * call.c (build_new_op_1): Check tf_warning flag in all cases.
654 2015-06-23 Jason Merrill <jason@redhat.com>
657 * tree.c (no_linkage_check): Skip the 'this' pointer.
659 2015-06-19 Jason Merrill <jason@redhat.com>
662 * call.c (implicit_conversion): Call reshape_init here, early.
663 (build_aggr_conv): Not here.
666 * pt.c (instantiate_class_template_1): Clear
667 cp_unevaluated_operand and c_inhibit_evaluation_warnings.
670 * decl.c (build_ptrmemfunc_type): Check TYPE_GET_PTRMEMFUNC_TYPE after
674 * constexpr.c (build_constexpr_constructor_member_initializers):
675 Handle an empty STATEMENT_LIST.
678 * pt.c (tsubst_copy_and_build): Register a capture proxy in
679 local_specializations.
681 2015-06-17 Jason Merrill <jason@redhat.com>
684 * constexpr.c (cxx_eval_constant_expression): Handle TRY_BLOCK and
686 (potential_constant_expression_1): Likewise.
688 2015-06-17 Jakub Jelinek <jakub@redhat.com>
691 * pt.c (tsubst_omp_clause_decl): New function.
692 (tsubst_omp_clauses): Use it or tsubst_copy instead of
693 tsubst_expr on OMP_CLAUSE_DECL.
695 2015-06-17 Jason Merrill <jason@redhat.com>
698 * tree.c (replace_placeholders_r) [CONSTRUCTOR]: Handle type
702 * tree.c (bot_manip): Remap SAVE_EXPR.
705 * pt.c (tsubst_copy) [VAR_DECL]: Use process_outer_var_ref.
708 * constexpr.c (cxx_eval_store_expression): Avoid messing up outer
712 * cp-tree.h (TEMPLATE_DECL_COMPLEX_ALIAS_P): New.
713 * pt.c (push_template_decl_real): Set it.
714 (dependent_alias_template_spec_p): Use it.
715 (dependent_type_p_r): Use dependent_alias_template_spec_p.
716 (uses_all_template_parms_data, uses_all_template_parms_r)
717 (complex_alias_template_p): New.
718 (get_template_parm_index): Handle BOUND_TEMPLATE_TEMPLATE_PARM.
720 2015-06-12 Jason Merrill <jason@redhat.com>
723 * pt.c (tsubst_decl) [VAR_DECL]: Mark namespace-scope
724 variables as DECL_NOT_REALLY_EXTERN.
726 2015-06-11 Jason Merrill <jason@redhat.com>
729 * constexpr.c (potential_constant_expression_1): Handle a
730 DECL_EXPR of TYPE_DECL.
732 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
734 * decl.c (cxx_init_decl_processing): Register the main
735 translation unit through the new debug hook.
737 2015-06-09 Jason Merrill <jason@redhat.com>
740 * semantics.c (process_outer_var_ref): Make sure the value is
741 actually constant before returning it.
742 * typeck.c (cp_build_array_ref): Allow subscripting non-lvalue
746 * tree.c (replace_placeholders_r): Handle placeholders for an
748 * typeck2.c (store_init_value): Only replace_placeholders for
749 objects of class type.
751 2015-06-05 Jason Merrill <jason@redhat.com>
754 * pt.c (argument_pack_element_is_expansion_p): Return 2 if
755 the expansion has extra args.
756 (use_pack_expansion_extra_args_p): Return true in that case.
759 * pt.c (type_dependent_expression_p): EXPR_PACK_EXPANSION is
760 dependent even if it has a type.
762 2015-06-05 Jason Merrill <jason@redhat.com>
765 * decl2.c (mark_used): Don't always instantiate constexpr fns.
766 * constexpr.c (cxx_eval_call_expression): Instantiate them here.
768 2015-06-04 Marek Polacek <polacek@redhat.com>
770 Backported from mainline
771 2015-06-03 Marek Polacek <polacek@redhat.com>
774 * cp-gimplify.c (struct cp_genericize_data): Add no_sanitize_p.
775 (cp_genericize_r): Don't instrument static initializers.
776 (cp_genericize_tree): Initialize wtd.no_sanitize_p.
778 2015-05-31 Jason Merrill <jason@redhat.com>
781 * constexpr.c (cxx_eval_constant_expression): Treat a placeholder
782 with the wrong type as non-constant.
784 * pt.c (tsubst_decl) [VAR_DECL]: SET_DECL_IMPLICIT_INSTANTIATION
785 before register_specialization.
787 2015-05-22 Jakub Jelinek <jakub@redhat.com>
789 Backported from mainline
790 2015-05-19 Jakub Jelinek <jakub@redhat.com>
793 * parser.c (cp_parser_omp_for_loop): Don't add
794 OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
795 OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
796 (cp_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
799 2015-05-18 Jason Merrill <jason@redhat.com>
801 * pt.c (tsubst_decl) [VAR_DECL]: Call coerce_innermost_template_parms.
802 (determine_specialization): Call coerce_template_parms.
804 * tree.c (strip_typedefs_expr) [TRAIT_EXPR]: Fix typo.
805 (strip_typedefs) [DECLTYPE_TYPE]: Fix typedef of decltype.
806 [TREE_LIST]: Fix no-change case.
808 2015-05-07 Jason Merrill <jason@redhat.com>
811 * parser.c (cp_parser_std_attribute_list): Handle attribute expansion.
812 (cp_parser_std_attribute_spec): Handle alignas pack expansion.
813 * decl2.c (is_late_template_attribute): An attribute exp is dependent.
814 * pt.c (make_pack_expansion): Allow TREE_LIST for attribute expansion.
815 (apply_late_template_attributes): Handle attribute pack expansion.
819 * typeck2.c (digest_init_r): Fix single element list.
821 2015-05-05 Jason Merrill <jason@redhat.com>
823 * decl.c (start_decl): Don't push the plain VAR_DECL for a
826 2015-05-04 Paolo Carlini <paolo.carlini@oracle.com>
827 Jakub Jelinek <jakub@redhat.com>
830 * typeck2.c (check_narrowing): Check by-hand that the pedwarn didn't
831 result in an actual error.
833 2015-05-01 Paolo Carlini <paolo.carlini@oracle.com>
834 Prathamesh Kulharni <prathamesh.kulkarni@linaro.org>
837 * typeck2.c (check_narrowing): Set ok = true when pedwarn returns
840 2015-04-30 Paolo Carlini <paolo.carlini@oracle.com>
843 * typeck2.c (check_narrowing): In C++11 mode too, -Wno-narrowing
844 suppresses the diagnostic.
846 2015-04-30 Jason Merrill <jason@redhat.com>
849 * constexpr.c (cxx_eval_call_expression): Fail gracefully if cgraph
850 threw away DECL_SAVED_TREE.
852 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
854 Backport from trunk r222564:
856 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
858 * pt.c (tsubst_expr) <OMP_TARGET_UPDATE>: Use
859 OMP_TARGET_UPDATE_CLAUSES instead of OMP_CLAUSES.
861 2015-04-28 Jason Merrill <jason@redhat.com>
864 * constexpr.c (cxx_eval_store_expression): Don't try to actually
865 store an empty class.
867 2015-04-22 Marek Polacek <polacek@redhat.com>
870 * lambda.c (maybe_resolve_dummy): Handle null return.
872 2015-04-22 Jason Merrill <jason@redhat.com>
875 * cvt.c (cp_fold_convert): Avoid wrapping PTRMEM_CST in NOP_EXPR.
878 * name-lookup.c (do_class_using_decl): Complain about specifying
879 the current class even if there are dependent bases.
881 2015-04-22 David Krauss <david_work@me.com>
884 * decl.c (grokdeclarator): Do not flag friends with deduced return.
886 2015-04-22 Release Manager
888 * GCC 5.1.0 released.
890 2015-04-20 Ilya Verbin <ilya.verbin@intel.com>
892 * parser.c (cp_parser_omp_target_update): Add missed %> to error_at ().
894 2015-04-12 Jakub Jelinek <jakub@redhat.com>
897 * constexpr.c (cxx_eval_pointer_plus_expression): Don't fold for VLAs,
898 don't fold if op01 isn't divisible by TYPE_SIZE_UNIT. Convert
899 the expression to the original type at the end.
901 2015-04-09 Jakub Jelinek <jakub@redhat.com>
904 * tree.c (cp_build_qualified_type_real): Copy TYPE_ALIGN and
908 * tree.c (build_cplus_array_type): Layout type before variants are
909 set, but copy over TYPE_SIZE and TYPE_SIZE_UNIT from the main
912 2015-04-03 Paolo Carlini <paolo.carlini@oracle.com>
915 * lambda.c (add_capture): Use dependent_type_p for capture by
918 2015-04-02 Marek Polacek <polacek@redhat.com>
921 * constexpr.c (cxx_eval_pointer_plus_expression): Call
922 cxx_eval_constant_expression on the first operand.
924 2015-04-01 Jason Merrill <jason@redhat.com>
927 * decl.c (make_typename_type): Handle seeing a variable template.
929 2015-04-01 Paolo Carlini <paolo.carlini@oracle.com>
932 * pt.c (instantiating_current_function_p): New.
933 * name-lookup.c (pushdecl_maybe_friend_1): Use it.
934 * cp-tree.h (instantiating_current_function_p): Declare.
936 2015-04-01 Jason Merrill <jason@redhat.com>
939 * decl.c (grokvardecl): Don't call check_explicit_specialization
940 for non-template members of a class template.
942 2015-04-01 Marek Polacek <polacek@redhat.com>
945 * class.c (finish_struct): Require that the second field of a
946 user-defined initializer_list be of size type.
948 2015-03-31 Marek Polacek <polacek@redhat.com>
951 * tree.c (build_cplus_array_type): Use dependent_type_p rather than
952 checking for constness.
954 2015-03-30 Marek Polacek <polacek@redhat.com>
957 * constexpr.c (cxx_fold_indirect_ref): Don't perform the
958 *(&A[i] p+ j) => A[i + j] transformation here.
959 (cxx_eval_pointer_plus_expression): New function.
960 (cxx_eval_constant_expression): Use it here.
962 2015-03-27 Tobias Burnus <burnus@net-b.de>
965 * parser.c (cp_parser_omp_for, cp_parser_omp_parallel,
966 cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target,
967 cp_parser_omp_declare): Don't show error for skipped omp pragmas with
970 2015-03-27 Marek Polacek <polacek@redhat.com>
973 * semantics.c (finish_switch_cond): If the unlowered type is not an
974 enum, use the type of the condition.
976 2015-03-27 Jason Merrill <jason@redhat.com>
979 * decl.c (make_rtl_for_nonlocal_decl): Don't defer static
982 2015-03-26 Mikhail Maltsev <maltsevm@gmail.com>
985 * init.c (build_vec_init): Fix initializing aggregates
986 with empty init list.
988 2015-03-26 Jason Merrill <jason@redhat.com>
991 * constexpr.c (potential_constant_expression_1): Handle MEM_REF.
993 2015-03-25 Marek Polacek <polacek@redhat.com>
996 * name-lookup.c (handle_namespace_attrs): Ignore abi_tag attribute
997 on an anonymous namespace.
999 2015-03-25 Marek Polacek <polacek@redhat.com>
1002 * class.c (remove_zero_width_bit_fields): Check for null DECL_SIZE.
1004 2015-03-24 Jason Merrill <jason@redhat.com>
1007 * cp-tree.h (NAMESPACE_IS_INLINE): Remove.
1008 * parser.c (cp_parser_namespace_definition): Don't set it.
1009 * name-lookup.c (handle_namespace_attrs): Check
1010 DECL_NAMESPACE_ASSOCIATIONS instead.
1013 * pt.c (get_mostly_instantiated_function_type): Just return the
1014 type of the partially instantiated template in DECL_TI_TEMPLATE.
1016 2015-03-20 Marek Polacek <polacek@redhat.com>
1019 * constexpr.c (cxx_fold_indirect_ref): Transform *(&A[i] p+ j) into
1022 2015-03-20 Marek Polacek <polacek@redhat.com>
1025 * typeck.c (lookup_anon_field): Make sure we're dealing with the main
1028 2015-03-19 Jason Merrill <jason@redhat.com>
1031 Automatically propagate ABI tags to variables and functions
1032 from their (return) type.
1033 * class.c (check_tag): Handle variables and functions.
1034 (mark_or_check_attr_tags): Split out from find_abi_tags_r.
1035 (mark_or_check_tags): Likewise.
1036 (mark_abi_tags): Use it. Rename from mark_type_abi_tags.
1037 (check_abi_tags): Add single argument overload for decls.
1038 Handle inheriting tags for decls.
1039 * mangle.c (write_mangled_name): Call it.
1040 (mangle_return_type_p): Split out from write_encoding.
1041 (unmangled_name_p): Split out from write_mangled_name.
1042 (write_mangled_name): Ignore abi_tag on namespace.
1043 * cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG.
1044 * parser.c (cp_parser_namespace_definition): Set it.
1045 * name-lookup.c (handle_namespace_attrs): Use arguments. Warn
1046 about abi_tag attribute on non-inline namespace.
1047 * tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute.
1048 (handle_abi_tag_attribute): Allow tags on variables.
1050 2015-03-19 Jakub Jelinek <jakub@redhat.com>
1052 * decl2.c (cplus_decl_attributes): Also add "omp declare target"
1053 attribute for DECL_EXTERNAL VAR_DECLs.
1055 2015-03-18 Paolo Carlini <paolo.carlini@oracle.com>
1058 * call.c (build_over_call): Pass the tsubst_flags_t argument to
1060 * decl2.c (mark_used): Inline the require_deduced_type call and
1061 guard the error call.
1063 2015-03-16 Jason Merrill <jason@redhat.com>
1066 * parser.c (cp_parser_template_name): Call strip_using_decl.
1068 2015-03-16 Marek Polacek <polacek@redhat.com>
1072 * decl.c (grokdeclarator): Allow volatile and constexpr together.
1074 2015-03-12 Paolo Carlini <paolo.carlini@oracle.com>
1077 * decl.c (check_default_argument): Don't call
1078 maybe_warn_zero_as_null_pointer_constant.
1080 2015-03-11 Aldy Hernandez <aldyh@redhat.com>
1082 * cp-gimplify.c (simple_empty_class_p): New.
1083 * cp-gimplify.c (cp_gimplify_expr): Handle RETURN_EXPR. Abstract
1084 the code for empty class copies into simple_empty_class_p, and
1085 adapt it to handle COMPOUND_EXPRs.
1087 2015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
1090 * decl.c (duplicate_decls): Call check_redeclaration_no_default_args
1091 only if the location of newdecl doesn't match the location of olddecl.
1093 2015-03-10 Jakub Jelinek <jakub@redhat.com>
1096 * parser.c (parsing_nsdmi): Don't return true if current_class_ptr
1099 2015-03-10 Jason Merrill <jason@redhat.com>
1103 * pt.c (dependent_type_p_r): Check both class and alias template args.
1105 2015-03-10 Jakub Jelinek <jakub@redhat.com>
1108 * parser.c (cp_parser_binary_expression): Check for tcc_comparison
1109 before preparing arguments to warn_logical_not_parentheses.
1110 Use maybe_constant_value on rhs.
1112 2015-03-09 Jason Merrill <jason@redhat.com>
1115 * call.c: Don't call maybe_resolve_dummy when calling a constructor.
1117 2015-03-09 Jakub Jelinek <jakub@redhat.com>
1120 * parser.c (cp_parser_binary_expression): Don't warn for
1121 !!x == y or !b == y where b is bool.
1123 2015-03-06 Aldy Hernandez <aldyh@redhat.com>
1125 * ptree.c (cxx_print_lambda_node): New.
1126 (cxx_print_xnode): Handle LAMBDA_EXPR.
1128 2015-03-03 Aldy Hernandez <aldyh@redhat.com>
1131 * constexpr.c (cxx_eval_constant_expression): Remove assert in
1132 RESULT_DECL handling.
1134 2015-02-26 Marek Polacek <polacek@redhat.com>
1137 * constexpr.c (cxx_eval_constant_expression): Don't evaluate
1138 a RETURN_EXPR if its operand is null.
1140 2015-02-25 Jason Merrill <jason@redhat.com>
1143 * decl2.c (constrain_visibility) [VISIBILITY_ANON]: Clear
1145 (constrain_visibility_for_template): Handle reference arguments.
1148 * decl.c (start_preparsed_function): Use create_artificial_label
1151 2015-02-17 Paolo Carlini <paolo.carlini@oracle.com>
1152 Jakub Jelinek <jakub@redhat.com>
1155 * constexpr.c (check_constexpr_bind_expr_vars): Allow
1156 implicit typedefs for lambda types.
1158 2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
1161 * decl.c (lookup_and_check_tag): Use strip_using_decl.
1163 2015-02-13 Jason Merrill <jason@redhat.com>
1166 * pt.c (template_args_equal): Look through conversions here.
1167 * tree.c (cp_tree_equal): Not here.
1169 2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
1172 * parser.c (cp_parser_pragma): Diagnose PRAGMA_IVDEP at
1173 pragma_external context.
1175 2015-02-13 Jason Merrill <jason@redhat.com>
1178 * call.c (reference_binding): Don't look for bad conversion
1179 if TO is incomplete.
1181 2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
1184 * decl.c (make_typename_type): Pass tsubst_flags_t argument
1185 to lookup_template_class.
1187 2015-02-13 Jakub Jelinek <jakub@redhat.com>
1190 * decl.c (start_preparsed_function): Use void_type_node instead
1191 of NULL_TREE as LABEL_DECL type.
1193 2015-02-12 Jason Merrill <jason@redhat.com>
1196 * mangle.c (write_mangled_name): Fix test for variable template
1199 * decl.c (begin_destructor_body): Condition clobber on
1202 2015-02-12 Andrea Azzarone <azzaronea@gmail.com>
1205 * parser.c (lookup_literal_operator): Return all candidates.
1206 (cp_parser_userdef_char_literal): Simplify error handling.
1207 (cp_parser_userdef_numeric_literal): Pass tf_warning_or_error.
1208 (cp_parser_userdef_string_literal): Pass tf_warning_or_error.
1209 Also give higher priority to standard string UDL operator.
1211 2015-02-12 Jakub Jelinek <jakub@redhat.com>
1214 * cp-tree.h (BLOCK_OUTER_CURLY_BRACE_P): Define.
1215 * decl.c (poplevel): If functionbody, try not to create an extra
1216 BLOCK for function body and use subblocks as that, if it is non-NULL
1217 and doesn't have siblings. Set BLOCK_OUTER_CURLY_BRACE_P flag.
1218 (outer_curly_brace_block): Use BLOCK_OUTER_CURLY_BRACE_P flag.
1221 * except.c (check_noexcept_r): Return NULL for internal
1224 2015-02-10 Jason Merrill <jason@redhat.com>
1227 * constexpr.c (cxx_eval_call_expression): Walk the clone list.
1229 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
1232 * method.c (use_thunk): Do not check for stdarg thunks.
1234 2015-02-06 Jason Merrill <jason@redhat.com>
1237 * init.c (build_vec_init): Handle default-initialized array with
1238 constexpr default constructor.
1240 2015-02-04 Jakub Jelinek <jakub@redhat.com>
1244 * parser.c (cp_parser_omp_atomic): Handle RDIV_EXPR.
1246 2015-02-03 Paolo Carlini <paolo.carlini@oracle.com>
1249 * typeck.c (cp_build_binary_op): Avoid spurious -Waddress warnings
1250 for generated expressions.
1252 2015-02-02 Ville Voutilainen <ville.voutilainen@gmail.com>
1255 * decl.c (duplicate_decls): Also duplicate DECL_FINAL_P and
1258 2015-02-02 Jason Merrill <jason@redhat.com>
1260 * tree.c (handle_abi_tag_attribute): Diagnose invalid arguments.
1262 2015-01-30 Joseph Myers <joseph@codesourcery.com>
1264 * class.c, except.c, parser.c, pt.c: All callers of fatal_error
1265 changed to pass input_location as first argument.
1267 2015-01-29 Jakub Jelinek <jakub@redhat.com>
1270 * cp-ubsan.c (cp_ubsan_instrument_vptr): Don't wrap vptr
1273 2015-01-29 Jason Merrill <jason@redhat.com>
1276 * semantics.c (finish_return_stmt): Suppress -Wreturn-type on
1277 erroneous return statement.
1280 * repo.c (repo_emit_p): It's OK for a clone to be extern at this
1283 2015-01-27 Caroline Tice <cmtice@google.com>
1285 Committing VTV Cywin/Ming patch for Patrick Wollgast
1286 * vtable-class-hierarchy.cc (vtv_generate_init_routine): Add
1287 check for not TARGET_PECOFF at the VTV_PREINIT_PRIORITY checks.
1289 2015-01-27 Jason Merrill <jason@redhat.com>
1292 * lambda.c (maybe_add_lambda_conv_op): Check cfun rather than
1293 current_function_decl.
1296 * pt.c (finish_template_variable): Move from semantics.c.
1297 Handle multiple template arg levels. Handle coercion here.
1298 (lookup_template_variable): Not here.
1300 2015-01-23 Jason Merrill <jason@redhat.com>
1304 * typeck2.c (split_nonconstant_init_1): Remove a sub-CONSTRUCTOR
1305 that has been completely split out.
1308 * constexpr.c (cxx_eval_constant_expression): Don't crash on C++
1312 * constexpr.c (cxx_eval_constant_expression): Allow for lvalue use
1315 2015-01-21 Jason Merrill <jason@redhat.com>
1318 * constexpr.c (cxx_eval_constant_expression): Only shortcut
1319 constant CONSTRUCTORs.
1322 * constexpr.c (ensure_literal_type_for_constexpr_object): Don't
1323 give a hard error in a template instantiation.
1325 2015-01-21 Richard Biener <rguenther@suse.de>
1328 * decl.c (duplicate_decls): Call set_builtin_decl_declared_p
1329 for builtins the user declared correctly.
1331 2015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1334 * pt.c (unify): When BRACE_ENCLOSED_INITIALIZER_P (arg), handle
1335 TREE_TYPE (elt) == error_mark_node.
1337 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
1339 PR tree-optimization/62053
1340 * tree.c (build_cplus_array_type): Layout type after variants are set.
1342 2015-01-15 Jakub Jelinek <jakub@redhat.com>
1344 * cp-gimplify.c (cp_genericize_r): Call
1345 cp_ubsan_maybe_instrument_member_call for member calls.
1346 (cp_ubsan_check_member_access_r): New function.
1347 (cp_genericize_tree): Call cp_ubsan_instrument_member_accesses.
1348 * cp-tree.h (cp_ubsan_maybe_instrument_member_call,
1349 cp_ubsan_instrument_member_accesses,
1350 cp_ubsan_maybe_instrument_downcast,
1351 cp_ubsan_maybe_instrument_cast_to_vbase): New prototypes.
1352 * cp-ubsan.c: New file.
1353 * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-ubsan.o.
1354 * constexpr.c (cxx_eval_call_expression): Return void_node
1356 (potential_constant_expression_1): Return true for
1357 UBSAN_NULL, UBSAN_BOUNDS and UBSAN_VPTR internal calls.
1358 * typeck.c (build_class_member_access_expr): Provide locus
1360 (build_static_cast_1): Instrument downcasts.
1361 * class.c (build_base_path): For -fsanitize=vptr and !fixed_type_p
1362 add ubsan instrumentation for virtual_access.
1363 * call.c: Include internal-fn.h.
1364 (set_flags_from_callee): Handle internal calls.
1366 2015-01-15 Momchil Velikov <momchil.velikov@gmail.com>
1369 * name-lookup.c (pushdecl_maybe_friend_1): Hide friend functions
1370 and function templates, declared only in the class.
1371 * decl.c (duplicate_decls): Reveal hidden friend functions or
1372 function templates, if they are redeclared outside the class.
1374 2015-01-15 Jason Merrill <jason@redhat.com>
1377 * constexpr.c (cxx_eval_binary_expression): Fix pasto.
1380 * constexpr.c (potential_constant_expression_1): Handle reference
1383 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1384 James Norris <jnorris@codesourcery.com>
1385 Cesar Philippidis <cesar@codesourcery.com>
1386 Ilmir Usmanov <i.usmanov@samsung.com>
1387 Jakub Jelinek <jakub@redhat.com>
1389 * parser.c: Include "gomp-constants.h".
1390 (cp_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
1391 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
1392 Use OMP_CLAUSE_SET_MAP_KIND.
1393 (cp_parser_omp_construct, cp_parser_pragma): Handle
1394 PRAGMA_OACC_CACHE, PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA,
1395 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_PARALLEL,
1396 PRAGMA_OACC_LOOP, PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
1397 (cp_parser_omp_clause_name): Handle "async", "copy", "copyout",
1398 "create", "delete", "deviceptr", "host", "num_gangs",
1399 "num_workers", "present", "present_or_copy", "pcopy",
1400 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
1401 "present_or_create", "pcreate", "vector_length", "wait".
1402 (OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK)
1403 (OACC_EXIT_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
1404 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
1405 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
1406 (cp_parser_omp_var_list_no_open): Handle OMP_CLAUSE__CACHE_.
1407 (cp_parser_oacc_data_clause, cp_parser_oacc_data_clause_deviceptr)
1408 (cp_parser_oacc_clause_vector_length, cp_parser_oacc_wait_list)
1409 (cp_parser_oacc_clause_wait, cp_parser_omp_clause_num_gangs)
1410 (cp_parser_omp_clause_num_workers, cp_parser_oacc_clause_async)
1411 (cp_parser_oacc_all_clauses, cp_parser_oacc_cache)
1412 (cp_parser_oacc_data, cp_parser_oacc_enter_exit_data)
1413 (cp_parser_oacc_kernels, cp_parser_oacc_loop)
1414 (cp_parser_oacc_parallel, cp_parser_oacc_update)
1415 (cp_parser_oacc_wait): New functions.
1416 * cp-tree.h (finish_oacc_data, finish_oacc_kernels)
1417 (finish_oacc_parallel): New prototypes.
1418 * semantics.c: Include "gomp-constants.h".
1419 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
1420 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
1421 OMP_CLAUSE_SET_MAP_KIND.
1422 (finish_omp_clauses): Handle OMP_CLAUSE_ASYNC,
1423 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_WAIT, OMP_CLAUSE__CACHE_.
1424 Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
1425 (finish_oacc_data, finish_oacc_kernels, finish_oacc_parallel): New
1428 2015-01-14 Paolo Carlini <paolo.carlini@oracle.com>
1431 * decl2.c (var_defined_without_dynamic_init): Handle gracefully
1432 self-initialization.
1434 2015-01-13 Jason Merrill <jason@redhat.com>
1438 * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
1439 pointer expressions.
1440 (cxx_eval_increment_expression): Likewise.
1443 * pt.c (coerce_template_parameter_pack): Return NULL for a
1444 zero-length fixed parameter pack with a pack expansion arg.
1447 * pt.c (unify): Don't try to deduce to std::initializer_list<T...>.
1449 2015-01-12 Jason Merrill <jason@redhat.com>
1452 * constexpr.c (cxx_eval_call_expression): A call to a void
1453 function doesn't need to return a value.
1455 2015-01-09 Michael Collison <michael.collison@linaro.org>
1457 * call.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1458 input.h, alias.h, symtab.h, options.h, fold-const.h,
1459 wide-int.h, and inchash.h due to flattening of tree.h.
1461 * constexpr.c: Ditto.
1462 * cp-array-notation.c: Ditto.
1463 * cp-gimplify.c: Ditto.
1465 * cp-objcp-common.c: Ditto.
1478 * name-lookup.c: Ditto.
1479 * optimize.c: Ditto.
1486 * semantics.c: Ditto.
1491 2015-01-08 Jason Merrill <jason@redhat.com>
1493 * cp-gimplify.c (cp_genericize): Use do_ubsan_in_current_function.
1494 * decl.c (compute_array_index_type): Likewise.
1495 * init.c (build_vec_init): Likewise.
1496 * typeck.c (cp_build_binary_op): Likewise.
1498 2015-01-08 Jason Merrill <jason@redhat.com>
1500 * init.c (build_vec_init): Call ubsan_instrument_bounds to check
1501 whether an initializer-list is too big for a VLA.
1502 (throw_bad_array_length): Remove.
1503 * cp-tree.h: Remove prototype.
1505 2015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
1508 * decl.c (grokfndecl): Add bool parameter.
1509 (grokdeclarator): Adjust calls.
1510 (start_decl): Don't set DECL_DELETED_FN here.
1512 2015-01-06 Jason Merrill <jason@redhat.com>
1514 * parser.c (cp_parser_nested_name_specifier_opt): Diagnose invalid
1518 * pt.c (type_dependent_expression_p): Handle variable templates.
1519 * constexpr.c (potential_constant_expression_1): Use it.
1522 * semantics.c (finish_offsetof): Handle templates here.
1523 * parser.c (cp_parser_builtin_offsetof): Not here.
1526 * semantics.c (process_outer_var_ref): Diagnose lambda in local
1529 2015-01-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1532 * class.c (check_field_decls): Make copy assignment operators
1533 complex only in c++98 mode.
1535 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1538 * class.c (check_for_override): Warn when a virtual function is an
1539 override not marked override.
1541 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1543 * class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to
1545 (get_basefndecls): Adjust.
1547 2015-01-05 Jakub Jelinek <jakub@redhat.com>
1549 Update copyright years.
1551 2015-01-05 Marek Polacek <polacek@redhat.com>
1554 * typeck.c (cp_build_array_ref): Pass loc down to
1555 warn_array_subscript_with_type_char.
1558 Copyright (C) 2015 Free Software Foundation, Inc.
1560 Copying and distribution of this file, with or without modification,
1561 are permitted in any medium without royalty provided the copyright
1562 notice and this notice are preserved.