1. 05 Aug, 2016 13 commits
  2. 04 Aug, 2016 27 commits
    • re PR target/72805 (AVX512: invalid code generation involving masks) · 383321ec
      	PR target/72805
      	* config/i386/avx512fintrin.h (_mm512_cmp_epi32_mask) [!__OPTIMIZE__]:
      	Cast builtin function result to __mmask16 instead of __mmask8.
      	(_mm512_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
      	(_mm512_mask_cmp_epi32_mask) [!__OPTIMIZE__]: Ditto.
      	(_mm512_mask_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
      
      From-SVN: r239152
      Uros Bizjak committed
    • selftest.h: Add ASSERT_TRUE_AT and ASSERT_FALSE_AT · d4f7837c
      gcc/ChangeLog:
      	* selftest.h (ASSERT_TRUE): Reimplement in terms of...
      	(ASSERT_TRUE_AT): New macro.
      	(ASSERT_FALSE): Reimplement in terms of...
      	(ASSERT_FALSE_AT): New macro.
      	(ASSERT_STREQ_AT): Fix typo in comment.
      
      From-SVN: r239151
      David Malcolm committed
    • pr70920-4.c: Move dg-require-effective-target before dg-options. · f6cdf42f
      2016-08-04  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      testsuite/
      	* gcc.dg/pr70920-4.c: Move dg-require-effective-target before
      	dg-options.
      
      From-SVN: r239150
      Prathamesh Kulkarni committed
    • pr71078-1.c: Remove double and long double test-cases. · 33a9c609
      2016-08-04  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      testsuite/
      	* gcc.dg/tree-ssa/pr71078-1.c: Remove double and long double
      	test-cases.
      	* gcc.dg/tree-ssa/pr71078-1-double.c: New test-case.
      	* gcc.dg/tree-ssa/pr71078-1-long-double.c: Likewise.
      	* gcc.dg/tree-ssa/pr71078-2.c: Remove double and long double
      	test-cases.
      	* gcc.dg/tree-ssa/pr71078-2-double.c: New test-case.
      	* gcc.dg/tree-ssa/pr71078-2-long-double.c: Likewise.
      	* gcc.dg/tree-ssa/pr71078-3.c: Add require-effective-check for
      	large_double.
      
      From-SVN: r239149
      Prathamesh Kulkarni committed
    • re PR c++/72800 (ICE on invalid C++14 code with initialized lambda capture: tree… · 4473482d
      re PR c++/72800 (ICE on invalid C++14 code with initialized lambda capture: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in add_capture, at cp/lambda.c:505)
      
      /cp
      2016-08-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/72800
      	* lambda.c (add_capture): Check lambda_capture_field_type return
      	value for error_mark_node.
      
      /testsuite
      2016-08-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/72800
      	* g++.dg/cpp1y/lambda-ice1.C: New.
      
      From-SVN: r239148
      Paolo Carlini committed
    • Fix ICE on invalid variable template instantiation (PR c++/72759) · 08156df5
      gcc/cp/ChangeLog:
      
      	PR c++/72759
      	* pt.c (tsubst_qualified_id): Return error_mark_node if
      	template_args is error_mark_node.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/72759
      	* g++.dg/cpp1y/pr72759.C: New test.
      
      From-SVN: r239147
      Patrick Palka committed
    • Designate the widest case label to be the default label · 938da3a5
      gcc/ChangeLog:
      
      	* gimple.c (preprocess_case_label_vec_for_gimple): When the case
      	labels are exhaustive, designate the label with the widest
      	range to be the default label.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/switch-10.c: New test.
      
      From-SVN: r239146
      Patrick Palka committed
    • Define std::is_callable and std::is_nothrow_callable · 42183d03
      	* doc/xml/manual/status_cxx2017.xml: Update status table.
      	* include/std/functional (__inv_unwrap): Move to <type_traits>.
      	(__invoke_impl): Remove exception specifications.
      	(__invoke, invoke): Add exception specifications using
      	__is_nothrow_callable.
      	* include/std/type_traits (__inv_unwrap): Move from <functional>.
      	(__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
      	(__is_callable, __is_nothrow_callable): New traits.
      	(is_callable, is_callable_v): New C++17 traits.
      	(is_nothrow_callable, is_nothrow_callable_v): Likewise.
      	* testsuite/20_util/is_callable/requirements/
      	explicit_instantiation.cc: New test.
      	* testsuite/20_util/is_callable/requirements/
      	explicit_instantiation_ext.cc: New test.
      	* testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
      	* testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
      	test.
      	* testsuite/20_util/is_callable/value.cc: New test.
      	* testsuite/20_util/is_callable/value_ext.cc: New test.
      	* testsuite/20_util/is_nothrow_callable/requirements/
      	explicit_instantiation.cc: New test.
      	* testsuite/20_util/is_nothrow_callable/requirements/
      	explicit_instantiation_ext.cc: New test.
      	* testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
      	New test.
      	* testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
      	New test.
      	* testsuite/20_util/is_nothrow_callable/value.cc: New test.
      	* testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
      
      From-SVN: r239145
      Jonathan Wakely committed
    • re PR c++/71696 (Libiberty Demangler segfaults (6)) · 1841e25c
      2016-08-04  Marcel Böhme  <boehme.marcel@gmail.com>
      
      	PR c++/71696
      	* cplus-dem.c: Prevent infinite recursion when there is a cycle
      	in the referencing of remembered mangled types.
      	(work_stuff): New stack to keep track of the remembered mangled
      	types that are currently being processed.
      	(push_processed_type): New method to push currently processed
      	remembered type onto the stack.
      	(pop_processed_type): New method to pop currently processed
      	remembered type from the stack.
      	(work_stuff_copy_to_from): Copy values of new variables.
      	(delete_non_B_K_work_stuff): Free stack memory.
      	(demangle_args): Push/Pop currently processed remembered type.
      	(do_type): Do not demangle a cyclic reference and push/pop
      	referenced remembered type.
      
      From-SVN: r239143
      Marcel Böhme committed
    • [Patch obvious testsuite] Remove duplicate body from pr70903.c · da84183c
      	* gcc.c-torture/execute/pr70903.c: Remove duplicate body.
      
      From-SVN: r239142
      James Greenhalgh committed
    • text/template: reduce maxExecDepth for gccgo · aa8a418b
          
          When using gccgo on systems without full support for split stacks a
          recursive template can overrun the available stack space.  Reduce the
          limit from 100000 to 10000 to make this less likely.  It's still high
          enough that real uses will work.
          
          Reviewed-on: https://go-review.googlesource.com/25467
      
      From-SVN: r239141
      Ian Lance Taylor committed
    • compiler: include "go-system.h" in escape.cc · 7a62db97
          
          Patch from Rainer Orth.
          
          Reviewed-on: https://go-review.googlesource.com/25466
      
      From-SVN: r239140
      Ian Lance Taylor committed
    • PR c++/72415 - member template with fold-expression constraint · b9dc9ef6
      	* pt.c (tsubst_pack_expansion): Pull a single pack expansion out
      	of the TREE_VEC.
      
      From-SVN: r239138
      Jason Merrill committed
    • Rename TYPE_ANONYMOUS_P to TYPE_UNNAMED_P. · 6a7b9203
      	* cp-tree.h (TYPE_UNNAMED_P): Rename from TYPE_ANONYMOUS_P.
      	(TYPE_WAS_UNNAMED): Rename from TYPE_WAS_ANONYMOUS.
      	* class.c, decl.c, decl2.c, error.c, lambda.c, mangle.c,
      	name-lookup.c, parser.c, pt.c, semantics.c, tree.c: Adjust.
      
      From-SVN: r239137
      Jason Merrill committed
    • PR c++/72796 - wrong resolution of scoped method call. · 99676625
      	* typeck.c (finish_class_member_access_expr): Avoid stripping
      	SCOPE_REF to dependent base.
      
      From-SVN: r239136
      Jason Merrill committed
    • aarch64.c (thunderx_vector_cost): New variable. · c3f20327
      2016-08-04  Andrew Pinski  <apinski@cavium.com>
      
              * config/aarch64/aarch64.c (thunderx_vector_cost): New variable.
              (thunderx_tunings): Use thunderx_vector_cost instead of
              generic_vector_cost.
      
      From-SVN: r239135
      Andrew Pinski committed
    • Fix GNU coding style in gcov.c · 176bf572
      	* gcov.c (main): Fix GNU coding style.
      	(output_intermediate_file): Likewise.
      	(process_file): Likewise.
      	(generate_results): Likewise.
      	(release_structures): Likewise.
      	(create_file_names): Likewise.
      	(find_source): Likewise.
      	(read_graph_file): Likewise.
      	(find_exception_blocks): Likewise.
      	(canonicalize_name): Likewise.
      	(make_gcov_file_name): Likewise.
      	(mangle_name): Likewise.
      	(accumulate_line_counts): Likewise.
      	(output_branch_count): Likewise.
      	(read_line): Likewise.
      
      From-SVN: r239134
      Martin Liska committed
    • Rework C/C++ OpenACC routine parsing · ae9281fc
      	gcc/c/
      	* c-parser.c (struct oacc_routine_data): Add error_seen and
      	fndecl_seen members.
      	(c_finish_oacc_routine): Use these.
      	(c_parser_declaration_or_fndef): Adjust.
      	(c_parser_oacc_routine): Likewise.  Support more C language
      	constructs, and improve diagnostics.  Move pragma context
      	checking...
      	(c_parser_pragma): ... here.
      	gcc/cp/
      	* parser.c (cp_ensure_no_oacc_routine): Improve diagnostics.
      	(cp_parser_late_parsing_cilk_simd_fn_info): Fix diagnostics.
      	(cp_parser_late_parsing_oacc_routine, cp_finalize_oacc_routine):
      	Simplify code, and improve diagnostics.
      	(cp_parser_oacc_routine): Likewise.  Move pragma context
      	checking...
      	(cp_parser_pragma): ... here.
      	gcc/testsuite/
      	* c-c++-common/goacc/routine-5.c: Update.
      
      From-SVN: r239128
      Thomas Schwinge committed
    • C/C++: Simplify handling of location information for OpenACC routine directives · 0b212d8c
      	gcc/c/
      	* c-parser.c (struct oacc_routine_data): New.
      	(c_parser_declaration_or_fndef, c_parser_oacc_routine): Use it.
      	Simplify code.
      	(c_finish_oacc_routine): Likewise.  Don't attach clauses to "omp
      	declare target" attribute.
      	gcc/cp/
      	* parser.h (struct cp_omp_declare_simd_data): New.
      	(struct cp_parser): Use it for oacc_routine member.
      	* parser.c (cp_ensure_no_oacc_routine, cp_parser_oacc_routine)
      	(cp_parser_late_parsing_oacc_routine, cp_finalize_oacc_routine):
      	Use it.  Simplify code.
      	(cp_parser_new): Initialize all members pointing to special
      	parsing data structures.
      	(cp_parser_cilk_simd_fn_vector_attrs): Initialize
      	parser->cilk_simd_fn_info->clauses.
      	(cp_parser_omp_declare_simd): Initialize
      	parser->omp_declare_simd->clauses.
      	(cp_parser_late_parsing_omp_declare_simd): Simplify code.
      
      From-SVN: r239127
      Thomas Schwinge committed
    • C++ OpenACC routine directive testing: templated, and "auto", trailing return type syntax · bbc79c0e
      	libgomp/
      	* testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
      	* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
      	* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
      	Likewise.
      	* testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
      	* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
      
      From-SVN: r239126
      Thomas Schwinge committed
    • Make libgomp.oacc-c-c++-common/crash-1.c a "link" test, and don't hardcode -O0 · 9ef64248
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
      	test, and don't hardcode -O0.
      
      From-SVN: r239125
      Thomas Schwinge committed
    • Update C++17 library implementation status table · 246c618e
      	* doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
      	* doc/html/manual/status.html: Regenerate.
      
      From-SVN: r239124
      Jonathan Wakely committed
    • 016-08-04 Bernd Edlinger <bernd.edlinger@hotmail.de> · 8d8e740c
              PR rtl-optimization/71779
              * emit-rtl.c (set_reg_attrs_from_value): Only propagate REG_POINTER,
              if the value was sign-extended according to POINTERS_EXTEND_UNSIGNED
              or if it was truncated.
      
      From-SVN: r239123
      Bernd Edlinger committed
    • re PR target/70903 (wrong code with bfi @ aarch64 with -Os) · 086ad22e
      2016-08-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR rtl-optimization/70903
              * cse.c (cse_insn): If DEST is a paradoxical SUBREG, don't record DEST.
      
      testsuite:
      2016-08-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR rtl-optimization/70903
              * gcc.c-torture/execute/pr70903.c: New test.
      
      From-SVN: r239122
      Bernd Edlinger committed
    • Define std::enable_shared_from_this::weak_from_this · 9a8e528c
      	* testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
      	effective target not dg-options. Move check for feature-test macro to:
      	* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
      	New test.
      
      From-SVN: r239121
      Jonathan Wakely committed
    • Simplify std::__invoke_impl definitions · 7d2035fa
      	* include/std/functional (_Unwrap): Rename to __inv_unwrap.
      	(__invfwd): Adjust.
      	(__invoke_impl): Remove unused template parameters.
      	* testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
      	parameter.
      	* testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
      	and test __invoke extension for C++11.
      
      From-SVN: r239120
      Jonathan Wakely committed