138587 Commits

Author SHA1 Message Date
Eric Botcazou
329be64b06 adaint.c: Test for __linux__ instead of linux and __sun__ instead of sun.
* adaint.c: Test for __linux__ instead of linux and __sun__ instead
	of sun.  Add missing leading underscore to AIX.  Remove #elif 0.
	* adaint.h: Likewise.
	* cio.c: Likewise.
	* cstreams.c: Likewise.
	* env.c: Likewise.
	* gsocket.h: Likewise.
	* init.c: Likewise.  Test for __i386__ instead of i386.
	* link.c: Likewise.
	* s-oscons-tmplt.c: Likewise.
	* sysdep.c: Likewise.
	* terminals.c: Likewise.  Use BSD symbol instead of FREEBSD.
	* tracebak.c: Likewise.  Test for __sparc__ instead of sparc.

From-SVN: r223890
2015-05-30 21:13:59 +00:00
Andreas Schwab
c67e8801d9 m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for implict or explicit -fPIE or -fpie.
* config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
implict or explicit -fPIE or -fpie.

From-SVN: r223889
2015-05-30 17:04:15 +00:00
Mike Frysinger
98ca38bf64 alpha: turn -mcpu=<cpu> into -m<cpu> for the assembler all the time
If you create a toolchain with the target alphaev68-unknown-linux-gnu, gcc
will use the -mcpu=ev67 by default when compiling.  Some software packages
(like gmp) will use this target info to decide that it may freely use
assembly code that targets ev67+.  The trouble comes in when trying to
compile that pure assembly code.

While gcc will use -mcpu=ev67 just fine, it will invoke gas without an
-mev67 option, so the assembler will default to the lowest common
denominator -- ev4 in this case.  Inline assembly in C code is normally
just peachy because gcc's assembler output will start with ".arch <cpu>"
and the assembler will accept that.  But if the hand coded assembly code
lacks that .arch, you easily end up with errors like so:
	opcode `cttz' not supported for target <all>

While the assembly code could/should be fixed to explicitly output the
.arch directive, I think it's reasonable to expect this to work:
	echo 'cttz $20,$21' | gcc -x assembler -c - -o /dev/null -mcpu=ev67

This simple patch implements that, although I guess it is a bit redundant
in the default case where gcc outputs .arch.  Perhaps that should all be
punted in favor of a specs-only approach.  Considering gas respects .arch
in the code over the command line, it should also make things more natural.
The command line is processed in the standard/expected way -- gcc defaults
the -m option while user's custom -mcpu/-Wa,-m options come after, and the
guy writing the assembly code is free to use .arch to override everything
else.

From-SVN: r223888
2015-05-30 16:39:52 +00:00
H.J. Lu
4af8bb9762 Fix dg-warning in gcc.dg/alias-8.c
* gcc.dg/alias-8.c: Fix dg-warning.

From-SVN: r223887
2015-05-30 08:36:59 -07:00
Jonathan Wakely
12fc64ac3a stl_algobase.h (__equal<true>::equal): Check length instead of checking for null pointers.
* include/bits/stl_algobase.h (__equal<true>::equal): Check length
	instead of checking for null pointers.
	(__lexicographical_compare<true>::__lc): Only check shorter length.

From-SVN: r223886
2015-05-30 12:44:02 +01:00
DJ Delorie
7d21a61eb5 expmed.c (extract_bit_field_1): Avoid clobbering a yet-to-be-used base/index register.
* expmed.c (extract_bit_field_1): Avoid clobbering a
yet-to-be-used base/index register.

From-SVN: r223885
2015-05-30 02:05:54 -04:00
Mikhail Maltsev
ec3dfdac4d Add new script to contrib (GIMPLE syntax highlighting rules for Vim).
contrib/
	* gimple.vim: New file.

From-SVN: r223884
2015-05-30 05:44:17 +00:00
Jan Hubicka
6e042ef4e2 alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
* alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
	(alias_stats): Add num_universal.
	(alias_set_subset_of): Special case pointers; be ready for NULL
	children.
	(alias_sets_conflict_p): Special case pointers; be ready for NULL
	children.
	(init_alias_set_entry): Break out from ...
	(record_alias_subset): ... here; propagate new fields;
	allocate children only when really needed.
	(get_alias_set): Do less generous pointer globbing.
	(dump_alias_stats_in_alias_c): Update statistics.
	* gcc.dg/alias-8.c: Do not xfail.
	* gcc.dg/pr62167.c: Prevent FRE.
	* gcc.dg/alias-14.c: New testcase.

From-SVN: r223883
2015-05-30 00:32:04 +00:00
GCC Administrator
530141b637 Daily bump.
From-SVN: r223882
2015-05-30 00:16:15 +00:00
Alan Modra
43f7e3fec5 rs6000.c (split_stack_arg_pointer_used_p): Scan correct block for use of r12.
* config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
	correct block for use of r12.
	(rs6000_expand_split_stack_prologue): Error on r29 asm global reg.

From-SVN: r223878
2015-05-30 09:45:30 +09:30
François Dumont
adad2a7d90 2015-05-29 François Dumont fdumont@gcc.gnu.org>
* include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
	_GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
	* include/debug/assertions.h: ...here, new.
	* include/debug/formatter.h
	(_Error_formatter::_Is_iterator_value_type): New.
	(_Error_formatter::_Is_instance): New.
	(_Error_formatter::_Parameter): Make public and not friend anymore.
	(_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
	(_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
	entry.
	(_Error_formatter::_Parameter::_Type): New.
	(_Error_formatter::_Parameter::_Instance): New, inherit from
	latter.
	(union _Error_formatter::_Parameter::_M_variant): Reorganize.
	(_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
	overloads take iterator through a const reference.
	(_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
	New.
	(_Parameter(const _Type&, const char*, _Is_instance)): New.
	(_Error_formatter::_M_print_type): Delete.
	(_Error_formatter::_M_iterator_value_type): New.
	(_Error_formatter::_M_instance): New.
	* include/Makefile.am: Add new above debug file.
	* include/Makefile.in: Regenerate.
	* include/debug/functions.h
	(__check_dereferenceable(const _Safe_iterator<>&),
	__valid_range(const _Safe_iterator<>&),
	__is_safe_random_iterator<_Safe_iterator<>>): Move...
	* include/debug/safe_iterator.h: ... here.
	Replace debug.h include with assertions.h.
	(__check_singular_aux): Move...
	* include/debug/safe_base.h: ... here.
	* include/debug/functions.h
	(__check_dereferenceable(const _Safe_local_iterator<>&),
	__valid_range(const _Safe_local_iterator<>&): Move...
	* include/debug/safe_local_iterator.h: ...here.
	* include/debug/safe_sequence.h: Replace debug.h with assertions.h.
	Remove _Safe_iterator declaration.
	* include/debug/safe_unordered_container.h: Replace debug.h with
	assertions.h.
	* include/debug/array: Replace safe_sequence.h include with
	formatter.h and macros.h.
	* include/debug/deque: Include functions.tcc.
	* include/debug/forward_list: Likewise.
	* include/debug/list: Likewise.
	* include/debug/string: Likewise.
	* include/debug/vector: Likewise.
	* include/bits/unique_ptr.h: Replace debug.h include with new
	assertions.h.
	* include/bits/stl_iterator_base_funcs.h: Likewise.
	* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/array/tuple_interface/
	tuple_element_debug_neg.cc: Likewise.
	* src/c++11/debug.cc: Adapt.

From-SVN: r223877
2015-05-29 21:29:07 +00:00
Christophe Lyon
8fd0be756e vextp64_1.c: Close comment on final line.
2015-05-29  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/arm/simd/vextp64_1.c: Close comment on final line.

From-SVN: r223876
2015-05-29 21:46:01 +02:00
Joseph Myers
d170ec49e6 * sv.po: Update.
From-SVN: r223873
2015-05-29 19:03:09 +01:00
Jonathan Wakely
cfba236af0 status_cxx2017.xml: Fix duplicate ID attribute.
* doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
	* doc/html/manual/*: Regenerate.

From-SVN: r223868
2015-05-29 16:18:05 +01:00
Dominik Vogt
1f8d3e4252 PR 66215: S390: Fix placement of post-label NOPs with -mhotpatch
gcc/ChangeLog:
	    PR target/66215
	    * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
	    with -mhotpatch=.

gcc/testsuite/ChangeLog:
	    PR target/66215
	    * gcc.target/s390/hotpatch-1.c: Remove optimization options from
	    dg-options.
	    * gcc.target/s390/hotpatch-10.c: Likewise.
	    * gcc.target/s390/hotpatch-11.c: Likewise.
	    * gcc.target/s390/hotpatch-12.c: Likewise.
	    * gcc.target/s390/hotpatch-17.c: Likewise.
	    * gcc.target/s390/hotpatch-18.c: Likewise.
	    * gcc.target/s390/hotpatch-20.c: Likewise.
	    * gcc.target/s390/hotpatch-21.c: Likewise.
	    * gcc.target/s390/hotpatch-22.c: Likewise.
	    * gcc.target/s390/hotpatch-23.c: Likewise.
	    * gcc.target/s390/hotpatch-24.c: Likewise.
	    * gcc.target/s390/hotpatch-2.c: Likewise.  Adjust scan-assembler
	    to check for the exact nops too.
	    * gcc.target/s390/hotpatch-3.c: Likewise.
	    * gcc.target/s390/hotpatch-4.c: Likewise.
	    * gcc.target/s390/hotpatch-5.c: Likewise.
	    * gcc.target/s390/hotpatch-6.c: Likewise.
	    * gcc.target/s390/hotpatch-7.c: Likewise.
	    * gcc.target/s390/hotpatch-8.c: Likewise.
	    * gcc.target/s390/hotpatch-9.c: Likewise.
	    * gcc.target/s390/hotpatch-14.c: Likewise.
	    * gcc.target/s390/hotpatch-15.c: Likewise.
	    * gcc.target/s390/hotpatch-16.c: Likewise.
	    * gcc.target/s390/hotpatch-19.c: Likewise.
	    * gcc.target/s390/hotpatch-25.c: Likewise.  Remove
	    scan-assembler-times counting number of .align directives.
	    * gcc.target/s390/hotpatch-13.c: Remove optimization options from
	    dg-options.  Remove scan-assembler-times counting number of .align
	    directives.
	    * gcc.target/s390/hotpatch-26.c: New file.
	    * gcc.target/s390/hotpatch-27.c: New file.
	    * gcc.target/s390/hotpatch-28.c: New file.
	    * gcc.target/s390/s390.exp: Run hotpatch-*.c tests as torture tests
	    using -Os -O0 -O1 -O2 -O3 options.

From-SVN: r223867
2015-05-29 14:26:56 +00:00
Jonathan Wakely
75eb64433e future (__async_result_of): New alias template.
* include/std/future (__async_result_of): New alias template.
	(async): Use __async_result_of to pass decayed types to result_of.
	* testsuite/30_threads/async/lwg2021.cc: New.
	* doc/xml/manual/intro.xml: Document LWG 2021 status.

From-SVN: r223866
2015-05-29 14:44:52 +01:00
Jonathan Wakely
6759eddee4 re PR libstdc++/66327 (-fsanitize=nonnull-attribute errors in stl_algobase.h)
PR libstdc++/66327
	* include/bits/stl_algobase.h (__equal<true>::equal): Do not call
	memcmp with null pointers.
	(__lexicographical_compare<true>::__lc): Do not call memcmp for empty
	ranges.

From-SVN: r223865
2015-05-29 14:28:54 +01:00
Kyrylo Tkachov
ca382af0c8 [obvious] Close comment in aarch64 test
* gcc.target/aarch64/vdup_lane_2.c: Close comment on final line.

From-SVN: r223864
2015-05-29 13:21:32 +00:00
Jakub Jelinek
2395a8ea08 re PR tree-optimization/66142 (Loop is not vectorized because not sufficient support for GOMP_SIMD_LANE)
PR tree-optimization/66142
	* tree-if-conv.c (if_convertible_phi_p): Don't give up on
	virtual phis that feed themselves.

	* gcc.dg/vect/pr66142.c: New test.

From-SVN: r223863
2015-05-29 15:06:23 +02:00
Richard Biener
52fc6859fe re PR middle-end/66314 (ice in verify_loop_structure)
2015-05-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66314
	* tree-ssa-threadupdate.c (create_block_for_threading): Add
	parameter that says which loop the new block belongs to.
	(ssa_create_duplicates): Blocks duplicated for the threaded
	path belong to the loop of the thread destination.

	* gcc.dg/asan/pr66314.c: New testcase.

From-SVN: r223861
2015-05-29 10:50:58 +00:00
Nick Clifton
59cff2cd91 t-msp430 (MULTILIB_OPTIONS): Add multilibs for the different types of hardware multiply available on the MSP430.
* config/msp430/t-msp430 (MULTILIB_OPTIONS): Add multilibs for the
	different types of hardware multiply available on the MSP430.
	(MULTILIB_DIRNAMES): Likewise.
	(MULTILIB_EXCEPTIONS): Add exceptions for incompatible cpus and
	hardware multiply types.
	(MULTILIB_MATCHES): Add matches for known MCU names and hardware
	multiply types.

From-SVN: r223860
2015-05-29 10:18:23 +00:00
Tristan Gingold
e24afc10e0 libbacktrace: add support of PE/COFF
libbacktrace/
2015-05-29  Tristan Gingold  <gingold@adacore.com>

	* pecoff.c: New file.
	* Makefile.am (FORMAT_FILES): Add pecoff.c and dependencies.
	* Makefile.in: Regenerate.
	* filetype.awk: Detect pecoff.
	* configure.ac: Define BACKTRACE_SUPPORTS_DATA on elf platforms.
	Add pecoff.
	* btest.c (test5): Test enabled only if BACKTRACE_SUPPORTS_DATA is
	true.
	* backtrace-supported.h.in (BACKTRACE_SUPPORTS_DATA): Define.
	* configure: Regenerate.
	* pecoff.c: New file.

From-SVN: r223859
2015-05-29 08:40:20 +00:00
Bernhard Reutner-Fischer
c469078de7 testsuite: auto-wipe dump files
gcc/testsuite/ChangeLog

2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* lib/gcc-dg.exp (cleanup-ipa-dump, cleanup-rtl-dump,
	cleanup-tree-dump, cleanup-dump, cleanup-saved-temps): Remove.
	Adjust all callers.
	(schedule-cleanups, dg-keep-saved-temps): New proc.
	(gcc-dg-test-1): Schedule cleanups.
	* lib/profopt.exp (profopt-execute): Likewise.
	* g++.dg/cdce3.C: Adjust expected line numbers.
	* gcc.dg/cdce1.c: Likewise.
	* gcc.dg/cdce2.c: Likewise.
	* gcc.dg/strlenopt-22.c: Fix comment delimiter.
	* gcc.dg/strlenopt-24.c: Likewise.
	* gcc.dg/tree-ssa/vrp26.c: Likewise.
	* gcc.dg/tree-ssa/vrp28.c: Likewise.
	* obj-c++.dg/encode-2.mm: Likewise.

libgomp/ChangeLog

2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* testsuite/libgomp.graphite/bounds.c: Adjust for
	cleanup-tree-dump removal.
	* testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
	* testsuite/libgomp.graphite/pr41118.c: Likewise.


gcc/ChangeLog

2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
	to cleanup-saved-temps.
	* doc/sourcebuild.texi (Clean up generated test files): Expand
	introduction.
	(dg-keep-saved-temps): Document new proc.
	(cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
	cleanup-saved-temps): Remove.

From-SVN: r223858
2015-05-29 10:20:29 +02:00
GCC Administrator
90bb09c4f7 Daily bump.
From-SVN: r223856
2015-05-29 00:16:16 +00:00
DJ Delorie
46a16203b2 * gcc.c-torture/execute/pr65369.c: Don't assume int is 32 bits.
From-SVN: r223851
2015-05-28 17:35:58 -04:00
Andreas Tobler
384d8786cd configure.ac: Move the atoll check from AC_CHECK_FUNCS to gcc_AC_CHECK_DECLS.
2015-05-28  Andreas Tobler  <andreast@gcc.gnu.org>

    * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
    gcc_AC_CHECK_DECLS.
    * configure: Regenerate.

From-SVN: r223847
2015-05-28 22:37:05 +02:00
Andreas Tobler
cfa8681a56 configure.host: Add bits for FreeBSD amd64 and i386.
2015-05-28  Andreas Tobler  <andreast@gcc.gnu.org>

    * configure.host: Add bits for FreeBSD amd64 and i386.
    * configure.ac: Add signal handler for FreeBSD (amd64/i386)
    * configure: Regenerate.
    * include/freebsd-signal.h: New file.

From-SVN: r223845
2015-05-28 20:13:55 +02:00
Uros Bizjak
d778b5a09c futex_bits.h (sys_futex0): Change operands "op" and "val" to int.
* config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change
	operands "op" and "val" to int.

	* config/linux/sh/futex_bits.h (sys_futex0) Change operands
	"op" and "val" to int.

	* config/linux/alpha/futex_bits.h (sys_futex0) Change operands
	"op" and "val" to int.

	* config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake):
	Declare as static int.
	(FUTEX_PRIVATE_FLAG): Remove L suffix.
	* config/linux/futex_bits.h (sys_futex0) Change operand "op" to int.

	Revert:
	* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]:
	Change operand "op" to long.

From-SVN: r223844
2015-05-28 19:36:47 +02:00
Jonathan Wakely
ac3efa775f re PR libstdc++/65352 (array<T,0>::begin()/end() etc. forms a null reference and breaks on clang+ubsan)
PR libstdc++/65352
	* include/profile/array (array::data): Use _S_ptr.
	* include/debug/array (array::data): Likewise.

From-SVN: r223838
2015-05-28 17:00:09 +01:00
Eric Botcazou
396e67d21a utils.c (max_size): Add special code to deal with the subtraction of a "negative" value in an...
* gcc-interface/utils.c (max_size) <tcc_binary>: Add special code to
	deal with the subtraction of a "negative" value in an unsigned type.

From-SVN: r223837
2015-05-28 15:45:08 +00:00
Eric Botcazou
afd6f70235 decl.c (gnat_to_gnu_entity): Do not error out on a return type which has a size that overflows if...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Do
	not error out on a return type which has a size that overflows if the
	return is done by invisible reference.

From-SVN: r223836
2015-05-28 15:37:57 +00:00
Eric Botcazou
7971481596 utils.c (gnat_pushdecl): Reunify the handling of array and pointer types wrt DECL_ORIGINAL_TYPE and...
* gcc-interface/utils.c (gnat_pushdecl): Reunify the handling of array
	and pointer types wrt DECL_ORIGINAL_TYPE and adjust left and right.

From-SVN: r223835
2015-05-28 15:33:00 +00:00
Eric Botcazou
fc7a823e15 gigi.h (gnat_stabilize_reference): Adjust.
* gcc-interface/gigi.h (gnat_stabilize_reference): Adjust.
	(rewrite_fn): Remove third parameter.
	(type_is_padding_self_referential): New inline predicate.
	(return_type_with_variable_size_p): Likewise.
	* gcc-interface/decl.c (allocatable_size_p): More around.
	(cannot_be_superflat_p): Rename into...
	(cannot_be_superflat ): ...this.
	(initial_value_needs_conversion): New predicate.
	(gnat_to_gnu_entity): Invoke type_is_padding_self_referential,
	initial_value_needs_conversion and adjust to above renaming.
	For a renaming, force the materialization if the inner expression
	is compound.  Adjust calls to elaborate_reference and build a
	compound expression if needed.
	(struct er_dat): Add N field.
	(elaborate_reference_1): Remove N parameter and adjust.
	(elaborate_reference): Add INIT parameter and pass it in the call to
	gnat_rewrite_reference.  Adjust initial expression.
	* gcc-interface/trans.c (Call_to_gnu): Treat renamings the same way as
	regular object declarations when it comes to creating a temporary.
	Adjust call to gnat_stabilize_reference and build a compound expression
 	if needed.  Invoke return_type_with_variable_size_p.
	(gnat_to_gnu): Invoke type_is_padding_self_referential.  In case #4,
	return a call to a function unmodified if it returns with variable size
 	and is also the initial expression in an object declaration.
	* gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: Use the RHS'
	type if it is a call to a function that returns with variable size.
	(build_unary_op): Invoke type_is_padding_self_referential.
	(gnat_stabilize_reference_1): Remove N parameter and adjust.
	(gnat_stabilize_reference): Add INIT parameter and pass it in the call
	to gnat_rewrite_reference.
	(gnat_rewrite_reference):  Remove N, add INIT parameter and adjust.
	<COMPOUND_EXPR>: New case.

From-SVN: r223834
2015-05-28 15:24:12 +00:00
Mike Frysinger
318a4e6de8 configure: fix vtable help
Spacing is off causing --help to not line up.  Use the standard
AS_HELP_STRING like all the other options.

From-SVN: r223833
2015-05-28 14:27:35 +00:00
Mike Frysinger
52d0089eca nios2-linux: add missing cpp specs
Define CPP_SPEC for nios2 linux targets so that -posix & -pthread work
like on all other linux targets.

Discovered via Gentoo bug https://bugs.gentoo.org/543114

From-SVN: r223823
2015-05-28 13:59:58 +00:00
Mike Frysinger
148f65a3c7 microblaze-linux: add missing cpp specs
Define CPP_SPEC for microblaze linux targets so that -posix & -pthread
work like on all other linux targets.

Discovered via Gentoo bug https://bugs.gentoo.org/543114

From-SVN: r223822
2015-05-28 13:59:32 +00:00
Uros Bizjak
bb3caa3577 futex.h (sys_futex0): Remove function.
* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
	(futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
	(futex_wake) [!__x86_64__]: Ditto.

From-SVN: r223821
2015-05-28 15:59:17 +02:00
Mike Frysinger
de0e921c9d hppa-linux: add missing cpp specs
Define CPP_SPEC for parisc linux targets so that -posix & -pthread work
like on all other linux targets.

Discovered via Gentoo bug https://bugs.gentoo.org/543114

From-SVN: r223820
2015-05-28 13:59:09 +00:00
Richard Biener
14a6143710 tree-vect-loop.c (vect_fixup_reduc_chain): New function.
2015-05-28  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.c (vect_fixup_reduc_chain): New function.
	(vect_fixup_scalar_cycles_with_patterns): Likewise.
	(vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
	after pattern recog.
	(vect_create_epilog_for_reduction): Properly handle reductions
	with patterns.
	(vectorizable_reduction): Likewise.
	* tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
	reduction chains.
	(vect_get_constant_vectors): Create the correct number of
	initial values for reductions.
	(vect_schedule_slp_instance): Handle reduction chains that are
	type changing properly.
	* tree-vect-stmts.c (vect_analyze_stmt): Adjust.

	* gcc.dg/vect/slp-reduc-sad.c: New testcase.

From-SVN: r223818
2015-05-28 13:29:41 +00:00
Arnaud Charlet
228722248f [multiple changes]
2015-05-28  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Is_Visible_Component): Component is visible
	in a derived type if inherited through an ancestor that has a
	partial view of the original type holding the component, if the
	full view of that original type is in scope.
	* sem_util.ads (Get_Body_From_Stub): Works for all kinds of stubs.

2015-05-28  Bob Duff  <duff@adacore.com>

	* sem_util.adb (Requires_Transient_Scope): For definite untagged
	subtypes, we should never have to use the secondary stack. This moves
	toward that goal. But there are still cases that don't work.
	Here, we move the check for Is_Definite first, but add a
	special-purpose check for Has_Discrim_Dep_Array.

From-SVN: r223817
2015-05-28 15:27:16 +02:00
Richard Biener
e65757f359 re PR tree-optimization/66142 (Loop is not vectorized because not sufficient support for GOMP_SIMD_LANE)
2015-05-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66142
	* tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
	values better in memcpy destination handling.  Handle non-aliasing
	we discover here.

	* gcc.dg/tree-ssa/ssa-fre-44.c: Fixup.

From-SVN: r223816
2015-05-28 13:24:53 +00:00
Bob Duff
d3b1cbddab sem_util.adb (Requires_Transient_Scope): Avoid returning function results on the secondary stack in so many cases.
2015-05-28  Bob Duff  <duff@adacore.com>

	* sem_util.adb (Requires_Transient_Scope): Avoid returning
	function results on the secondary stack in so many cases.

From-SVN: r223814
2015-05-28 14:52:55 +02:00
Lawrence Velázquez
98fc3d49da re PR target/63810 (gcc sets incorrect macro for OS X deployment targets)
2015-05-28  Lawrence Velázquez  <vq@larryv.me>

	PR target/63810
	* config/darwin-c.c (version_components): New global enum.
	(parse_version, version_as_legacy_macro)
	(version_as_modern_macro, macosx_version_as_macro): New functions.
	(version_as_macro): Remove.
	(darwin_cpp_builtins): Use new function.

testsuite:
	PR target/63810
	* gcc.dg/darwin-minversion-3.c: Update testcase.
	* gcc.dg/darwin-minversion-4.c: Ditto.
	* gcc.dg/darwin-minversion-5.c: New testcase.
	* gcc.dg/darwin-minversion-6.c: Ditto.
	* gcc.dg/darwin-minversion-7.c: Ditto.
	* gcc.dg/darwin-minversion-8.c: Ditto.
	* gcc.dg/darwin-minversion-9.c: Ditto.
	* gcc.dg/darwin-minversion-10.c: Ditto.
	* gcc.dg/darwin-minversion-11.c: Ditto.
	* gcc.dg/darwin-minversion-12.c: Ditto.

From-SVN: r223808
2015-05-28 12:27:05 +00:00
Jonathan Wakely
6a344b953a re PR libstdc++/65352 (array<T,0>::begin()/end() etc. forms a null reference and breaks on clang+ubsan)
PR libstdc++/65352
	* include/std/array (__array_traits::_S_ptr): New function.
	(array::data): Use _S_ptr to avoid creating invalid reference.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	likewise.

From-SVN: r223806
2015-05-28 12:53:35 +01:00
H.J. Lu
f093f5a63b Mark parameters with ATTRIBUTE_UNUSED
* builtins.c (expand_builtin_acc_on_device): Mark parameters
	with ATTRIBUTE_UNUSED.

From-SVN: r223805
2015-05-28 04:41:34 -07:00
Ed Schonberg
4d6a38a56e sem_util.adb (Wrong_Type): In any instance...
2015-05-28  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Wrong_Type): In any instance, do not emit error
	if type of expression is the partial view of the expected type.

2015-05-28  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Actuals): a)  The replacement of formal
	names in named associations only needs to be done within an
	instance, on a call to a primitive of a formal derived type,
	where the actual subprogram may have different formal names than
	those of the primitive operation of the formal type.
	b) Defaulted parameters must be taken into account when obtaining
	the names of the formals of the actual subprogram being called.

From-SVN: r223804
2015-05-28 12:48:29 +02:00
Julian Brown
9fb5fd444b oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument.
* oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
	function comment. Only call gomp_fatal if new argument is true.
	(acc_dev_num_out_of_range): New function.
	(acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
	acc_dev_num_out_of_range as appropriate.
	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
	(acc_get_device_num, acc_set_device_num): Update calls to resolve_device.
	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
	output.

From-SVN: r223803
2015-05-28 10:35:39 +00:00
Julian Brown
32eaed9380 re PR libgomp/65742 (Several libgomp.oacc-* failures after r221922.)
PR libgomp/65742

    gcc/
    * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
    sequence for !ACCEL_COMPILER.

    libgomp/
    * oacc-init.c (plugin/plugin-host.h): Include.
    (acc_on_device): Check whether we're in an offloaded region for
    host_nonshm
    plugin. Don't use __builtin_acc_on_device.
    * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
    nonshm_exec flag in thread-local data.
    (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
    data for host_nonshm plugin.
    (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
    for host_nonshm plugin.
    * plugin/plugin-host.h: New.

From-SVN: r223801
2015-05-28 09:29:19 +00:00
Arnaud Charlet
7d9880c94c [multiple changes]
2015-05-28  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb, sem_disp.ads: Minor reformatting.

2015-05-28  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Set_Debug_Info_Needed): For a private type
	whose full view is itself a derived private type, set flag on
	underlying full view as well, for proper gdb display.

2015-05-28  Bob Duff  <duff@adacore.com>

	* exp_tss.ads: Minor comment fix.
	* exp_ch3.adb (Build_Array_Init_Proc, Build_Record_Init_Proc):
	Inline init_procs when the type has controlled parts. Remove
	obsolete comments about those init_procs -- init_procs for
	such types are no longer complex. A typical init_proc just
	initializes the 'Tag field, and calls the parent init_proc
	(e.g. for Limited_Controlled), which calls the grandparent
	(for Root_Controlled), which does nothing. This all boils down
	to one instruction when inlined.
	* exp_ch7.adb (Create_Finalizer): Inline the finalizer.

2015-05-28  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Analyze_Selected_Component): If the type to use
	is a derived type and is a generic actual, the selected component
	appears within an instance body, and the check over the type
	has failed, examine ancestor types for the desired component.
	(Find_Component_In_Instance): If record type is a derived type,
	examine all ancestors in order to locate desired component.

From-SVN: r223800
2015-05-28 10:19:18 +02:00
Nick Clifton
55ffa75632 rx.c (push_regs): New function.
* config/rx/rx.c (push_regs): New function.  Extracts code from...
	(rx_expand_prologue): ... here.  Use push_regs to push even small
	spans of registers.
	(pop_regs): New function.
	(rx_expand_epilogue):  Use pop_regs to pop even small spans of
	registers.

From-SVN: r223799
2015-05-28 07:16:51 +00:00