Commit Graph

150312 Commits

Author SHA1 Message Date
Jason Merrill c1ff51dc9f fix PR number
From-SVN: r243137
2016-12-01 17:10:57 -05:00
David Malcolm 859faa171e dwarf2out.c: fix jit issue with early_dwarf_finished
All of the jit testcases that generate debuginfo appear to have been
failing since r240228 on their 2nd in-process iteration on this
assertion in set_early_dwarf's ctor:

      gcc_assert (! early_dwarf_finished);

Root cause is that the global is never reset at the end of compilation,
which this patch fixes in the obvious way.

gcc/ChangeLog:
	* dwarf2out.c (dwarf2out_c_finalize): Reset early_dwarf and
	early_dwarf_finished.

From-SVN: r243136
2016-12-01 21:56:09 +00:00
Eric Botcazou f99bd883fb sparc.opt (mlra): New target option.
* config/sparc/sparc.opt (mlra): New target option.
	* config/sparc/sparc.c (TARGET_LRA_P): Define to...
	(sparc_lra_p): ...this.  New function.
	(D_MODES, DF_MODES): Add missing cast.
	* config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
	provide these insns when flag_pic.
	(sethi_di_medlow, losum_di_medlow, seth44, setm44, setl44, sethh,
	setlm, sethm, setlo, embmedany_sethi, embmedany_losum,
	embmedany_brsum, embmedany_textuhi, embmedany_texthi,
	embmedany_textulo, embmedany_textlo): Likewise.
	(sethi_di_medlow_embmedany_pic): Provide it only when flag_pic.

Co-Authored-By: David S. Miller <davem@davemloft.net>

From-SVN: r243135
2016-12-01 21:41:10 +00:00
Steven G. Kargl 96ad5df6db re PR fortran/78279 (ICE in identical_array_ref, at fortran/dependency.c:104)
2016-12-01  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78279
	* dependency.c (identical_array_ref): Convert gcc_assert to conditional
	and gfc_internal_error.

2016-12-01  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78279
	* gfortran.dg/pr78279.f90: New test.

From-SVN: r243131
2016-12-01 20:37:55 +00:00
Ian Lance Taylor 98934fac3b compiler: add slice initializers to the GC root list
As of https://golang.org/cl/32917 we can put slice initializers in the
    .data section.  The program can still change the values in those
    slices.  That means that if the slice elements can contain pointers,
    we need to register the entire initializer as a GC root.
    
    This would be straightforward except that we only have a Bexpression
    for the slice initializer, not an Expression.  So introduce a
    Backend_expression type that wraps a Bexpression as an Expression.
    
    The test case for this is https://golang.org/cl/33790.
    
    Reviewed-on: https://go-review.googlesource.com/33792

From-SVN: r243129
2016-12-01 19:54:36 +00:00
David Edelsohn 0269650d4a * testsuite/26_numerics/headers/cmath/hypot.cc: XFAIL on AIX.
From-SVN: r243127
2016-12-01 14:02:34 -05:00
David Edelsohn d8a2f02ec6 re PR debug/66149 (ICE: tree check: expected field_decl, have template_decl in int_bit_position, at tree.h:5012 with -std=c++14 -gstabs)
PR debug/66419
PR c++/78235
* dbxout.c (dbxout_type_fields): Skip TEMPLATE_DECLs.

From-SVN: r243126
2016-12-01 13:58:47 -05:00
Richard Biener 1281fc9911 vec.h (vec<T, [...]): Guard call to memset if len-oldlen != 0.
2016-12-01  Richard Biener  <rguenther@suse.de>
	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* vec.h (vec<T, A, vl_embed>::quick_grow_cleared): Guard call to
	memset if len-oldlen != 0.
	(vec<T, va_heap, vl_ptr>::safe_grow_cleared): Likewise.

Co-Authored-By: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>

From-SVN: r243125
2016-12-01 18:18:30 +00:00
David Edelsohn 3c70899469 * g++.dg/tls/pr77285-1.C: dg-add-options tls
From-SVN: r243124
2016-12-01 13:11:56 -05:00
Uros Bizjak 1f0133ebb9 i386.md (*andndi3_doubleword): Depend on TARGET_SSE2.
* config/i386/i386.md (*andndi3_doubleword): Depend on TARGET_SSE2.

From-SVN: r243121
2016-12-01 18:10:58 +01:00
Ville Voutilainen a2863bde75 Implement LWG 2766,
Swapping non-swappable types and LWG 2749,
swappable traits for variants.
* include/bits/move.h (swap(_Tp&, _Tp&)): Constrain
with __is_tuple_like.
* include/bits/stl_pair.h (swap(pair<_T1, _T2>&, pair<_T1, _T2>&)):
Add a deleted overload.
* include/bits/unique_ptr.h
(swap(unique_ptr<_Tp, _Dp>&, unique_ptr<_Tp, _Dp>&)): Likewise.
* include/std/array
(swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&)): Likewise.
* include/std/optional
(swap(optional<_Tp>&, optional<_Tp>&)): Likewise.
* include/std/tuple (__is_tuple_like_impl, __is_tuple_like):
Move to type_traits.
(swap(tuple<_Elements...>&, tuple<_Elements...>&)): Add a deleted
overload.
* include/std/type_traits (__is_tuple_like_impl, __is_tuple_like):
New.
(swap(_Tp&, _Tp&)): Constrain with __is_tuple_like.
* include/std/utility (__is_tuple_like_impl): Move to type_traits.
* include/std/variant
(swap(variant<_Types...>&, variant<_Types...>&)):
Add a deleted overload.
* testsuite/20_util/optional/swap/2.cc: Add tests for disabled
swaps.
* testsuite/20_util/pair/swap_cxx17.cc: New.
* testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
* testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
Likewise.
* testsuite/20_util/variant/compile.cc: Add tests for disabled
swaps.
* testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
New.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.

From-SVN: r243120
2016-12-01 18:23:21 +02:00
Georg-Johann Lay a9c21e2a4f avr.c: Fix coding rule glitches.
* config/avr/avr.c: Fix coding rule glitches.

From-SVN: r243118
2016-12-01 15:56:58 +00:00
James Greenhalgh d95fe8017d [Patch testsuite obvious] Use setjmp, not sigsetjmp in gcc.dg/pr78582.c
gcc/testsuite/

	* gcc.dg/pr78582.c (main): Call setjmp, not sigsetjmp.

From-SVN: r243116
2016-12-01 15:33:29 +00:00
Markus Trippelsdorf 56e1a4d712 Fix PR tree-optimization/78598 - tree-ssa-loop-prefetch.c:835:16: runtime error: signed integer overflow
Using bootstrap-ubsan gcc to build mplayer shows:

tree-ssa-loop-prefetch.c:835:16: runtime error: signed integer overflow:
288230376151711743 * 64 cannot be represented in type 'long int'

Here signed und unsigned integers are mixed in a division resulting in
bogus values: (-83 + 64ULL -1) / 64ULL) == 288230376151711743

Fixed by casting the unsigned parameter to signed.

	PR tree-optimization/78598
	* tree-ssa-loop-prefetch.c (ddown): Cast to signed to avoid
	overflows.

From-SVN: r243113
2016-12-01 14:59:03 +00:00
Rainer Orth be5ddbb86f Import libcilkrts Build 4467 (PR target/68945)
PR target/68945
	Merge from upstream, version 2.0.4467.0.
	Fix typo in git URL.
	* aclocal.m4, configure, Makefile.in: Regenerate.

From-SVN: r243112
2016-12-01 14:48:49 +00:00
Markus Trippelsdorf 67586d38f5 Fix rtl-optimization/78596 - combine.c:12561:14: runtime error: left shift of negative value
PR rtl-optimization/78596
	* combine.c (simplify_comparison): Cast to unsigned to avoid
	left shifting of negative value.

From-SVN: r243111
2016-12-01 14:04:13 +00:00
David Edelsohn 8e9c33cd3b Remove svn conflict marker.
From-SVN: r243110
2016-12-01 08:48:22 -05:00
Matthias Klose 825fba526c configure.ac: Don't use pkg-config to check for bdw-gc.
<toplevel>

        * configure.ac: Don't use pkg-config to check for bdw-gc.
        * configure: Regenerate.

config/

        * pkg.m4: Remove.

libobjc/

        * configure.ac: Don't use pkg-config to check for bdw-gc.
        * configure: Regenerate.

gcc/

        * doc/install.texi: Don't use pkg-config to check for bdw-gc.

From-SVN: r243108
2016-12-01 12:31:49 +00:00
Richard Biener a41e62e743 tree-ssa-alias.c (indirect_refs_may_alias_p): Do not treat arrays with same type as objects that cannot overlap.
2016-12-01  Richard Biener  <rguenther@suse.de>

	* tree-ssa-alias.c (indirect_refs_may_alias_p): Do not
	treat arrays with same type as objects that cannot overlap.

	* gcc.dg/torture/alias-2.c: New testcase.

From-SVN: r243107
2016-12-01 12:22:32 +00:00
Richard Biener a1fc386ac2 tree-ssa-alias.c (indirect_refs_may_alias_p): Do not treat arrays with same type as objects that cannot overlap.
2016-12-01  Richard Biener  <rguenther@suse.de>

	* tree-ssa-alias.c (indirect_refs_may_alias_p): Do not
	treat arrays with same type as objects that cannot overlap.

	* gcc.dg/torture/alias-2.c: New testcase.

From-SVN: r243106
2016-12-01 12:15:44 +00:00
Georg-Johann Lay b0da97091d tiny-memx.c: Only perform if target avr_tiny.
gcc/testsuite/
	* gcc.target/avr/tiny-memx.c: Only perform if target avr_tiny.
	* gcc.target/avr/tiny-caller-save.c: Dito.

From-SVN: r243105
2016-12-01 10:21:31 +00:00
Georg-Johann Lay 1636ebdc8a avr.c (avr_print_operand): Use SYMBOL_REF_P if possible.
gcc/
	* config/avr/avr.c (avr_print_operand): Use SYMBOL_REF_P if possible.
	(avr_handle_addr_attribute, avr_asm_output_aligned_decl_common)
	(avr_asm_asm_output_aligned_bss, avr_addr_space_convert): Dito.

From-SVN: r243104
2016-12-01 10:09:56 +00:00
Andre Vehreschild ccbf635518 coarray_lib_alloc_4.f90: Fix for 32-bits.
gcc/testsuite/ChangeLog:

2016-12-01  Andre Vehreschild  <vehre@gcc.gnu.org>

	* gfortran.dg/coarray_lib_alloc_4.f90: Fix for 32-bits.

From-SVN: r243101
2016-12-01 10:53:25 +01:00
Jakub Jelinek d26b3eb765 re PR debug/78587 (dwarf2out.c:1517:45: runtime error: negation of -9223372036854775808 cannot be represented in type 'long int [4]'; cast to an unsigned type to negate this value to itself)
PR debug/78587
	* dwarf2out.c (loc_descr_plus_const): For negative offset use
	uint_loc_descriptor instead of int_loc_descriptor and perform negation
	in unsigned HOST_WIDE_INT type.
	(scompare_loc_descriptor): Shift UINTVAL left instead of INTVAL.

	* gcc.dg/debug/pr78587.c: New test.

From-SVN: r243100
2016-12-01 10:24:55 +01:00
Jakub Jelinek 43d0b501ee re PR target/78614 (ICE error: invalid rtl sharing found in the insn (verify_rtx_sharing) gcc/emit-rtl.c:2743)
PR target/78614
	* config/rs6000/rs6000.c (rs6000_frame_related): Call
	set_used_flags (pat) before any simplifications.  Clear used flag on
	PARALLEL copy.  Don't guard add_reg_note call.  Call
	copy_rtx_if_shared on pat before storing it into
	REG_FRAME_RELATED_EXPR.

From-SVN: r243099
2016-12-01 08:56:49 +01:00
Ville Voutilainen d9b2d86c74 The convertible_to traits need to use a variadic catch-all for the false-cases.
The convertible_to traits need to use a variadic catch-all for the
false-cases.
* include/std/istream (__is_convertible_to_basic_istream):
Change the parameter of the false-case of __check to a variadic.
* include/std/ostream (__is_convertible_to_basic_ostream):
Likewise.

From-SVN: r243098
2016-12-01 09:14:19 +02:00
Alan Modra f73ee211c3 [RS6000] fix rtl-checking internal compiler error
* gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly
	look inside UNSPEC_VSX_XXSPLTW vec.

From-SVN: r243097
2016-12-01 17:44:04 +10:30
Bernd Edlinger 77e6870d7f crossconfig.m4 (*-linux*): Add link-check for memalign.
2016-12-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * crossconfig.m4 (*-linux*): Add link-check for memalign.
        * configure: Regenerated.

From-SVN: r243095
2016-12-01 06:06:04 +00:00
Ian Lance Taylor 6e7f1be7ae runtime: set isarchive in initsig
The library initialization code in go-libmain.c sets the C variable
    runtime_isarchive but failed to set the Go variable runtime.isarchive.
    We don't currently have a way to let C code access an unexported Go
    variable, but fortunately the only time the Go function initsig is
    called with an argument of true is exactly where we want to set
    isarchive.  So let initsig do it.
    
    Reviewed-on: https://go-review.googlesource.com/33753

From-SVN: r243094
2016-12-01 05:47:58 +00:00
Tim Shen 974afa584b re PR libstdc++/71500 (regex::icase only works on first character in a range)
PR libstdc++/71500
	* include/bits/regex.h (basic_regex::basic_regex): Use ECMAScript
	when the syntax is not specified.
	* include/bits/regex_compiler.h (_RegexTranslator,
	_RegexTranslatorBase): Partially support icase in ranges.
	* include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply):
	Refactor _M_apply to make the control flow easier to follow, and
	call _M_translator._M_match_range as added previously.
	* testsuite/28_regex/traits/char/icase.cc: Add new tests.
	* testsuite/28_regex/traits/char/user_defined.cc: Add new tests.

From-SVN: r243093
2016-12-01 03:03:55 +00:00
Segher Boessenkool 0f09127808 combine: Emit a barrier after unconditional trap (PR78607)
After an unconditional trap there should be a barrier.  In most cases
one is automatically inserted, but not if the trap is the final insn in
the instruction stream.  We need to emit one explicitly.


	PR rtl-optimization/78607
	* combine.c (try_combine): Emit a barrier after a unconditional trap.

gcc/testsuite/
	PR rtl-optimization/78607
	* gcc.c-torture/compile/pr78607.c: New testcase.

From-SVN: r243092
2016-12-01 03:04:10 +01:00
GCC Administrator e95a3eb3c6 Daily bump.
From-SVN: r243091
2016-12-01 00:16:23 +00:00
Joseph Myers 0f52035658 * es.po: Update.
From-SVN: r243085
2016-11-30 22:13:49 +00:00
Ian Lance Taylor 24f1d7f80e runtime: print C functions in traceback
Since gccgo can trace back through C code as easily as Go code, we
    should print C functions in the traceback.
    
    This worked before https://golang.org/cl/31230 for a dumb reason.  The
    default value for runtime.traceback_cache was, and is, 2 << 2, meaning
    to print all functions.  The old C code for runtime_parsedebugvars
    would return immediately and do nothing if the environment variable
    GODEBUG was not set (if GODEBUG was set it would later call
    setTraceback.  The new Go code for runtime.parsedebugvars does not
    return immediately if GODEBUG is not set, and always calls
    setTraceback.  Either way, if GOTRACEBACK is not set, setTraceback
    would set traceback_cache to 1 << 2, meaning to only print non-runtime
    functions and having the effect of not printing plain C functions.
    
    Keep the current handling of GODEBUG/GOTRACEBACK, which matches the gc
    library, but add an extra check to print C functions by default.
    
    Reviewed-on: https://go-review.googlesource.com/33717

From-SVN: r243083
2016-11-30 20:28:28 +00:00
Uros Bizjak df3f127712 * testsuite/ChangeLog: Fix some entries.
From-SVN: r243082
2016-11-30 20:38:55 +01:00
Martin Sebor 1124cf27b9 PR tree-optimization/78586 - [7 Regression] Wrong code caused by printf-return-value
gcc/testsuite/ChangeLog:

	PR tree-optimization/78586
	* gcc.dg/tree-ssa/builtin-sprintf-2.c: New test cases.

From-SVN: r243081
2016-11-30 12:16:03 -07:00
Michael Meissner bc28bbb60e re PR target/78602 (PowerPC vec-extract-v2df.c can fail if -mcpu=power9 -O0)
2016-11-30  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/78602
	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): If the
	element is not a constant or in a register, force it to a
	register.

	PR target/78560
	* config/rs6000/rs6000.c (rs6000_expand_vector_set): Force value
	that will be set to a vector element to be in a register.
	* config/rs6000/vsx.md (vsx_set_<mode>_p9): Fix thinko that used
	the wrong multiplier to convert the element number to a byte
	offset.

From-SVN: r243044
2016-11-30 18:43:17 +00:00
Alexander Monakov 630e3c3ad6 libgomp: move data definitions from icv.c back to env.c
* config/nvptx/env.c: Delete.
	* icv.c: Move definitions of ICV variables back ...
	* env.c: ...here.  Do not compile environment-related functionality if
	LIBGOMP_OFFLOADED_ONLY is set.

From-SVN: r243041
2016-11-30 21:23:00 +03:00
Alexander Monakov 9e38af5c55 libgomp: introduce LIBGOMP_OFFLOADED_ONLY macro
* configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
	(LIBGOMP_OFFLOADED_ONLY): ...here; new define.
	* configure: Regenerate.
	* config.h.in: Likewise.

From-SVN: r243040
2016-11-30 21:08:30 +03:00
Alexander Monakov f96b7f1f47 libgomp: regenerate with automake-1.11.6
* Makefile.in: Regenerate with automake-1.11.6.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* testsuite/Makefile.in: Likewise.

From-SVN: r243039
2016-11-30 21:05:33 +03:00
Vladimir Makarov f7abdf36e5 re PR tree-optimization/77856 (wrong code at -O2 on x86_64-linux-gnu in 32-bit mode)
2016-11-30  Vladimir Makarov  <vmakarov@redhat.com>

	PR tree-optimization/77856
	* lra-constraints.c (inherit_in_ebb): Check original regno for
	invalid invariant regs too.  Set only clobbered hard regs for the
	invalid invariant regs.

2016-11-30  Vladimir Makarov  <vmakarov@redhat.com>

	PR tree-optimization/77856
	* gcc.target/i386.c (pr77856.c): New.

From-SVN: r243038
2016-11-30 17:35:40 +00:00
Matthias Klose de683d58cf configure.ac: Set BDW_GC_CFLAGS and BDW_GC_LIBS after checking for the existence of the...
2016-11-30  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Set BDW_GC_CFLAGS and BDW_GC_LIBS after checking
        for the existence of the pkg-config modules.
        * Regenerate.

From-SVN: r243037
2016-11-30 16:39:30 +00:00
Ville Voutilainen 3ba9051e44 Fix testsuite failures caused by the patch implementing LWG 2534.
* include/std/istream (__is_convertible_to_basic_istream):
Change the return types of __check, introduce istream_type.
(operator>>(_Istream&&, _Tp&&)):
Use __is_convertible_to_basic_istream::istream_type as the return type.
* include/std/ostream (__is_convertible_to_basic_ostream):
Change the return types of __check, introduce ostream_type.
(operator>>(_Ostream&&, _Tp&&)):
Use __is_convertible_to_basic_ostream::ostream_type as the return type.

From-SVN: r243036
2016-11-30 18:32:24 +02:00
David Edelsohn 917b47be74 * g++.dg/debug/dwarf2/ptrdmem-1.C: Don't XFAIL scan-assembler-not on AI\X.
From-SVN: r243035
2016-11-30 11:14:10 -05:00
Andre Vehreschild 8fb75185a2 single.c (_gfortran_caf_get_by_ref): Prevent compile time warning.
libgfortran/ChangeLog:

2016-11-30  Andre Vehreschild  <vehre@gcc.gnu.org>

        * caf/single.c (_gfortran_caf_get_by_ref): Prevent compile time
        warning.
        (_gfortran_caf_send_by_ref): Same.
        (_gfortran_caf_is_present): Prevent fallthrough warnings.

gcc/testsuite/ChangeLog:

2016-11-30  Andre Vehreschild  <vehre@gcc.gnu.org>

	* ChangeLog: Removed wrongly placed entry.
	* gfortran.dg/coarray_lib_alloc_4.f90: New test.

From-SVN: r243034
2016-11-30 16:59:07 +01:00
Pitchumani Sivanupandi bdc5f9370c Commit files forgotten in r242966.
2016-11-30  Pitchumani Sivanupandi  <pitchumani.sivanupandi@microchip.com>

	Commit files forgotten in r242966.

	* config/avr/avr-arch.h (avr_mcu_t) [flash_size]: New member.
	* config/avr/avr-devices.c (avr_mcu_types): Add flash size info.
	* config/avr/gen-avr-mmcu-specs.c (print_mcu): Remove hard-coded
	prefix check to find wrap-around value, instead use MCU flash size.
	For 8k flash devices, update link_pmem_wrap spec string to
	add --pmem-wrap-around=8k.
	* config/avr/specs.h (LINK_RELAX_SPEC): Move link_pmem_wrap from
	here...
	(LINK_SPEC): ...to here.

From-SVN: r243033
2016-11-30 15:07:37 +00:00
David Edelsohn 82c7aae6ed new1.C: XFAIL on AIX.
* g++.dg/eh/new1.C: XFAIL on AIX.
        * g++.dg/eh/delete1.C: Same.
        * g++.dg/init/new40.C: Same.
        * g++.old-deja/g++.eh/new2.C: Same.

From-SVN: r243032
2016-11-30 10:07:28 -05:00
David Malcolm 9e604f92fd Fix typo in testcase name
gcc/testsuite/ChangeLog:

	PR c/78498
	* gcc.dg/format/pr78494.c: Rename to...
	* gcc.dg/format/pr78498.c: ...this.

From-SVN: r243031
2016-11-30 14:54:43 +00:00
David Malcolm e613205cef libiberty: avoid reading past end of buffer in strndup/xstrndup (PR c/78498)
gcc/ChangeLog:
	PR c/78498
	* selftest.c (selftest::assert_strndup_eq): New function.
	(selftest::test_strndup): New function.
	(selftest::test_libiberty): New function.
	(selftest::selftest_c_tests): Call test_libiberty.

gcc/testsuite/ChangeLog:
	PR c/78498
	* gcc.dg/format/pr78494.c: New test case.

libiberty/ChangeLog:
	PR c/78498
	* strndup.c (strlen): Delete decl.
	(strnlen): Add decl.
	(strndup): Call strnlen rather than strlen.
	* xstrndup.c (xstrndup): Likewise.

From-SVN: r243030
2016-11-30 14:50:43 +00:00
David Edelsohn e6383ae7a7 ref-1.C: Don't XFAIL scan-assembler-not on AIX.
* g++.dg/debug/dwarf2/ref-1.C: Don't XFAIL scan-assembler-not on AIX.
        * g++.dg/debug/dwarf2/imported-decl-2.C: Same.
        * g++.dg/debug/dwarf2/refqual-1.C: Same.
        * g++.dg/debug/dwarf2/refqual-2.C: Same.

From-SVN: r243029
2016-11-30 09:49:25 -05:00