1. 06 Oct, 2014 2 commits
    • c-cppbuiltin.c: Move __cpp_attribute_deprecated to the C++11 section. · 2a8ef767
      gcc/c-family:
      
      2014-10-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* c-family/c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
      	C++11 section.
      
      
      gcc/cp:
      
      2014-10-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* cp/parser.c: Allow [[deprecated]] for C++11.  Issue a pedwarn.
      
      
      gcc/testsuite:
      
      2014-10-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* g++.dg/cpp1y/attr-deprecated-neg.C: Attribute no longer ignored.
      	* g++.dg/cpp1y/feat-cxx11-neg.C: Comment out __cpp_attribute_deprecated test.
      	* g++.dg/cpp1y/feat-cxx11.C: Add __cpp_attribute_deprecated test.
      
      From-SVN: r215957
      Edward Smith-Rowland committed
    • re PR c++/55250 ([C++0x] enum declarations within constexpr function are… · fbf833b7
      re PR c++/55250 ([C++0x] enum declarations within constexpr function are allowed, constexpr declarations are not)
      
      /cp
      2014-10-06  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/55250
      	* semantics.c (check_constexpr_bind_expr_vars): New.
      	(check_constexpr_ctor_body, massage_constexpr_body): Use it.
      	(build_constexpr_constructor_member_initializers): Handle
      	BIND_EXPR in the main conditional.
      
      /testsuite
      2014-10-06  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/55250
      	* g++.dg/cpp0x/constexpr-type-decl1.C: New.
      	* g++.dg/cpp0x/constexpr-type-def1.C: Likewise.
      	* g++.dg/cpp1y/constexpr-type-def1.C: Likewise.
      
      From-SVN: r215954
      Paolo Carlini committed
  2. 05 Oct, 2014 1 commit
    • PR debug/63239 Add DWARF representation for C++11 deleted member function. · f5059223
      include/ChangeLog
      
      	* dwarf2.def (DW_AT_GNU_deleted): New attribute.
      
      gcc/ChangeLog
      
      	* dwarf2out.c (gen_subprogram_die): When a member function is
      	explicitly deleted then add a DW_AT_GNU_deleted attribute.
      	* langhooks.h (struct lang_hooks_for_decls): Add
      	function_decl_deleted_p langhook.
      	* langhooks-def.h (LANG_HOOKS_FUNCTION_DECL_DELETED_P): Define.
      	(LANG_HOOKS_DECLS): Add LANG_HOOKS_FUNCTION_DECL_DELETED_P.
      
      gcc/cp/ChangeLog
      
      	* cp-objcp-common.h (LANG_HOOKS_FUNCTION_DECL_DELETED_P): Define.
      	(cp_function_decl_deleted_p): New prototype.
      	* cp-objcp-common.c (cp_function_deleted_p): New function.
      
      gcc/testsuite/ChangeLog
      
      	* g++.dg/debug/dwarf2/deleted-member-function.C: New testcase.
      
      From-SVN: r215901
      Mark Wielaard committed
  3. 03 Oct, 2014 5 commits
    • re PR c++/54427 (Expose more vector extensions) · 3c9aabbd
      2014-10-03  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR c++/54427
      	PR c++/57198
      	PR c++/58845
      gcc/c-family/
      	* c-common.c (warn_logical_operator): Punt for vectors.
      gcc/cp/
      	* typeck.c (cp_build_binary_op): save_expr after convert to save
      	redundant operations.
      	[TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR]: Handle vectors.
      	(cp_build_unary_op) [TRUTH_NOT_EXPR]: Likewise.
      gcc/
      	* doc/extend.texi (Vector Extensions): Document &&, ||, ! in C++.
      gcc/testsuite/
      	* g++.dg/ext/vector9.C: Update, not an error anymore.
      	* g++.dg/ext/vector27.C: Replace with new test.
      	* g++.dg/ext/vector28.C: New file.
      	* g++.dg/other/error23.C: Update to a different error.
      
      From-SVN: r215872
      Marc Glisse committed
    • decl.c (start_decl): Complain about static/thread_local vars in constexpr function. · b2cb98ed
      	* decl.c (start_decl): Complain about static/thread_local vars
      	in constexpr function.
      	(check_for_uninitialized_const_var): Also uninitialized vars.
      	* parser.c (cp_parser_jump_statement): And gotos.
      	(cp_parser_asm_operand_list): And asm.
      	(cp_parser_try_block): And try.
      	* semantics.c (ensure_literal_type_for_constexpr_object): And
      	non-literal.
      
      From-SVN: r215863
      Jason Merrill committed
    • semantics.c (constexpr_fn_retval): Ignore declarations in C++14. · e01a49c1
      	* semantics.c (constexpr_fn_retval): Ignore declarations in C++14.
      	(var_in_constexpr_fn): New.
      	(cxx_eval_constant_expression): Look into DECL_INITIAL.
      	(potential_constant_expression_1): Allow constexpr-local vars.
      
      From-SVN: r215862
      Jason Merrill committed
    • re PR c++/63362 (The c++11 triviality-traits need front-end help) · 2bd8ca21
      	PR c++/63362
      	* tree.c (strip_typedefs): Handle TREE_LIST.
      
      From-SVN: r215860
      Jason Merrill committed
    • parser.c (cp_parser_assignment_expression, [...]): Add default arguments. · 2a931365
      2014-10-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* parser.c (cp_parser_assignment_expression,
      	cp_parser_constant_expression): Add default arguments.
      	(cp_parser_primary_expression,
      	cp_parser_postfix_open_square_expression,
      	cp_parser_parenthesized_expression_list,
      	cp_parser_question_colon_clause,
      	cp_parser_expression, cp_parser_constant_expression,
      	cp_parser_label_for_labeled_statement, cp_parser_static_assert,
      	cp_parser_template_argument, cp_parser_enumerator_definition,
      	cp_parser_member_declaration, cp_parser_constant_initializer,
      	cp_parser_noexcept_specification_opt, cp_parser_throw_expression,
      	cp_parser_std_attribute_spec, cp_parser_objc_message_args,
      	cp_parser_objc_class_ivars, cp_parser_omp_clause_collapse,
      	cp_parser_omp_clause_aligned, cp_parser_omp_clause_safelen,
      	cp_parser_omp_clause_simdlen, cp_parser_omp_clause_dist_schedule,
      	cp_parser_omp_for_incr, cp_parser_omp_for_loop_init,
      	cp_parser_cilk_simd_vectorlength, cp_parser_cilk_simd_linear): Adjust.
      
      From-SVN: r215840
      Paolo Carlini committed
  4. 02 Oct, 2014 1 commit
    • re PR c++/53025 ([C++11] noexcept operator depends on copy-elision) · 04bbdb1d
      /cp
      2014-10-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53025
      	* cp-tree.h (struct saved_scope): Add noexcept_operand.
      	(cp_noexcept_operand): Define.
      	* call.c (build_over_call): Use it.
      	* parser.c (cp_parser_unary_expression, [RID_NOEXCEPT]): Likewise.
      	* pt.c (tsubst_copy_and_build, [NOEXCEPT_EXPR]): Likewise.
      
      /testsuite
      2014-10-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53025
      	* g++.dg/cpp0x/noexcept23.C: New.
      	* g++.dg/cpp0x/noexcept24.C: Likewise.
      
      From-SVN: r215813
      Paolo Carlini committed
  5. 01 Oct, 2014 2 commits
  6. 30 Sep, 2014 5 commits
    • c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and RID_IS_TRIVIALLY_CONSTRUCTIBLE. · dd5d5481
      c-family/
      	* c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
      	RID_IS_TRIVIALLY_CONSTRUCTIBLE.
      	* c-common.c (c_common_reswords): Add __is_trivially_copyable.
      cp/
      	* cp-tree.h (cp_trait_kind): Add CPTK_IS_TRIVIALLY_ASSIGNABLE and
      	CPTK_IS_TRIVIALLY_CONSTRUCTIBLE.
      	* cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
      	* parser.c (cp_parser_primary_expression): Likewise.
      	(cp_parser_trait_expr): Likewise.  Handle variadic trait.
      	* semantics.c (trait_expr_value): Likewise.
      	(finish_trait_expr): Likewise.
      	(check_trait_type): Handle variadic trait.  Return bool.
      	* method.c (build_stub_object): Add rvalue reference here.
      	(locate_fn_flags): Not here.
      	(check_nontriv, assignable_expr, constructible_expr): New.
      	(is_trivially_xible): New.
      
      From-SVN: r215738
      Jason Merrill committed
    • c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE. · b752325e
      c-family/
      	* c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
      	* c-common.c (c_common_reswords): Add __is_trivially_copyable.
      cp/
      	* cp-tree.h (cp_trait_kind): Add CPTK_IS_TRIVIALLY_COPYABLE.
      	* cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
      	* parser.c (cp_parser_primary_expression): Likewise.
      	(cp_parser_trait_expr): Likewise.
      	* semantics.c (trait_expr_value): Likewise.
      	(finish_trait_expr): Likewise.
      
      From-SVN: r215737
      Jason Merrill committed
    • method.c (build_stub_object): Use CONVERT_EXPR. · 32f3d032
      	* method.c (build_stub_object): Use CONVERT_EXPR.
      	* tree.c (build_dummy_object): Likewise.
      	(is_dummy_object): Adjust.
      
      From-SVN: r215736
      Jason Merrill committed
    • c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO. · 8d0cf15e
      c-family/
      	* c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
      	* c-common.c (c_common_reswords): Remove __is_convertible_to.
      cp/
      	* cp-tree.h (cp_trait_kind): Remove CPTK_IS_CONVERTIBLE_TO.
      	* cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
      	* semantics.c (trait_expr_value): Likewise.
      	(finish_trait_expr): Likewise.
      	* parser.c (cp_parser_primary_expression): Likewise.
      	(cp_parser_trait_expr): Likewise. Remove redundant grokdeclarator.
      
      From-SVN: r215735
      Jason Merrill committed
    • re PR c++/16564 (g++ seems to go into an infinite loop after errors) · 75a0d320
      cp/
      2014-09-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
             PR c++/16564
             * error.c (print_instantiation_context): Delete.
             * typeck2.c (build_x_arrow): Record location when pushing
             template instantiation.
             * pt.c (push_tinst_level): Make it a wrapper around ...
             (push_tinst_level_loc): ... this. New function. Make excessive
             template instantiation depth a fatal error. Record location. Use
             bool as return type.
             (instantiate_pending_templates): Make excessive
             template instantiation depth a fatal error.
             (problematic_instantiation_changed): Use bool as return type.
             * cp-tree.h (print_instantiation_context): Delete.
             (push_tinst_level): Update declaration.
             (problematic_instantiation_changed): Likewise.
             (push_tinst_level_loc): New.
      
      testsuite/
      2014-09-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
             PR c++/16564
             * lib/gcc.exp: Accept "fatal error:" as error prefix.
             * lib/g++.exp: Likewise.
             * lib/obj-c++.exp: Likewise.
             * lib/objc.exp: Likewise.
             * g++.dg/template/pr16564.C: New test.
      
      2014-09-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/16564
      	* g++.dg/cpp0x/decltype26.C: Adjust.
      	* g++.dg/cpp0x/decltype28.C: Likewise.
      	* g++.dg/cpp0x/decltype29.C: Likewise.
      	* g++.dg/cpp0x/decltype32.C: Likewise.
      	* g++.dg/cpp0x/enum11.C: Likewise.
      	* g++.dg/template/arrow1.C: Likewise.
      	* g++.dg/template/pr23510.C: Likewise.
      	* g++.dg/template/recurse.C: Likewise.
      	* g++.dg/template/recurse2.C: Likewise.
      	* g++.dg/template/vtable2.C: Likewise.
      	* g++.old-deja/g++.pt/infinite1.C: Likewise.
      
      From-SVN: r215733
      Paolo Carlini committed
  7. 29 Sep, 2014 1 commit
  8. 26 Sep, 2014 1 commit
  9. 25 Sep, 2014 2 commits
  10. 24 Sep, 2014 2 commits
    • cgraph.h, [...]: Rename all instances of DECL_ABSTRACT to DECL_ABSTRACT_P. · 00de328a
          	* cgraph.h, dbxout.c, dwarfout2.c, gimple-fold.c,
          	lto-streamer-out.c, print-tree.c, symtab.c, tree-inline.c,
          	tree-streamer-in.c, tree-streamer-out.c, tree.c, tree.h,
          	varpool.c: Rename all instances of DECL_ABSTRACT to
          	DECL_ABSTRACT_P.
      
          cp/
          	* class.c, decl.c, optimize.c: Rename all instances of
          	DECL_ABSTRACT to DECL_ABSTRACT_P.
      
          lto/
          	* lto-symtab.c, lto.c: Rename all instances of DECL_ABSTRACT to
          	DECL_ABSTRACT_P.
      
      From-SVN: r215567
      Aldy Hernandez committed
    • re PR c/61405 (Not emitting "enumeration value not handled in switch" warning for bit-field enums) · 083e891e
      	PR c/61405
      	PR c/53874
      gcc/
      	* asan.c (maybe_instrument_call): Add default case.
      	* ipa-pure-const.c (special_builtin_state): Likewise.
      	* predict.c (expr_expected_value_1): Likewise.
      	* lto-streamer-out.c (write_symbol): Initialize variable.
      gcc/c-family/
      	* c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
      gcc/c/
      	* c-parser.c: Don't define CPP_KEYWORD.
      	(c_parser_switch_statement): Pass original type to c_finish_case.
      	* c-tree.h (c_finish_case): Update declaration.
      	* c-typeck.c (c_finish_case): Add TYPE parameter.  Pass it
      	conditionally to c_do_switch_warnings.
      gcc/cp/
      	* semantics.c (finish_switch_cond): Call unlowered_expr_type.
      	* tree.c (bot_manip): Add default case.
      	* parser.c (cp_parser_primary_expression): Cast the controlling
      	expression of a switch to an int.
      	(cp_parser_unqualified_id): Likewise.
      gcc/testsuite/
      	* c-c++-common/pr53874.c: New test.
      	* c-c++-common/pr61405.c: New test.
      libcpp/
      	* include/cpplib.h (enum cpp_ttype): Define CPP_KEYWORD.
      
      From-SVN: r215559
      Marek Polacek committed
  11. 23 Sep, 2014 1 commit
  12. 22 Sep, 2014 4 commits
  13. 21 Sep, 2014 1 commit
  14. 20 Sep, 2014 2 commits
  15. 18 Sep, 2014 2 commits
  16. 16 Sep, 2014 1 commit
  17. 15 Sep, 2014 2 commits
    • Do not diagnose lambda default arguments in c++14 modes. · 6a3d8ef0
      	* parser.c (cp_parser_lambda_declarator_opt): Make the pedwarn
      	conditional.
      
      From-SVN: r215274
      Ville Voutilainen committed
    • Makefile.in (dg_target_exps): Remove. · 717c4789
      gcc/
      	* Makefile.in (dg_target_exps): Remove.
      	(check_gcc_parallelize): Change to just an upper bound number.
      	(check-%-subtargets): Always print the non-parallelized goals.
      	(check_p_vars, check_p_comma, check_p_subwork): Remove.
      	(check_p_count, check_p_numbers0, check_p_numbers1, check_p_numbers2,
      	check_p_numbers3, check_p_numbers4, check_p_numbers5,
      	check_p_numbers6): New variables.
      	(check_p_numbers): Set to sequence from 1 to 9999.
      	(check_p_subdirs): Set to sequence from 1 to minimum of
      	$(check_p_count) and either GCC_TEST_PARALLEL_SLOTS env var if set,
      	or 128.
      	(check-%, check-parallel-%): Rewritten so that for parallelized
      	testing each job runs all the *.exp files, with
      	GCC_RUNTEST_PARALLELIZE_DIR set in environment.
      gcc/go/
      	* Make-lang.in (check_go_parallelize): Change to just an upper bound
      	number.
      gcc/fortran/
      	* Make-lang.in (check_gfortran_parallelize): Change to just an upper
      	bound number.
      gcc/cp/
      	* Make-lang.in (check_g++_parallelize): Change to just an upper bound
      	number.
      gcc/objc/
      	* Make-lang.in (check_objc_parallelize): Change to just an upper
      	bound number.
      gcc/ada/
      	* gcc-interface/Make-lang.in (check_acats_numbers0,
      	check_acats_numbers1, check_acats_numbers2, check_acats_numbers3,
      	check_acats_numbers4, check_acats_numbers5, check_acats_numbers6,
      	check_acats_numbers, check_acats_subdirs): New variables.
      	(check_acats_targets): Use $(check_acats_subdirs).
      	(check-acats, check-acats%): Rewritten so that for parallelized
      	testing each job runs all the chapters files, with
      	GCC_RUNTEST_PARALLELIZE_DIR set in environment.  Prepare the support
      	directory sequentially and share it.
      	(check-acats-subtargets): Always print just check-acats.
      gcc/testsuite/
      	* lib/gcc-defs.exp (gcc_parallel_test_run_p,
      	gcc_parallel_test_enable): New procedures.  If
      	GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
      	runtest_file_p to invoke also gcc_parallel_test_run_p.
      	* g++.dg/guality/guality.exp (check_guality): Save/restore
      	test_counts array around the body of the procedure.
      	* gcc.dg/guality/guality.exp (check_guality): Likewise.
      	* g++.dg/plugin/plugin.exp: Run all the tests serially
      	by the first parallel runtest encountering it.
      	* gcc.dg/plugin/plugin.exp: Likewise.
      	* gcc.misc-tests/matrix1.exp: Likewise.
      	* gcc.misc-tests/dhry.exp: Likewise.
      	* gcc.misc-tests/acker1.exp: Likewise.
      	* gcc.misc-tests/linkage.exp: Likewise.
      	* gcc.misc-tests/mg.exp: Likewise.
      	* gcc.misc-tests/mg-2.exp: Likewise.
      	* gcc.misc-tests/sort2.exp: Likewise.
      	* gcc.misc-tests/sieve.exp: Likewise.
      	* gcc.misc-tests/options.exp: Likewise.
      	* gcc.misc-tests/help.exp: Likewise.
      	* go.test/go-test.exp (go-gc-tests): Use
      	gcc_parallel_test_enable {0, 1} around all handling of
      	each test.
      	* objc.dg/gnu-encoding/gnu-encoding.exp: Likewise.
      	* ada/acats/run_all.sh: Parallelize using mkdir inside of
      	a shared directory.  Avoid forking and expr uses if
      	shell supports $(()).
      libstdc++-v3/
      	* testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
      	check_p_numbers2, check_p_numbers3, check_p_numbers4,
      	check_p_numbers5, check_p_numbers6, check_p_numbers,
      	check_p_subdirs): New variables.
      	(check_DEJAGNU_normal_targets): Use check_p_subdirs.
      	(check-DEJAGNU): Rewritten so that for parallelized
      	testing each job runs all the *.exp files, with
      	GCC_RUNTEST_PARALLELIZE_DIR set in environment.
      	* testsuite/Makefile.in: Regenerated.
      	* testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
      	gcc_parallel_test_enable): New procedures.  If
      	GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
      	runtest_file_p to invoke also gcc_parallel_test_run_p.
      	* testsuite/libstdc++-abi/abi.exp: Run all the tests serially
      	by the first parallel runtest encountering it.  Fix up path
      	of the extract_symvers script.
      	* testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
      	serially by the first parallel runtest encountering it.  Run
      	dg-finish even in case of error.
      
      From-SVN: r215273
      Jakub Jelinek committed
  18. 13 Sep, 2014 1 commit
  19. 12 Sep, 2014 1 commit
  20. 11 Sep, 2014 2 commits
  21. 10 Sep, 2014 1 commit