Commit Graph

147867 Commits

Author SHA1 Message Date
Thomas Schwinge 0b212d8c86 C/C++: Simplify handling of location information for OpenACC routine directives
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
2016-08-04 15:35:19 +02:00
Thomas Schwinge bbc79c0e9e C++ OpenACC routine directive testing: templated, and "auto", trailing return type syntax
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
2016-08-04 15:35:10 +02:00
Thomas Schwinge 9ef64248fe Make libgomp.oacc-c-c++-common/crash-1.c a "link" test, and don't hardcode -O0
libgomp/
	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
	test, and don't hardcode -O0.

From-SVN: r239125
2016-08-04 15:34:57 +02:00
Jonathan Wakely 246c618e71 Update C++17 library implementation status table
* doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
	* doc/html/manual/status.html: Regenerate.

From-SVN: r239124
2016-08-04 14:33:02 +01:00
Bernd Edlinger 8d8e740c1c 016-08-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
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
2016-08-04 13:23:36 +00:00
Bernd Edlinger 086ad22e0e re PR target/70903 (wrong code with bfi @ aarch64 with -Os)
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
2016-08-04 13:20:57 +00:00
Jonathan Wakely 9a8e528cf1 Define std::enable_shared_from_this::weak_from_this
* 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
2016-08-04 13:33:10 +01:00
Jonathan Wakely 7d2035fafe Simplify std::__invoke_impl definitions
* 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
2016-08-04 12:09:29 +01:00
Martin Liska 6805e400e9 Use TESTING_IN_BUILD_TREE in params.exp
* gcc.dg/params/params.exp: Replace file exists with
	TESTING_IN_BUILD_TREE.

From-SVN: r239119
2016-08-04 11:06:37 +00:00
Kugan Vivekanandarajah 231b116970 tree-inline.c (remap_ssa_name): Check for POINTER_TYPE_P before accessing SSA_NAME_PTR_INFO.
gcc/ChangeLog:

2016-08-04  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* tree-inline.c (remap_ssa_name): Check for POINTER_TYPE_P before
	accessing SSA_NAME_PTR_INFO.

From-SVN: r239118
2016-08-04 09:15:03 +00:00
Georg-Johann Lay 90b1c81d64 re PR target/70677 (Suboptimal cond on AVR: unneeded stack frame)
PR 70677
	* common/config/avr/avr-common.c (avr_option_optimization_table)
	[OPT_LEVELS_ALL]: Turn off -fcaller-saves.

From-SVN: r239117
2016-08-04 07:52:38 +00:00
Georg-Johann Lay e7ff6a46c9 re PR target/55181 (Expensive shift loop where a bit-testing instruction could be used)
PR 55181
	* config/avr/avr.md: New pattern to work around do_store_flag
	generating shift instructions for bit extractions.

From-SVN: r239116
2016-08-04 07:50:53 +00:00
Marek Polacek a00084346a re PR c++/70229 (error: constexpr constructor does not have empty body)
PR c++/70229
	* constexpr.c (check_constexpr_ctor_body_1): Allow typedef
	declarations.

	* g++.dg/cpp0x/constexpr-ctor19.C: New test.

From-SVN: r239115
2016-08-04 07:47:50 +00:00
Richard Biener fb46286e8d re PR rtl-optimization/71984 (wrong code with -O -mavx512cd)
2016-08-04  Richard Biener  <rguenther@suse.de>

	PR middle-end/71984
	* gcc.dg/torture/pr71984.c: Guard correctness check for
	little-endian.

From-SVN: r239114
2016-08-04 07:02:47 +00:00
Kugan Vivekanandarajah b29fcf3b64 tree-vrp.c (set_value_range): Use vrp_equiv_obstack with BITMAP_ALLOC.
gcc/ChangeLog:

2016-08-04  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* tree-vrp.c (set_value_range): Use vrp_equiv_obstack with
	BITMAP_ALLOC.
	(add_equivalence): Likewise.
	(get_value_range): Allocate value range with vrp_value_range_pool.
	(vrp_initialize): Initialize vrp_equiv_obstack for equiv allocation.
	(vrp_finalize): Relase vrp_equiv_obstack and vrp_value_range_pool.

From-SVN: r239113
2016-08-04 04:20:01 +00:00
GCC Administrator 5c5ad8cd63 Daily bump.
From-SVN: r239112
2016-08-04 00:16:13 +00:00
Ian Lance Taylor 8a14b86bcf escape: Enable escape analysis in gccgo.
Off by default, enabled through -fgo-optimize-allocs.
    
    Reviewed-on: https://go-review.googlesource.com/22378

From-SVN: r239109
2016-08-04 00:10:35 +00:00
Peter Bergner 2f9436e96c rs6000.c (rs6000_option_override_internal): Make LRA the default for the rs6000 port.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Make LRA
	the default for the rs6000 port.

From-SVN: r239105
2016-08-03 18:13:20 -05:00
Ian Lance Taylor 9c26dfd08a gotest: multiple +build lines must all be true
The code that handled +build lines did not correctly require them to all
    be true.  While looking into this I discovered that multiple +build
    lines were mishandled in a different way, because the shell does not
    preseve line breaks in backquoted data.  Look for the +build token to
    tell us when we are switching from one +build line to another.
    
    Reviewed-on: https://go-review.googlesource.com/25460

From-SVN: r239100
2016-08-03 22:46:06 +00:00
Andrew Pinski ac2c96ab12 20160802-1.c: New testcase.
2016-08-03  Andrew Pinski  <apinski@cavium.com>

        * gcc.c-torture/compile/20160802-1.c: New testcase.

From-SVN: r239099
2016-08-03 15:37:53 -07:00
Ian Lance Taylor f177a3d139 compiler: improve type caching for interface types
Add a cached to Interface_info_expression::do_type() so as to reuse
    previously created interface types. This change reduces gccgo peak heap
    usage when compiling the "fmt" package from around 16mb to around 10mb.
    
    Fixes golang/go#16334
    
    Reviewed-on: https://go-review.googlesource.com/24890

From-SVN: r239095
2016-08-03 20:01:09 +00:00
Jonathan Wakely c7fdbdcdbd Define feature-test macro for std::enable_shared_from_this
* include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
	Define feature-test macro.
	* testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
	for the macro.

From-SVN: r239094
2016-08-03 20:10:06 +01:00
Jonathan Wakely f21f4463ad Define std::shared_ptr::weak_type
* include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
	* include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
	* testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.

From-SVN: r239093
2016-08-03 20:09:57 +01:00
Bernd Edlinger 25f0609b21 re PR middle-end/71876 (longjmp is miscompiled with -ffreestanding)
2016-08-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR middle-end/71876
        * calls.c (special_function_p): Remove special handling of
        "setjmp_syscall", "qsetjmp", "longjmp", "siglongjmp" and the
        prefix "__x".  Recognize "savectx", "vfork" and "getcontext" only
        without prefix.  Remove potentially unsafe ECF_LEAF and ECF_NORETURN.

From-SVN: r239092
2016-08-03 19:05:45 +00:00
Vladimir Makarov 73c77563c6 re PR rtl-optimization/72778 (internal compiler error: in create_pre_exit, at mode-switching.c:451)
2016-08-03  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/72778
	* lra-spills.c (regno_in_use_p): Check bb and regno modification.
	Don't stop on regular insns.

From-SVN: r239091
2016-08-03 18:54:49 +00:00
Jonathan Wakely 32eaac9c91 Define std::as_const
* include/std/utility (as_const): Define.
	* testsuite/20_util/as_const/1.cc: New test.
	* testsuite/20_util/as_const/rvalue_neg.cc: New test.

From-SVN: r239090
2016-08-03 19:11:23 +01:00
Jonathan Wakely b7dabce5f3 Define std::owner_less<void> specialization (P0074R0)
* include/bits/shared_ptr.h (owner_less): Add default template
	argument.
	* include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
	specialization.
	(owner_less<void>): Define specialization.
	* include/bits/stl_function.h (__cpp_lib_transparent_operators):
	Update value.
	* testsuite/20_util/owner_less/void.cc: New test.
	* testsuite/experimental/feat-cxx14.cc: Update macro value tested.

From-SVN: r239089
2016-08-03 19:11:18 +01:00
Jonathan Wakely 068c8ac17c Define C++17 feature-test macros
* include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
	Define feature-test macro.
	* include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
	* include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
	* include/std/type_traits (__cpp_lib_logical_traits): Fix value.
	(__cpp_lib_type_trait_variable_templates): Define.

From-SVN: r239088
2016-08-03 19:11:10 +01:00
Nathan Sidwell c1311c86c0 nvptx.c (nvptx_declare_function_name): Round frame size to DImode boundary.
gcc/
	* config/nvptx/nvptx.c (nvptx_declare_function_name): Round frame
	size to DImode boundary.
	(nvptx_propagate): Likewise.

	libgomp/
	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.

From-SVN: r239086
2016-08-03 17:26:51 +00:00
Jonathan Wakely 0bd9bdb4db Define __cpp_lib_generic_associative_lookup feature-test macro
* include/bits/stl_function.h: Remove commented-out macro.
	* include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
	Define feature-test macro.
	* testsuite/experimental/feat-cxx14.cc: Add tests for more macros.

From-SVN: r239084
2016-08-03 17:42:31 +01:00
Ian Lance Taylor 3af8a0a810 escape: Stack allocate non-escaping expressions.
Stack allocate expressions that the analysis tracked and determined
    did not escape.
    
    Reviewed-on: https://go-review.googlesource.com/22377

From-SVN: r239083
2016-08-03 16:32:17 +00:00
Eric Gallager 612a6ffe0e download_prerequisites: Explicitly remove existing symlinks before trying to create new ones.
2016-08-03  Eric Gallager  <egall@gwmail.gwu.edu>

	* download_prerequisites: Explicitly remove existing symlinks
	before trying to create new ones.

From-SVN: r239082
2016-08-03 10:11:50 -06:00
Jonathan Wakely f8571e5150 Enable Mathematical Special Functions for C++17
* include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
	C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
	true.
	* include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
	do #error for C++17.
	* include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
	of __STDCPP_WANT_MATH_SPEC_FUNCS__.
	* include/tr1/bessel_function.tcc: Likewise.
	* include/tr1/beta_function.tcc: Likewise.
	* include/tr1/cmath: Likewise.
	* include/tr1/ell_integral.tcc: Likewise.
	* include/tr1/exp_integral.tcc: Likewise.
	* include/tr1/gamma.tcc: Likewise.
	* include/tr1/hypergeometric.tcc: Likewise.
	* include/tr1/legendre_function.tcc: Likewise.
	* include/tr1/modified_bessel_func.tcc: Likewise.
	* include/tr1/poly_hermite.tcc: Likewise.
	* include/tr1/poly_laguerre.tcc: Likewise.
	* include/tr1/riemann_zeta.tcc: Likewise.
	* include/tr1/special_function_util.h: Likewise.
	* testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.

From-SVN: r239081
2016-08-03 16:54:13 +01:00
Jonathan Wakely 27631a2542 Remove deprecated has_trivial_xxx traits
* include/std/type_traits (has_trivial_default_constructor): Remove.
	(has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
	* testsuite/20_util/has_trivial_copy_assign/requirements/
	explicit_instantiation.cc: Remove test.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line number.
	* testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_constructor/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_constructor/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
	* testsuite/20_util/has_trivial_default_constructor/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/has_trivial_default_constructor/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/has_trivial_default_constructor/value.cc:
	Likewise.
	* testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
	Check has_trivial_default_constructor, has_trivial_copy_constructor,
	and has_trivial_copy_assign are not defined.
	* testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
	tests.
	* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line number.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r239079
2016-08-03 16:18:30 +01:00
Fritz Reese c98583e997 lang.opt: New option -fdec-intrinsic-ints.
2016-08-03  Fritz Reese  <fritzoreese@gmail.com>

	gcc/fortran/
	* lang.opt: New option -fdec-intrinsic-ints.
	* options.c (set_dec_flags): Enable with -fdec.
	* gfortran.texi, invoke.texi, intrinsics.texi: Update documentation.
	* intrinsic.c (add_function, add_subroutine): New B/I/J/K intrinsic
	variants.

	gcc/testsuite/gfortran.dg/
	* dec_intrinsic_ints.f90: New testcase.

From-SVN: r239078
2016-08-03 14:55:26 +00:00
Richard Biener 9ad1a1da40 pr71403-1.c: Use dg-additional-options and remove -O3.
2016-08-03  Richard Biener  <rguenther@suse.de>

	* c-c++-common/ubsan/pr71403-1.c: Use dg-additional-options
	and remove -O3.
	* c-c++-common/ubsan/pr71403-2.c: Likewise.
	* c-c++-common/ubsan/pr71403-3.c: Likewise.

From-SVN: r239077
2016-08-03 14:41:34 +00:00
Richard Biener cd75c9792a loadpre2.c: Disable LIM.
2016-08-03  Richard Biener  <rguenther@suse.de>

	* gcc.dg/tree-ssa/loadpre2.c: Disable LIM.
	* gcc.dg/tree-ssa/loadpre21.c: Likewise.
	* gcc.dg/tree-ssa/loadpre22.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-23.c: Likewise.

From-SVN: r239071
2016-08-03 14:26:51 +00:00
Martin Liska 1a3c85fe05 Add branch_changer.py script to maintainer-scripts
* branch_changer.py: New file.

From-SVN: r239066
2016-08-03 12:43:11 +00:00
Senthil Kumar Selvaraj 30e8d8754d Fix tests that break unnecessarily for avr.
Require int32plus for tests that assume so, and conditionally skip pr44024.c,
 as it only works if the target allows deletion of null pointer checks.

gcc/testsuite/ChangeLog

	* gcc.dg/init-excess-2.c: Require int32plus.
	* gcc.dg/pr44024.c: Skip if target keeps null pointer checks.
	* gcc.dg/pr59963-2.c: Require int32plus.
	* gcc.dg/pr71084.c: Cast pointer to intprt_t.
	* gcc.dg/unroll-7.c: Require int32plus.

From-SVN: r239065
2016-08-03 11:50:32 +00:00
Alan Modra 860271ec6c [RS6000] power8 unaligned fp load/store
According to the POWER8 Processor User’s Manual and some
experimentation on power8 hardware, unaligned fp load/store on power8
does not invoke the alignment interrupt.

	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Make scalar
	float access depend on TARGET_EFFICIENT_UNALIGNED_VSX.
	* config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Renamed
	from -mefficient-unaligned-vector.  Note that this affects fp too.

From-SVN: r239013
2016-08-03 10:12:06 +09:30
Alan Modra cef58349a0 [RS6000] cost SLOW_UNALIGNED_ACCESS
* config/rs6000/rs6000.c (rs6000_rtx_costs): Make unaligned mem
	cost more.

From-SVN: r239012
2016-08-03 10:05:14 +09:30
Alan Modra d1f0a70a12 [RS6000] Force source of fix_trunc<mode>si2 to reg
* config/rs6000/rs6000.md (fix_trunc<mode>si2): Force source operand
	to a reg.  Localize vars.

From-SVN: r239011
2016-08-03 10:03:37 +09:30
Alan Modra 819c714522 [RS6000] Remove negative from option help strings
* config/rs6000/rs6000.opt: Remove negatives from help strings
	and comments.

From-SVN: r239010
2016-08-03 10:02:11 +09:30
Alan Modra 3717616ba7 [RS6000] Delete duplicate code
This removes the duplicate (TARGET_POWERPC64 && size == 16) block.

	* config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move):
	Delete duplicated code.

From-SVN: r239009
2016-08-03 10:00:04 +09:30
GCC Administrator 749f7c4466 Daily bump.
From-SVN: r239008
2016-08-03 00:16:17 +00:00
Chris Manghane 7295570dd4 escape: Add basic debugging.
Emit basic debug information when compiling with the flag
    -fgo-debug-escape#.
    
    Reviewed-on: https://go-review.googlesource.com/22376

	2016-08-02  Chris Manghane  <cmang@google.com>

	* lang.opt: Add -fgo-debug-escape option.
	* go-c.h (go_create_gogo): Add debug_escape_level parameter.
	* go-lang.c (go_langhook_init): Pass go_debug_escape_level to
	go_create_gogo.

From-SVN: r239002
2016-08-02 21:43:48 +00:00
Vladimir Makarov 00803109af re PR rtl-optimization/72778 (internal compiler error: in create_pre_exit, at mode-switching.c:451)
2016-08-02  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/72778
	* lra-spills.c (regno_in_use_p): New.
	(lra_final_code_change): Use it.

From-SVN: r239000
2016-08-02 20:57:04 +00:00
Jonathan Wakely 589a30d1a4 Fix std::wstring allocator tests
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
	Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
	* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
	Likewise.
	* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
	Likewise.
	* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
	Likewise.
	* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
	Likewise.
	* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
	Likewise.
	* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
	Likewise.

From-SVN: r238996
2016-08-02 20:34:36 +01:00
Jonathan Wakely 8bcd00bb13 Improve comments on check_v3_target_filesystem_ts
* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
	comments.

From-SVN: r238995
2016-08-02 20:34:30 +01:00
Jonathan Wakely a4e1011c49 Move dg-error directives to relevant lines
* testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
	dg-error to relevant line.
	* testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
	Likewise.
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.

From-SVN: r238994
2016-08-02 20:34:25 +01:00