Commit Graph

140835 Commits

Author SHA1 Message Date
Ian Lance Taylor 9f59bddfbf re PR go/67695 (Please improve POSIX shell compatibility of libgo/mksysinfo.sh)
PR go/67695
    mksysinfo.sh: Use = with test rather than ==.
    
    Fixes GCC PR 67695.

    Reviewed-on: https://go-review.googlesource.com/14858

From-SVN: r228064
2015-09-23 20:43:46 +00:00
Ville Voutilainen 99474f812e Fix small typos in the coding rule enforcement warnings.
/cp
2015-09-23  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Fix small typos in the coding rule enforcement warnings.
	* parser.c (cp_parser_namespace_definition): Replace 'namepace'
	with 'namespace'.

/testsuite
2015-09-23  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Fix small typos in the coding rule enforcement warnings.
	* g++.dg/diagnostic/disable.C: Replace 'namepace'
	with 'namespace'.

From-SVN: r228061
2015-09-23 21:22:21 +03:00
Ian Lance Taylor 46efdbbc01 runtime: rewrite lfstack packing/unpacking to look more like that in Go
Reviewed-on: https://go-review.googlesource.com/13037

From-SVN: r228057
2015-09-23 17:07:15 +00:00
Thomas Schwinge a9c238108b Fix --enable-offload-targets/-foffload handling, pt. 2
gcc/
	* gcc.c (handle_foffload_option): Don't lose the trailing NUL
	character when appending to offload_targets.

From-SVN: r228054
2015-09-23 16:52:57 +02:00
Thomas Schwinge 64186aad5a Fix --enable-offload-targets/-foffload handling, pt. 1
gcc/
	* configure.ac (offload_targets, OFFLOAD_TARGETS): Separate
	offload targets by commas, not colons.
	* config.in: Regenerate.
	* configure: Likewise.
	* gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that,
	instead of setting up the default offload targets here...
	(process_command): ..., do it here.
	libgomp/
	* plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload
	targets are separated by commas.
	* config.h.in: Regenerate.

From-SVN: r228053
2015-09-23 16:52:50 +02:00
Thomas Schwinge f2c9f71da9 Refactor omp_reduction_init: omp_reduction_init_op
gcc/
	* omp-low.h (omp_reduction_init_op): Declare.
	* omp-low.c (omp_reduction_init_op): New, broken out of ...
	(omp_reduction_init): ... here.  Call it.
	* tree-parloops.c (initialize_reductions): Use
	omp_reduction_init_op.

Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>

From-SVN: r228052
2015-09-23 16:46:55 +02:00
Richard Biener ef537cc859 re PR middle-end/67662 (-fsanitize=undefined cries wolf for X - 1 + X when X is 2**30)
2015-09-23   Richard Biener  <rguenther@suse.de>

	PR middle-end/67662
	* fold-const.c (fold_binary_loc): Do not reassociate two vars with
	undefined overflow unless they will cancel out.

	* gcc.dg/ubsan/pr67662.c: New testcase.

From-SVN: r228051
2015-09-23 14:09:48 +00:00
Kirill Yukhin 9e07d08d78 AVX-512. Fix emit in '*<mshift><mode>3' pattern.
gcc/
	 * config/i386/i386.md (define_insn "*<mshift><mode>3"): Fix
	 insn emit.

From-SVN: r228050
2015-09-23 13:28:12 +00:00
Manuel López-Ibáñez c1822f9c9b [c-family/49654/49655] reject invalid options in pragma diagnostic
Use find_opt instead of linear search through options in
handle_pragma_diagnostic (PR 49654) and reject non-warning options and
options not valid for the current language (PR 49655).

gcc/testsuite/ChangeLog:

2015-09-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/49655
	* gcc.dg/pragma-diag-6.c: New test.

gcc/ChangeLog:

2015-09-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/49655
	* opts.h (write_langs): Declare.
	* opts-global.c (write_langs): Make it extern.

gcc/c-family/ChangeLog:

2015-09-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/49654
	PR c/49655
	* c-pragma.c (handle_pragma_diagnostic): Detect non-warning
	options and options not valid for the current language.

From-SVN: r228049
2015-09-23 13:07:07 +00:00
Oleg Endo 9ea4e88f17 re PR target/67391 ([SH] Convert clrt addc to normal add insn)
gcc/
	PR target/67391
	* config/sh/sh.md (addsi3, *addsi3_compact): Don't check for overlapping
	regs when matching the pattern.

From-SVN: r228046
2015-09-23 11:55:45 +00:00
James Greenhalgh d5d27976c8 [AArch64] Fix vcvt_high_f64_f32 and vcvt_figh_f32_f64 intrinsics.
gcc/

	* config/aarch64/aarch64-simd.md
	(aarch64_float_truncate_hi_v4sf): Rewrite as an expand.
	(aarch64_float_truncate_hi_v4sf_le): New.
	(aarch64_float_truncate_hi_v4sf_be): Likewise.

gcc/testsuite/

	* gcc.target/aarch64/advsimd-intrinsics/vcvt_high_1.c: New.

From-SVN: r228044
2015-09-23 11:39:48 +00:00
Jonathan Wakely 07dc170b6f Limit number of symlinks that canonical() will resolve
* src/filesystem/ops.cc (canonical): Simplify error handling and
	limit number of symlinks that can be resolved.

From-SVN: r228043
2015-09-23 12:26:50 +01:00
Jonathan Wakely 429ee11aa3 Fix semantics of Filesystem TS directory iterators
[class.directory_iterator] p4 and [directory_iterator.members] p4
require that only the default constructor and ignored permission denied
errors can create the end iterator.

	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_
	prefix from HAVE_STRUCT_DIRENT_D_TYPE.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* include/experimental/fs_dir.h (operator==, operator==):
	Use owner_before instead of pointer equality.
	(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
	* src/filesystem/dir.cc (ErrorCode): Remove.
	(_Dir::advance): Change ErrorCode parameter to error_code*, add
	directory_options parameter and check it on error.
	(opendir): Rename to open_dir to avoid clashing with macro. Change
	ErrorCode parameter to error_code*.
	(make_shared_dir): Remove.
	(native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
	(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
	(directory_iterator(const path&, directory_options, error_code*)):
	Pass options to _Dir::advance and create non-end iterator on error.
	(recursive_directory_iterator(const path&, directory_options,
	error_code*)): Clear error_code on ignored error, create non-end
	iterator otherwise.
	(recursive_directory_iterator::increment): Pass _M_options to
	_Dir::advance.
	(recursive_directory_iterator::pop): Likewise.
	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
	New.
	* testsuite/experimental/filesystem/iterators/
	recursive_directory_iterator.cc: New.

From-SVN: r228042
2015-09-23 12:26:45 +01:00
Jonathan Wakely 366703118c Fix filesystem::create_directories() function
* src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers.
	(create_directories): Fix error handling.
	* testsuite/experimental/filesystem/operations/create_directories.cc:
	New.

From-SVN: r228041
2015-09-23 12:25:59 +01:00
Richard Biener be6e26f995 tree-ssa-structalias.c (intra_create_variable_infos): Build representatives for all restrict qualified pointer destinations.
2015-09-23  Richard Biener  <rguenther@suse.de>

	* tree-ssa-structalias.c (intra_create_variable_infos): Build
	representatives for all restrict qualified pointer destinations.

	* g++.dg/tree-ssa/restrict2.C: Un-XFAIL testcase.

From-SVN: r228040
2015-09-23 11:11:48 +00:00
Kirill Yukhin 40f1d2ab26 AVX-512. Add kshift[lr][bwdq]. Fix iterator.
gcc/
	* config/i386/i386.md (define_code_attr mshift): New.
	(define_mode_iterator SWI1248_AVX512BW): Rename ...
	(SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ
	only.
	(define_insn "*k<logic><mode>"): Use new iterator name.
	(define_insn "*<mshift><mode>3"): New.

From-SVN: r228034
2015-09-23 07:08:56 +00:00
Mikhail Maltsev 0c6126b47d Fix use of valgrind API
gcc/
	PR middle-end/67649
	* memory-block.h (memory_block_pool::allocate): Use valgrind API to
	mark the block as accessible.

From-SVN: r228033
2015-09-23 02:31:14 +00:00
GCC Administrator dbfc22a470 Daily bump.
From-SVN: r228031
2015-09-23 00:16:13 +00:00
Patrick Palka d53980585b Fix -Wmisleading-indentation false-positive
gcc/c-family/ChangeLog:

	* c-indentation.c (should_warn_for_misleading_indentation):
	Float out and consolidate the calls to get_visual_column that
	are passed guard_exploc as an argument.  Compare
	next_stmt_vis_column with guard_line_first_nws instead of with
	body_line_first_nws.

gcc/testsuite/ChangeLog:

	* c-c++-common/Wmisleading-indentation.c: Augment test.

From-SVN: r228027
2015-09-22 23:06:31 +00:00
Segher Boessenkool 6c98d4995c shrink-wrap: Handle multiple predecessors of prologue
The caller of try_shrink_wrapping wants to be returned a single edge to
put the prologue on.  To make that work even if there are multiple edges
(all pointing to the PRO block) that need the prologue, add a new block
that becomes the destination of all such edges, and then jumps to PRO.

In the general case, some edges to PRO will need to be redirected, and
not all edges *can* be redirected.  This adds a can_get_prologue function
that detects such cases.  This then happily can also handle the "prologue
clobbers some reg that is live on the edge we want to insert it on" case.

Not all EDGE_CROSSING edges can be redirected, so handle those the same
as EDGE_COMPLEX edges.


2015-09-22  Segher Boessenkool  <segher@kernel.crashing.org>

	* function.c (thread_prologue_and_epilogue_insns): Delete
	orig_entry_edge argument to try_shrink_wrapping.
	* shrink-wrap.c (can_get_prologue): New function.
	(can_dup_for_shrink_wrapping): Also handle EDGE_CROSSING.
	(try_shrink_wrapping): Delete orig_entry_edge argument.  Use
	can_get_prologue where needed.  Remove code that finds a single
	edge for the prologue.  Remove code that tests if any reg clobbered
	by the prologue is live on the prologue edge.  Remove code that finds
	the new prologue edge after duplicating blocks.  Make a new prologue
	block and edge.
	* shrink-wrap.h (try_shrink_wrapping): Delete orig_entry_edge argument.

From-SVN: r228022
2015-09-22 22:50:38 +02:00
Jeff Law 50fa47d916 [PATCH] Remove undefined behaviour from hppa backend
* config/pa/pa.h (MIN_LEGIT_64BIT_CONST_INT: Avoid undefined
	behavior.

From-SVN: r228021
2015-09-22 12:39:10 -06:00
Nathan Sidwell 6b333269be c.opt (Wmultiple-inheritance, [...]): New C++ warnings.
c-family/
	* c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
	Wnamespaces): New C++ warnings.

	cp/
	* decl.c (xref_basetypes): Check virtual and/or multiple
	inheritance warning.
	* parser.c (cp_parser_namespace_definition): Check namespaces
	warning.
	* pt.c (push_template_decl_real): Check templates warning.

	* doc/invoke.texi  (-Wmultiple-inheritance, -Wvirtual-inheritance,
	-Wtemplates, -Wnamespaces): Document.

	testsuite/
	* g++.dg/diagostic/disable.C: New.

From-SVN: r228019
2015-09-22 15:34:49 +00:00
Jason Merrill a75f15742a Disconnect -Wabi=<n> from -fabi-compat-version=<n>.
gcc/c-family/
	* c-common.h (abi_compat_version_crosses): New.
	(warn_abi_version): Declare.
	* c-common.c: Define it.
	* c-opts.c (c_common_post_options): Handle it.
	flag_abi_compat_version defaults to 8.
gcc/cp/
	* mangle.c (abi_warn_or_compat_version_crosses): New.
	Use it instead of abi_version_crosses.
	(mangle_decl): Deal with -fabi-compat-version and -Wabi separately.

From-SVN: r228017
2015-09-22 11:18:26 -04:00
Tom de Vries 8013b816cc Handle restrict pointer references as restrict in AA
2015-09-22  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/67671
	* tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict
	pointer references as restrict.

	* g++.dg/pr67671.C: New test.

From-SVN: r228015
2015-09-22 14:14:56 +00:00
Jason Merrill 0854c7f115 Update Andrew Cagney's address.
From-SVN: r228014
2015-09-22 09:31:20 -04:00
Chung-Lin Tang b062ae0549 nios2.c (nios2_legitimize_address): When handling 'reg + reloc' cases...
2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>

	* config/nios2/nios2.c (nios2_legitimize_address): When handling
	'reg + reloc' cases, allow first operand to be non-REG, and use
	force_reg() to enforce address pattern.

From-SVN: r228012
2015-09-22 12:19:27 +00:00
Alexander Fomin 01c102a6de re PR target/67480 (AVX512 bitwise logic operations pattern is incorrect)
PR target/67480

gcc/
	* config/i386/sse.md (define_mode_iterator VI48_AVX_AVX512F): New.
	(define_mode_iterator VI12_AVX_AVX512F): New.
	(define_insn "<mask_codefor><code><mode>3<mask_name>"): Change
	all iterators to VI48_AVX_AVX512F. Extract remaining modes ...
	(define_insn "*<code><mode>3"): ... Into new pattern using
	VI12_AVX_AVX512F iterators without masking.

gcc/testsuite/
	* gcc.target/i386/pr67480.c: New test.

From-SVN: r228010
2015-09-22 11:14:25 +00:00
Kirill Yukhin 06caf59d7f AVX-512. Introduce SKylake server CPU.
gcc/
	* config.gcc: Support "skylake-avx512".
        * config/i386/i386-c.c (ix86_target_macros_internal): Handle
        PROCESSOR_SKYLAKE_AVX512.
        * config/i386/i386.c (m_SKYLAKE_AVX512): Define.
        (processor_target_table): Add "skylake-avx512".
        (PTA_SKYLAKE_AVX512): Define.
	(ix86_option_override_internal): Add "skylake_avx512".
        (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL
	F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD.
        * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define.
        (processor_type): Add PROCESSOR_SKYLAKE_AVX512.
	* doc/invoke.texi (skylake-avx512): New.

libgcc/
	* libgcc/config/i386/cpuinfo.c (enum processor_features): Add
	FEATURE_AVX512VL, FEATURE_AVX512BW, FEATURE_AVX512DQ,
	FEATURE_AVX512CD, FEATURE_AVX512ER, FEATURE_AVX512PF.
	(get_available_features): Habdle new features.

gcc/testsuite/
        * gcc.target/i386/funcspec-5.c: Test avx512vl, avx512bw,
	avx512dq, avx512cd, avx512er, avx512pf and skylake-avx512.
	* gcc.target/i386/builtin_target.c: Test  avx512vl, avx512bw,
	avx512dq, avx512cd, avx512er and avx512pf.

From-SVN: r228009
2015-09-22 11:10:21 +00:00
Kirill Yukhin 7095d6f2eb AVX-512. Fix patterns for kunpck insns.
gcc/
	* gcc/config/i386/i386.md (define_insn "kunpckhi"): Fix
	operand in pattern.
	(define_insn "kunpcksi"): Ditto. 
	(define_insn "kunpckdi"): Ditto.

From-SVN: r228005
2015-09-22 09:47:39 +00:00
Kirill Yukhin 5febdf54ab AVX-512. Fix kxnor insn split.
gcc/
	* gcc/config/i386/i386.md (define_split not/xor SWI1248x): Use
	iterator instead of fixed modes.

From-SVN: r228003
2015-09-22 09:42:26 +00:00
Matthew Wahab 68729b062d [AArch64] Use atomic load-operate instructions for update-fetch patterns.
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

	* config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
	Adjust declaration.
	* config/aarch64/aarch64.c (aarch64_emit_bic): New.
	(aarch64_gen_atomic_ldop): Adjust comment.  Add parameter
	out_result.  Update to support update-fetch operations.
	* config/aarch64/atomics.md (aarch64_atomic_exchange<mode>_lse):
	Adjust for change to aarch64_gen_atomic_ldop.
	(aarch64_atomic_<atomic_optab><mode>_lse): Likewise.
	(aarch64_atomic_fetch_<atomic_optab><mode>_lse): Likewise.
	(atomic_<atomic_optab>_fetch<mode>): Change to an expander.
	(aarch64_atomic_<atomic_optab>_fetch<mode>): New.
	(aarch64_atomic_<atomic_optab>_fetch<mode>_lse): New.

gcc/testsuite
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

	* gcc.target/aarch64/atomic-inst-ldadd.c: Add tests for
	update-fetch operations.
	* gcc.target/aarch64/atomic-inst-ldlogic.c: Likewise.

From-SVN: r228002
2015-09-22 09:41:15 +00:00
Matthew Wahab 641c2f8b69 [AArch64] Use atomic load-operate instructions for fetch-update patterns.
gcc/
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

	* config/aarch64/aarch64-protos.h
	(aarch64_atomic_ldop_supported_p): Declare.
	* config/aarch64/aarch64.c (aarch64_atomic_ldop_supported_p): New.
	(enum aarch64_atomic_load_op_code): New.
	(aarch64_emit_atomic_load_op): New.
	(aarch64_gen_atomic_ldop): Update to support load-operate
	patterns.
	* config/aarch64/atomics.md (atomic_<atomic_optab><mode>): Change
	to an expander.
	(aarch64_atomic_<atomic_optab><mode>): New.
	(aarch64_atomic_<atomic_optab><mode>_lse): New.
	(atomic_fetch_<atomic_optab><mode>): Change to an expander.
	(aarch64_atomic_fetch_<atomic_optab><mode>): New.
	(aarch64_atomic_fetch_<atomic_optab><mode>_lse): New.

gcc/testsuite/
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

	* gcc.target/aarch64/atomic-inst-ldadd.c: New.
	* gcc.target/aarch64/atomic-inst-ldlogic.c: New.

From-SVN: r228001
2015-09-22 09:35:17 +00:00
Matthew Wahab 6380d2bc38 [AArch64] Add atomic load-operate instructions.
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

	* config/aarch64/aarch64/atomics.md (UNSPECV_ATOMIC_LDOP): New.
	(UNSPECV_ATOMIC_LDOP_OR): New.
	(UNSPECV_ATOMIC_LDOP_BIC): New.
	(UNSPECV_ATOMIC_LDOP_XOR): New.
	(UNSPECV_ATOMIC_LDOP_PLUS): New.
	(ATOMIC_LDOP): New.
	(atomic_ldop): New.
	(aarch64_atomic_load<atomic_ldop><mode>): New.

From-SVN: r228000
2015-09-22 09:30:51 +00:00
Matthew Wahab cc05c2c3e0 [AArch64] Make BIC, other logical instructions, available.
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

	* config/aarch64/aarch64.md
	(<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Make a named
	pattern.

From-SVN: r227999
2015-09-22 09:24:47 +00:00
Matthew Wahab 9cd7b72071 [AArch64] Use atomic instructions for swap and fetch-update operations.
gcc/
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

	* config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
	Declare.
	* config/aarch64/aarch64.c (aarch64_emit_atomic_swap): New.
	(aarch64_gen_atomic_ldop): New.
	(aarch64_split_atomic_op): Fix whitespace and add a comment.
	* config/aarch64/atomics.md (UNSPECV_ATOMIC_SWP): New.
	(aarch64_compare_and_swap<mode>_lse): Fix some whitespace.
	(atomic_exchange<mode>): Replace with an expander.
	(aarch64_atomic_exchange<mode>): New.
	(aarch64_atomic_exchange<mode>_lse): New.
	(aarch64_atomic_<atomic_optab><mode>): Fix some whitespace.
	(aarch64_atomic_swp<mode>): New.

gcc/testsuite/
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

	* gcc.target/aarch64/atomic-inst-ops.inc: (TEST_MODEL): New.
	(TEST_ONE): New.
        * gcc.target/aarch64/atomic-inst-swap.c: New.

From-SVN: r227998
2015-09-22 09:19:55 +00:00
Manuel López-Ibáñez 9915b1c916 [PATCH tree-inline] Do not say "called from here" with UNKNOWN_LOCATION
In https://sourceware.org/ml/libc-alpha/2014-12/msg00300.html, we give a
"called from here" note without actually having a location, which looks
strange. I haven't been able to generate such a testcase. If this happens,
try to at least point to the current function being called. If that location is
also unknown, skip the extra note.

gcc/ChangeLog:

2015-09-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* tree-inline.c (expand_call_inline): Use inform for extra note.
	Do not give a note with UNKNOWN_LOCATION.
	Replace input_location with gimple_location (stmt).
	Use true/false instead of TRUE/FALSE.

gcc/testsuite/ChangeLog:

2015-09-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* gcc.target/i386/inline_error.c (int bar): Use dg-message for note.
	* gcc.target/i386/pr57756.c (static __inline int caller): Likewise.
	* gcc.target/i386/pr59789.c (f1): Likewise.
	* gcc.target/i386/intrinsics_5.c (__m128i foo): Likewise.
	* gcc.target/i386/intrinsics_6.c: Likewise.
	* gcc.dg/winline-5.c (int t): Likewise.
	* gcc.dg/winline-9.c (t): Likewise.
	* gcc.dg/always_inline2.c (q): Likewise.
	* gcc.dg/winline-2.c (inline int t): Likewise.
	* gcc.dg/winline-6.c: Likewise.
	* gcc.dg/winline-10.c (void g): Likewise.
	* gcc.dg/pr49243.c (void parse): Likewise.
	* gcc.dg/always_inline3.c (q2): Likewise.
	* gcc.dg/winline-3.c: Likewise.
	* gcc.dg/winline-7.c (inline void *t): Likewise.

From-SVN: r227997
2015-09-22 09:14:04 +00:00
Tom de Vries 50b4b446bb Handle single restrict pointer in struct in create_variable_info_for_1
2015-09-22  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/67666
	* tree-ssa-structalias.c (create_variable_info_for_1): Handle struct
	with single field non-conservative.

	* g++.dg/pr67666.C: New test.

From-SVN: r227996
2015-09-22 08:15:32 +00:00
Chung-Lin Tang 6bb4c3e2d8 re PR libgomp/67141 (wrong libgomp mutex initialisation order)
2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>

	PR libgomp/67141
	* oacc-int.h (goacc_host_init): Add declaration.
	* oacc-host.c (goacc_host_init): Remove static and constructor attribute.
	* oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.

From-SVN: r227994
2015-09-22 06:45:22 +00:00
David S. Miller dc2a24eddf Revert LRA SPARC changes for now.
gcc/

	PR/67622
	Revert:
	2015-09-11  David S. Miller  <davem@davemloft.net>

		* config/sparc/constraints.md: Make "U" constraint a real register
		constraint.
		* config/sparc/sparc.c (TARGET_LRA_P): Define.
		(D_MODES, DF_MODES): Add missing cast.
		(TF_MODES, TF_MODES_NO_S): Include T_MODE.
		(OF_MODES, OF_MODES_NO_S): Include O_MODE.
		(sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
		cost to 8.
		* config/sparc/sparc.h (PROMOTE_MODE): Define.
		* config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
		provide these insn when flag_pic.

	2015-09-17  David S. Miller  <davem@davemloft.net>

		* config/sparc/sparc-protos.h (sparc_secondary_memory_needed):
		Declare.
		* config/sparc/sparc.c (sparc_secondary_memory_needed): New
		function.
		* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
		(HARD_REGNO_CALLER_SAVE_MODE): Define.
		* config/sparc/sparc.md (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): Do not
		provide when flag_pic.

From-SVN: r227993
2015-09-21 20:52:45 -07:00
GCC Administrator 36d0586f56 Daily bump.
From-SVN: r227992
2015-09-22 00:16:12 +00:00
James Bowman 131314e14a [FT32] fixes for the default hardware startup
libgcc/
        * config/ft32/crti-hw.S: Use __PMSIZE to allow configurable
        memory layout. Deal correctly with BSS region larger than 32K.
        Handle a watchdog reset like a power-on reset. Clean up unused
        code.

From-SVN: r227986
2015-09-21 22:31:53 +00:00
Steven G. Kargl 6ff560cc25 resolve.c (nonscalar_typebound_assign): Fix typos in comment.
2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>

	* resolve.c (nonscalar_typebound_assign): Fix typos in comment.

From-SVN: r227985
2015-09-21 21:40:26 +00:00
Steven G. Kargl e2eb0806ea re PR fortran/67615 (ICE on using arithmetic if with array instead of scalar)
2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/67615
	* resolve.c (gfc_resolve_code): Check for scalar expression in 
	arithmetic-if.


2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/67615
	* gfortran.dg/pr67615.f90: new test.

From-SVN: r227981
2015-09-21 18:09:13 +00:00
Jeff Law d7b00a16de [PATCH] Fix undefined behavior in h8300 backend
* config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined
	behavior.

	* gcc.target/h8300/andsi3_ashift_n_lower.c: New test.

From-SVN: r227978
2015-09-21 11:09:53 -06:00
Ville Voutilainen bdaaa8b70f Complete the implementation of N4230, Nested namespace definition.
/c-family
2015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Complete the implementation of N4230, Nested namespace definition.
	* c-cppbuiltin.c: Add __cpp_namespace_attributes and
	__cpp_nested_namespace_definitions.

/cp
2015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Complete the implementation of N4230, Nested namespace definition.
	* parser.c (cp_parser_namespace_definition): Support namespace
	attributes both before and after the namespace identifier.

/testsuite
2015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Complete the implementation of N4230, Nested namespace definition.
	* g++.dg/cpp1y/feat-cxx11-neg.C: Add tests for C++17 namespace
	attributes and nested namespace definitions.
	* g++.dg/cpp1y/feat-cxx98-neg.C: Likewise.
	* g++.dg/cpp1z/feat-cxx1z.C: Likewise.
	* g++.dg/cpp1y/feat-cxx14-neg.C: New.
	* g++.dg/cpp1z/namespace-attribs.C: Likewise.
	* g++.dg/cpp1z/nested-namespace-def1.C: Add tests for attributes
	appearing before the namespace identifier.

From-SVN: r227977
2015-09-21 18:50:30 +03:00
Manuel López-Ibáñez 87b470b363 Handle lines encoded into several maps in linemap_position_for_loc_and_offset
linemap_position_for_loc_and_offset() tries to generate a location_t
encoding a column offset from the current location, for example, point
to a certain character inside a string. This is trivial to do when the
new location "fits within" the map of the original location. However,
it may happen that the (long) line corresponding to the original
location is encoded in several maps, thus the new location should
actually be encoded in a subsequent map from the original location.
This patch detects this case and adjusts the map correspondingly.

(This shows that the line-map representation is quite wasteful in this
case, because line-maps always start at column 0. That is, map[0]
highest location may encode up to line 8 column 80, then
map[1]->start_location starts encoding at line 8 column 0. Thus, there
are two location_t values that point to the same source location.)

libcpp/ChangeLog:

2015-09-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/66415
	* line-map.c (linemap_position_for_loc_and_offset): Handle the
	case of long lines encoded in multiple maps.

gcc/testsuite/ChangeLog:

2015-09-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/66415
	* gcc.dg/cpp/pr66415-1.c: Test column number.

From-SVN: r227975
2015-09-21 14:52:09 +00:00
Ulrich Weigand a49448515d * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior.
From-SVN: r227974
2015-09-21 14:41:10 +00:00
Richard Biener b1e251ec9e passes.c (rest_of_decl_compilation): Do not call dwarf2out_early_global_decl for aliases.
2015-09-21  Richard Biener  <rguenther@suse.de>

	* passes.c (rest_of_decl_compilation): Do not call
	dwarf2out_early_global_decl for aliases.

	* g++.dg/ext/attr-alias-3.C: Add -g.

From-SVN: r227973
2015-09-21 14:12:58 +00:00
Richard Biener 9386cdeee6 re PR debug/67664 (Duplicate AT_const_value attributes in some c++ cases.)
2015-09-21  Richard Biener  <rguenther@suse.de>

	PR debug/67664
	* dwarf2out.c (add_location_or_const_value_attribute): Remove
	attribute parameter.  Early exit if either DW_AT_const_value
	or DW_AT_location are present already.
	(gen_variable_die): Adjust caller.
	(dwarf2out_late_global_decl): Likewise.

	* g++.dg/debug/dwarf2/pr67764.C: New testcase.

From-SVN: r227972
2015-09-21 14:02:27 +00:00
Oleg Endo ce89c02e86 re PR target/64345 ([SH] Improve single bit extraction)
testsuite/
	PR target/64345
	* gcc.target/sh/pr64345-1.c: Adjust expected insn counts for SH2A.

From-SVN: r227971
2015-09-21 13:49:07 +00:00