aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/ChangeLog
AgeCommit message (Collapse)Author
2016-12-14Merge branches/gcc-5-branch rev 243604.Yvan Roux
Change-Id: Ibcfb5f95cbf4ef7a6f9d3834be9c07a3c6f89dcc
2016-10-16Merge branches/gcc-5-branch rev 241215.Yvan Roux
Change-Id: I17f93cbd80460a38eebd86fabeae3c500df715dd
2016-06-06Merge branches/gcc-5-branch rev 237113.Yvan Roux
Change-Id: Id2b625ab8c6d4c001fad5357c9b883c78ddd9e0c
2016-05-11Merge branches/gcc-5-branch rev 236108.Yvan Roux
Change-Id: I421c7be7ac36a838c822da9b9412865e9e4fb1fa
2016-04-14Merge branches/gcc-5-branch rev 234898.Yvan Roux
Change-Id: I076a131171e689eede74dd1827406c6d3855fcbd
2016-03-15Merge branches/gcc-5-branch rev 234210.Yvan Roux
Change-Id: I0e363c6a60a92a1290e80dc309e5293b8b99c324
2016-02-09Merge branches/gcc-5-branch rev 233233.Yvan Roux
Change-Id: If2cd17ed92b705b4b6468ed3da7c1bdc102a2368
2016-01-13Merge branches/gcc-5-branch rev 232321.Yvan Roux
Change-Id: I69778250351f56596e2aa93cbd9fe5ee12b54548
2015-12-15Merge branches/gcc-5-branch rev 231642.Yvan Roux
Change-Id: I58832e31b4e58588e1d0800c3fc09a01f91b6320
2015-11-12Merge branches/gcc-5-branch rev 230068.Yvan Roux
Change-Id: I95e1aeee6fd98bc5771de9c6c3c8e7fcfad72976
2015-09-16Merge branches/gcc-5-branch rev 227732.linaro-local/gcc-5-integration-branch-newYvan Roux
Change-Id: I2f59904b28323b1c72a8cf1bd62c9e460d95bcea
2015-06-13Merge branches/gcc-5-branch rev 224205.Christophe Lyon
Change-Id: Ibc4e9bab43a09106d387810a3de14c6ab0d5904c
2015-04-29Fix OpenMP's target update directive in templated code.tschwinge
FAIL: g++.dg/gomp/tpl-target-update.C -std=c++98 (internal compiler error) FAIL: g++.dg/gomp/tpl-target-update.C -std=c++98 (test for excess errors) FAIL: g++.dg/gomp/tpl-target-update.C -std=c++11 (internal compiler error) FAIL: g++.dg/gomp/tpl-target-update.C -std=c++11 (test for excess errors) FAIL: g++.dg/gomp/tpl-target-update.C -std=c++14 (internal compiler error) FAIL: g++.dg/gomp/tpl-target-update.C -std=c++14 (test for excess errors) [...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C: In instantiation of 'void f(T, T) [with T = int]': [...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C:19:9: required from here [...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C:10:9: internal compiler error: tree check: expected oacc_parallel or oacc_kernels or oacc_data or oacc_host_data or omp_parallel or omp_task or omp_for or omp_simd or cilk_simd or cilk_for or omp_distribute or oacc_loop or omp_teams or omp_target_data or omp_target or omp_sections or omp_single, have omp_target_update in tsubst_expr, at cp/pt.c:14209 0xf5aae1 tree_range_check_failed(tree_node const*, char const*, int, char const*, tree_code, tree_code) [...]/source-gcc/gcc/tree.c:9384 0x66e201 tree_range_check [...]/source-gcc/gcc/tree.h:2979 0x66e201 tsubst_expr [...]/source-gcc/gcc/cp/pt.c:14209 0x6695e3 tsubst_expr [...]/source-gcc/gcc/cp/pt.c:13752 0x66ac07 tsubst_expr [...]/source-gcc/gcc/cp/pt.c:13938 0x667c41 instantiate_decl(tree_node*, int, bool) [...]/source-gcc/gcc/cp/pt.c:20367 0x6ae386 instantiate_pending_templates(int) [...]/source-gcc/gcc/cp/pt.c:20484 0x6edc3d cp_write_global_declarations() [...]/source-gcc/gcc/cp/decl2.c:4456 Backport from trunk r222564: gcc/cp/ * pt.c (tsubst_expr) <OMP_TARGET_UPDATE>: Use OMP_TARGET_UPDATE_CLAUSES instead of OMP_CLAUSES. gcc/testsuite/ * g++.dg/gomp/tpl-target-update.C: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@222565 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-29 PR c++/65896jason
* constexpr.c (cxx_eval_store_expression): Don't try to actually store an empty class. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@222557 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-22 PR c++/65727jason
* lambda.c (maybe_resolve_dummy): Handle null return. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@222340 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-22 PR c++/65695jason
* cvt.c (cp_fold_convert): Avoid wrapping PTRMEM_CST in NOP_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@222339 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-22 PR c++/65721jason
* name-lookup.c (do_class_using_decl): Complain about specifying the current class even if there are dependent bases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@222338 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-22 PR c++/59766jason
* decl.c (grokdeclarator): Do not flag friends with deduced return. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@222337 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-22Update ChangeLog and version files for releasegcc-5_1_0-releasegccadmin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@222316 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-20gcc/c/iverbin
* c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon. (c_parser_omp_target_update): Add missed %> to error_at (). gcc/cp/ * parser.c (cp_parser_omp_target_update): Add missed %> to error_at (). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@222240 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-12 PR c++/65736jakub
* constexpr.c (cxx_eval_pointer_plus_expression): Don't fold for VLAs, don't fold if op01 isn't divisible by TYPE_SIZE_UNIT. Convert the expression to the original type at the end. * g++.dg/cpp0x/pr65736.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222022 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-09 PR c++/65690jason
* tree.c (cp_build_qualified_type_real): Copy TYPE_ALIGN and TYPE_USER_ALIGN. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221960 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-09 PR c++/65690jakub
* tree.c (build_cplus_array_type): Layout type before variants are set, but copy over TYPE_SIZE and TYPE_SIZE_UNIT from the main variant. * c-c++-common/attr-aligned-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221952 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-03/cppaolo
2015-04-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/64085 * lambda.c (add_capture): Use dependent_type_p for capture by reference too. /testsuite 2015-04-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/64085 * g++.dg/cpp1y/lambda-init13.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221858 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-02 PR c++/65642mpolacek
* constexpr.c (cxx_eval_pointer_plus_expression): Call cxx_eval_constant_expression on the first operand. * g++.dg/cpp0x/constexpr-fold1.C: New test. * g++.dg/cpp0x/constexpr-fold2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221843 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-02 PR c++/65625jason
* decl.c (make_typename_type): Handle seeing a variable template. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221842 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-022015-04-02 Paolo Carlini <paolo.carlini@oracle.com>paolo
Complete commit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221841 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-01 PR c++/65646jason
* decl.c (grokvardecl): Don't call check_explicit_specialization for non-template members of a class template. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221810 138bc75d-0d04-0410-961f-82ee72b054a4
2015-04-01 PR c++/65554mpolacek
* class.c (finish_struct): Require that the second field of a user-defined initializer_list be of size type. * g++.dg/cpp0x/initlist93.C: New test. * g++.dg/cpp0x/initlist94.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221808 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-31 PR c++/65390mpolacek
* tree.c (build_cplus_array_type): Use dependent_type_p rather than checking for constness. * g++.dg/template/pr65390.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221799 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-30 PR c++/65398mpolacek
* constexpr.c (cxx_fold_indirect_ref): Don't perform the *(&A[i] p+ j) => A[i + j] transformation here. (cxx_eval_pointer_plus_expression): New function. (cxx_eval_constant_expression): Use it here. * g++.dg/cpp0x/pr65398-2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221777 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-272015-03-27 Tobias Burnus <burnus@net-b.de>burnus
PR c/65586 gcc/c/ * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't error out. (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute, c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare): Update calls to not error for skipped omp pragmas with -fopenmp-simd. gcc/cp/ * parser.c (cp_parser_omp_for, cp_parser_omp_parallel, cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target, cp_parser_omp_declare): Don't show error for skipped omp pragmas with -fopenmp-simd. gcc/testsuite/ * g++.dg/gomp/openmp-simd-3.C: New. * gcc.dg/gomp/openmp-simd-3.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221744 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-27 PR c++/65556mpolacek
* semantics.c (finish_switch_cond): If the unlowered type is not an enum, use the type of the condition. * c-c++-common/pr65556.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221738 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-27 PR c++/65509jason
* decl.c (make_rtl_for_nonlocal_decl): Don't defer static constants. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221737 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-26 PR c++/65154jason
* init.c (build_vec_init): Fix initializing aggregates with empty init list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221704 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-26 PR c++/65525jason
* constexpr.c (potential_constant_expression_1): Handle MEM_REF. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221699 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-25 PR c++/65558mpolacek
* name-lookup.c (handle_namespace_attrs): Ignore abi_tag attribute on an anonymous namespace. * g++.dg/cpp0x/pr65558.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221672 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-25 PR c++/61670mpolacek
* class.c (remove_zero_width_bit_fields): Check for null DECL_SIZE. * g++.dg/template/pr61670.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221671 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-24 PR c++/65046jason
* cp-tree.h (NAMESPACE_IS_INLINE): Remove. * parser.c (cp_parser_namespace_definition): Don't set it. * name-lookup.c (handle_namespace_attrs): Check DECL_NAMESPACE_ASSOCIATIONS instead. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221642 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-24 PR c++/65498jason
* pt.c (get_mostly_instantiated_function_type): Just return the type of the partially instantiated template in DECL_TI_TEMPLATE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221641 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-20 PR c++/65398mpolacek
* constexpr.c (cxx_fold_indirect_ref): Transform *(&A[i] p+ j) into A[i + j]. * g++.dg/cpp0x/pr65398.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221544 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-20 PR c++/65072mpolacek
* typeck.c (lookup_anon_field): Make sure we're dealing with the main variant. * g++.dg/cpp0x/pr65072.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221535 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-19 PR c++/65046jason
Automatically propagate ABI tags to variables and functions from their (return) type. * class.c (check_tag): Handle variables and functions. (mark_or_check_attr_tags): Split out from find_abi_tags_r. (mark_or_check_tags): Likewise. (mark_abi_tags): Use it. Rename from mark_type_abi_tags. (check_abi_tags): Add single argument overload for decls. Handle inheriting tags for decls. * mangle.c (write_mangled_name): Call it. (mangle_return_type_p): Split out from write_encoding. (unmangled_name_p): Split out from write_mangled_name. (write_mangled_name): Ignore abi_tag on namespace. * cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG. * parser.c (cp_parser_namespace_definition): Set it. * name-lookup.c (handle_namespace_attrs): Use arguments. Warn about abi_tag attribute on non-inline namespace. * tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute. (handle_abi_tag_attribute): Allow tags on variables. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221521 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-19 * c-decl.c (c_decl_attributes): Also add "omp declare target"jakub
attribute for DECL_EXTERNAL VAR_DECLs. * decl2.c (cplus_decl_attributes): Also add "omp declare target" attribute for DECL_EXTERNAL VAR_DECLs. * testsuite/libgomp.c/target-10.c: New test. * testsuite/libgomp.c++/target-4.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221520 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-182015-03-18 Paolo Carlini <paolo.carlini@oracle.com>paolo
PR c++/65340 * call.c (build_over_call): Pass the tsubst_flags_t argument to mark_used. * decl2.c (mark_used): Inline the require_deduced_type call and guard the error call. 2015-03-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/65340 * g++.dg/cpp1y/pr65340.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221483 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-17 PR c++/65061jason
* parser.c (cp_parser_template_name): Call strip_using_decl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221478 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-16 DR 1688mpolacek
PR c++/65327 * decl.c (grokdeclarator): Allow volatile and constexpr together. * g++.dg/cpp0x/constexpr-object1.C: Change dg-error to dg-bogus. * g++.dg/cpp0x/pr65327.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221463 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-122015-03-12 Paolo Carlini <paolo.carlini@oracle.com>paolo
PR c++/65323 * decl.c (check_default_argument): Don't call maybe_warn_zero_as_null_pointer_constant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221402 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-11 * cp-gimplify.c (simple_empty_class_p): New.aldyh
* cp-gimplify.c (cp_gimplify_expr): Handle RETURN_EXPR. Abstract the code for empty class copies into simple_empty_class_p, and adapt it to handle COMPOUND_EXPRs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221347 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-10/cppaolo
2015-03-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/65370 * decl.c (duplicate_decls): Call check_redeclaration_no_default_args only if the location of newdecl doesn't match the location of olddecl. /testsuite 2015-03-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/65370 * g++.dg/other/default11.C: New. * g++.dg/other/default12.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221337 138bc75d-0d04-0410-961f-82ee72b054a4