Commit Graph

147816 Commits

Author SHA1 Message Date
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
Jonathan Wakely
64dde68296 Add -fno-show-column to libstdc++ test flags
* scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.

From-SVN: r238993
2016-08-02 20:34:15 +01:00