aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/ChangeLog
AgeCommit message (Collapse)Author
2018-04-25Merge branches/gcc-6-branch rev 259634.Maxim Kuvyrkov
Change-Id: I7b52b8f2a04e93123094009da7895d55238b03ef
2018-03-08Merge branches/gcc-6-branch rev 258335 .Maxim Kuvyrkov
Change-Id: I03b5446106d0313b01799c902a8f52f92c908045
2017-10-12Merge branches/gcc-6-branch rev 253668Mark Murray
Change-Id: I02945f1bb64c8600fc82e0ddc3230ebcad1354eb
2017-08-16Merge branches/gcc-6-branch rev 251111.Yvan Roux
Change-Id: I53b64fff4b70d6e8910ec081aab6060963fc16a0
2017-07-07Merge branches/gcc-6-branch rev 250045.Yvan Roux
Change-Id: Ib476af153a46d43eb0d966f8cee4eeaacce673b6
2017-06-13Merge branches/gcc-6-branch rev 249140.Yvan Roux
Change-Id: I6b73a3960133b7cfc1a59998d7411d8a247b84e0
2017-05-12Merge branches/gcc-6-branch rev 247789.Yvan Roux
Change-Id: Ib5fcddc79d6b7cab079df944d9b5317f37821ad9
2017-04-04Merge branches/gcc-6-branch rev 246668.Yvan Roux
Change-Id: If1d4497c52a1bdde1390c2377e3f2c16ac2e73b4
2017-03-15Merge branches/gcc-6-branch rev 246148.Yvan Roux
Change-Id: I706269373548f876b7f0d205507817f52ee8a2df
2017-02-06Merge branches/gcc-6-branch rev 245201.Yvan Roux
Change-Id: Ibc46d8742ef080683f302f5623b4907e9622ac4c
2017-01-09Merge branches/gcc-6-branch rev 244220.Yvan Roux
Change-Id: I9f2d907c75595859355f909019b9109011440154
2016-12-13Merge branches/gcc-6-branch rev 243594.Yvan Roux
Change-Id: I681a233c1e96ce184d241bab38b61cd8ac8f08a8
2016-11-15Merge branches/gcc-6-branch rev 242371.Yvan Roux
Change-Id: Ia4fb8e9e94629da786722b5e68605dc8bb971741
2016-10-16Merge branches/gcc-6-branch rev 241214.Yvan Roux
Change-Id: I2fc7e5fc01a9015199e9be293b8a7b503fd5a829
2016-08-22Merge branches/gcc-6-branch rev 239654.Yvan Roux
Change-Id: I21e71f9dc10e3bedc0760cd5cc6b8d36234e3d41
2016-07-11Merge branches/gcc-6-branch rev 238201.Yvan Roux
Change-Id: Ib44920195c04c4e75202c096d6140ff9e9a7c78b
2016-06-15Merge branches/gcc-6-branch rev 237469.Yvan Roux
Change-Id: I4891542fc1d8fd3bb75e92a8805a8d069022b522
2016-04-29 gcc/c-family/cesar
PR middle-end/70626 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument. * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate reduction clauses in acc parallel loops. gcc/c/ PR middle-end/70626 * c-parser.c (c_parser_oacc_loop): Don't augment mask with OACC_LOOP_CLAUSE_MASK. (c_parser_oacc_kernels_parallel): Update call to c_oacc_split_loop_clauses. gcc/cp/ PR middle-end/70626 * parser.c (cp_parser_oacc_loop): Don't augment mask with OACC_LOOP_CLAUSE_MASK. (cp_parser_oacc_kernels_parallel): Update call to c_oacc_split_loop_clauses. gcc/fortran/ PR middle-end/70626 * trans-openmp.c (gfc_trans_oacc_combined_directive): Duplicate the reduction clause in both parallel and loop directives. gcc/testsuite/ PR middle-end/70626 * c-c++-common/goacc/combined-reduction.c: New test. * gfortran.dg/goacc/reduction-2.f95: Add check for kernels reductions. libgomp/ PR middle-end/70626 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test. * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test. * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235650 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-28/cppaolo
2016-04-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70540 * semantics.c (process_outer_var_ref): Unconditionally return error_mark_node when mark_used returns false. /testsuite 2016-04-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70540 * g++.dg/cpp0x/auto48.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235552 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-27Update ChangeLog and version files for releasegcc-6_1_0-releasegccadmin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235473 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-26 PR bootstrap/70704jakub
* pt.c (build_non_dependent_expr): Temporarily disable flag_checking guarded code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235429 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-22 PR c++/68206 - Fix constexpr diagnostics with loops.jason
PR c++/68530 * constexpr.c (potential_constant_expression_1): Handle LOOP_EXPR and GOTO_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235369 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-22 PR c++/70522 - fix N4381 customization pointsjason
* name-lookup.c (qualified_lookup_using_namespace): Look through hidden names. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235368 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-20 PR c++/66543 - -Wunused-but-set* false positivesjason
* expr.c (mark_exp_read): Handle NON_DEPENDENT_EXPR. * pt.c (make_pack_expansion): Call mark_exp_read. * semantics.c (finish_id_expression): Call mark_type_use in unevaluated context. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235279 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-18 PR c++/70690jason
PR c++/70528 * class.c (type_maybe_constexpr_default_constructor): New. (type_has_constexpr_default_constructor): Revert. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235171 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-18 PR c++/70505jason
* pt.c (tsubst_baselink): Give the new TEMPLATE_ID_EXPR unknown_type_node, too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235170 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-15 PR c++/70685jason
* constexpr.c (get_fundef_copy): Handle null *slot. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235046 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-15 * BASE-VER: Set to 6.0.1.jakub
* DEV-PHASE: Set to prerelease. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235036 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-15 PR c/70436jakub
c/ * c-parser.c (c_parser_pragma): Add IF_P argument, pass it down where needed. (c_parser_external_declaration, c_parser_struct_or_union_specifier, c_parser_parameter_declaration, c_parser_compound_statement_nostart, c_parser_objc_class_instance_variables, c_parser_objc_methodprotolist): Adjust c_parser_pragma callers. (c_parser_statement_after_labels): Likewise. Adjust c_parser_cilk_for caller. (c_parser_omp_structured_block): Add IF_P argument, pass it down to c_parser_statement. (c_parser_oacc_data, c_parser_oacc_host_data, c_parser_oacc_loop, c_parser_oacc_kernels_parallel, c_parser_omp_critical, c_parser_omp_simd, c_parser_omp_for, c_parser_omp_master, c_parser_omp_ordered, c_parser_omp_parallel, c_parser_omp_single, c_parser_omp_task, c_parser_omp_taskgroup, c_parser_omp_distribute, c_parser_omp_teams, c_parser_omp_target_data, c_parser_omp_target, c_parser_omp_taskloop, c_parser_omp_construct, c_parser_cilk_grainsize, c_parser_cilk_simd, c_parser_cilk_for): Add IF_P argument, pass it down where needed. (c_parser_omp_for_loop): Likewise. Clear IF_P if nbraces. (c_parser_omp_sections_scope): Adjust c_parser_omp_structured_block calls. cp/ * parser.c (cp_parser_pragma): Add IF_P argument, pass it down where needed. (cp_parser_declaration_seq_opt, cp_parser_member_specification_opt, cp_parser_objc_interstitial_code, cp_parser_omp_declare_simd, cp_parser_oacc_routine): Adjust cp_parser_pragma callers. (cp_parser_statement): Likewise. Adjust cp_parser_cilk_for caller. (cp_parser_omp_structured_block): Add IF_P argument, pass it down to cp_parser_statement. (cp_parser_oacc_data, cp_parser_oacc_host_data, cp_parser_oacc_loop, cp_parser_oacc_kernels_parallel, cp_parser_omp_critical, cp_parser_omp_simd, cp_parser_omp_for, cp_parser_omp_master, cp_parser_omp_ordered, cp_parser_omp_parallel, cp_parser_omp_single, cp_parser_omp_task, cp_parser_omp_taskgroup, cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target_data, cp_parser_omp_target, cp_parser_omp_taskloop, cp_parser_omp_construct, cp_parser_cilk_grainsize, cp_parser_cilk_simd, cp_parser_cilk_for): Add IF_P argument, pass it down where needed. (cp_parser_omp_for_loop): Likewise. Clear IF_P if nbraces. (cp_parser_omp_sections_scope): Adjust cp_parser_omp_structured_block calls. testsuite/ * c-c++-common/Wparentheses-1.c: New test. * c-c++-common/gomp/Wparentheses-1.c: New test. * c-c++-common/gomp/Wparentheses-2.c: New test. * c-c++-common/gomp/Wparentheses-3.c: New test. * c-c++-common/gomp/Wparentheses-4.c: New test. * c-c++-common/cilk-plus/PS/Wparentheses-1.c: New test. * c-c++-common/cilk-plus/CK/Wparentheses-1.c: New test. * c-c++-common/goacc/Wparentheses-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235020 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-15 PR c++/70494jason
* decl.c (cxx_maybe_build_cleanup): Handle non-decls. * typeck2.c (split_nonconstant_init_1): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235003 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-15 PR c++/70528jason
* class.c (type_has_constexpr_default_constructor): Return true for an implicitly declared constructor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235002 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-14 PR c++/70622jason
* parser.c (cp_parser_init_declarator): Add auto_result parm. (cp_parser_simple_declaration): Pass it. (strip_declarator_types): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234991 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-14 PR c++/70543jason
* pt.c (value_dependent_expression_p) [VAR_DECL]: A type-dependent initializer also makes the variable value-dependent. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234990 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-14 PR c++/70648jason
* constexpr.c (cxx_eval_store_expression): Also copy CONSTRUCTOR_NO_IMPLICIT_ZERO. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234989 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-14PR c++/70652 - [6 Regression] r234966 causes bootstrap to failmsebor
Revert patch for c++/69517, c++/70019, and c++/70588. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234981 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-14Revert empty class parameter passing ABI changes.jason
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234977 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-13PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elementsmsebor
PR c++/70019 - VLA size overflow not detected PR c++/70588 - SIGBUS on a VLA larger than SIZE_MAX / 2 gcc/testsuite/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 PR c++/70019 PR c++/70588 * c-c++-common/ubsan/vla-1.c (main): Catch exceptions. * g++.dg/cpp1y/vla11.C: New test. * g++.dg/cpp1y/vla12.C: New test. * g++.dg/cpp1y/vla13.C: New test. * g++.dg/cpp1y/vla14.C: New test. * g++.dg/cpp1y/vla3.C: Restore deleted test. * gcc/testsuite/g++.dg/init/array24.C: Fully brace VLA initializer. * g++.dg/ubsan/vla-1.C: Disable exceptions. gcc/cp/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 PR c++/70019 PR c++/70588 * cp-tree.h (throw_bad_array_length, build_vla_check): Declare new functions. * decl.c (check_initializer, cp_finish_decl): Call them. (reshape_init_r): Reject incompletely braced intializer-lists for VLAs. * init.c (throw_bad_array_length, build_vla_check) (build_vla_size_check, build_vla_init_check): Define new functions. * typeck2.c (split_nonconstant_init_1): Use variably_modified_type_p() to detect a VLA. (store_init_value): Same. gcc/doc/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 PR c++/70019 PR c++/70588 * extend.texi (Variable Length): Document C++ specifics. libstdc++-v3/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA upper bound is positive. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234966 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-13 Warn about empty parameter ABI with -Wabi=9.jason
* call.c (empty_class_msg, mark_for_abi_warning) (warn_empty_class_abi): New. (build_call_a): Use them. * decl.c (store_parm_decls): Use mark_for_abi_warning. * error.c (pp_format_to_string): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234960 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-13 Pass empty class parameters like C.jason
* call.c (pass_as_empty_struct, empty_class_arg): New. (type_passed_as, build_x_va_arg): Use pass_as_empty_struct. (build_call_a): Use empty_class_arg. * cp-tree.h (CPTI_EMPTY_STRUCT, empty_struct_type): New. * decl.c (cxx_init_decl_processing): Create empty_struct_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234959 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-13 PR c++/70627jason
* decl.c (start_enum): Don't change an existing ENUM_UNDERLYING_TYPE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234956 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-13/cppaolo
2016-04-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70635 * pt.c (resolve_typename_type): Fix typos in infinite recursion avoidance mechanism. /testsuite 2016-04-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70635 * g++.dg/parse/pr70635.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234953 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-13 PR c++/70634jason
* pt.c (instantiation_dependent_uneval_expression_p): Split out from instantiation_dependent_expression_p. (value_dependent_expression_p): Use it for unevaluated operands. (instantiation_dependent_r): Don't check value-dependence. (instantiation_dependent_expression_p): Check value-dependence of the expression as a whole. * cp-tree.h: Declare instantiation_dependent_uneval_expression_p. * semantics.c (finish_decltype_type): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234945 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-13 * constexpr.c (potential_nondependent_constant_expression): New.jason
(potential_nondependent_static_init_expression): New. (maybe_constant_value_1, fold_non_dependent_expr) (maybe_constant_init): Use them. * pt.c (instantiate_non_dependent_expr_sfinae) (instantiate_non_dependent_or_null, convert_nontype_argument): Use them. * cp-tree.h: Declare them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234944 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-13 PR c++/70594jakub
* decl.c (pop_labels_1): Removed. (note_label, sort_labels): New functions. (pop_labels): During named_labels traversal, just push the slot pointers into a vector, then qsort it by DECL_UID and only then call pop_label and chain it into BLOCK_VARS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234942 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-13 PR c++/70615jason
* cp-gimplify.c (cp_genericize_r): Expand PTRMEM_CST here. (cp_gimplify_expr): Not here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234940 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-13Fix PR c++/70610 (wrong overload resolution during template processing)ppalka
gcc/cp/ChangeLog: PR c++/70610 * tree.c (lvalue_kind) [NON_DEPENDENT_EXPR]: Unconditionally recurse into it. * typeck.c (build_x_conditional_expr): Unconditionally remember that the result is an lvalue or xvalue. gcc/testsuite/ChangeLog: PR c++/70610 * g++.dg/template/pr70610.C: New test. * g++.dg/template/pr70610-2.C: New test. * g++.dg/template/pr70610-3.C: New test. * g++.dg/template/pr70610-4.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234926 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-12 * class.c (is_really_empty_class): A zero-length array is empty.jason
An unnamed bit-field doesn't make a class non-empty. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234916 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-12/cppaolo
2016-04-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/68722 * parser.c (cp_parser_cache_defarg): When file ends in default argument simply return error_mark_node. /testsuite 2016-04-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/68722 * g++.dg/parse/pr68722.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234909 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-12 PR c++/70501nathan
cp/ * constexpr.c (cxx_eval_bare_aggregate): Handle VECTOR_TYPE similarly to PMF. testsuite/ * g++.dg/init/pr70501.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234904 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-11 * mangle.c (decl_is_template_id): The template itself counts as ajason
template-id. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234879 138bc75d-0d04-0410-961f-82ee72b054a4