Commit Graph

140540 Commits

Author SHA1 Message Date
Jiong Wang cbf5629ef1 [AArch64][TLSLE][3/3] Implement local executable mode for all memory model
2015-08-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
	    Jiong Wang  <jiong.wang@arm.com>
gcc/
	* config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default
	tls size for tiny, small, large memory model.
	(aarch64_load_symref_appropriately): Support new symbol types.
	(aarch64_expand_mov_immediate): Likewise.
	(aarch64_print_operand): Likewise.
	(aarch64_classify_tls_symbol): Likewise.
	* config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise.
	(aarch64_symbol_type): Likewise.
	* config/aarch64/aarch64.md (tlsle): Deleted.
	(tlsle12_<mode>): New define_insn.
	(tlsle24_<mode>): Likewise.
	(tlsle32_<mode>): Likewise.
	(tlsle48_<mode>): Likewise.
	* doc/sourcebuild.texi (AArch64-specific attributes): Document
	"aarch64_tlsle32".

gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_aarch64_tlsle32):
	New test directive.
	* gcc.target/aarch64/tlsle_1.x: New test source.
	* gcc.target/aarch64/tlsle12_1.c: New testcase.
	* gcc.target/aarch64/tlsle24_1.c: Likewise.
	* gcc.target/aarch64/tlsle32_1.c: Likewise.

From-SVN: r227215
2015-08-26 13:09:35 +00:00
Matthew Wahab 427388a484 arm-protos.h (FL_NONE): New.
2015-08-26  Matthew Wahab  <matthew.wahab@arm.com>

	* config/arm/arm-protos.h (FL_NONE): New.
	(FL_ANY): New.
	(arm_feature_set): New.
	(ARM_FSET_MAKE): New.
	(ARM_FSET_MAKE_CPU1): New.
	(ARM_FSET_MAKE_CPU2): New.
	(ARM_FSET_CPU1): New.
	(ARM_FSET_CPU2): New.
	(ARM_FSET_EMPTY): New.
	(ARM_FSET_ANY): New.
	(ARM_FSET_HAS_CPU1): New.
	(ARM_FSET_HAS_CPU2): New.
	(ARM_FSET_HAS_CPU): New.
	(ARM_FSET_ADD_CPU1): New.
	(ARM_FSET_ADD_CPU2): New.
	(ARM_FSET_DEL_CPU1): New.
	(ARM_FSET_DEL_CPU2): New.
	(ARM_FSET_UNION): New.
	(ARM_FSET_INTER): New.
	(ARM_FSET_XOR): New.
	(ARM_FSET_EXCLUDE): New.
	(AFM_FSET_IS_EMPTY): New.
	(ARM_FSET_CPU_SUBSET): New.

From-SVN: r227214
2015-08-26 13:04:34 +00:00
Jiong Wang d18ba28414 [AArch64][TLSLE][2/3] Rename SYMBOL_TLSLE to SYMBOL_TLSLE24
2015-08-26  Jiong Wang  <jiong.wang@arm.com>

gcc/
	* config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
	SYMBOL_TLSLE to SYMBOL_TLSLE24.
	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
	Likewise.
	(aarch64_expand_mov_immediate): Likewise.
	(aarch64_print_operand): Likewise.
	(aarch64_classify_symbol): Likewise.

From-SVN: r227213
2015-08-26 13:01:56 +00:00
Jiong Wang 5eee3c3413 [AArch64][TLSLE][1/3] Add the option "-mtls-size"
2015-08-26  Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/aarch64.opt (mtls-size): New entry.
  * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function.
  (aarch64_override_options_internal): Call initialize_aarch64_tls_size.
  * doc/invoke.texi (AArch64 Options): Document -mtls-size.

From-SVN: r227212
2015-08-26 12:58:52 +00:00
Matthew Wahab 5e2d7d0d83 arm-cores.def: Add FL_FOR_ARCH flag for each ARM_CORE entry.
2015-08-26  Matthew Wahab  <matthew.wahab@arm.com>

	* gcc/config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each
	ARM_CORE entry.  Fix some white-space.
	* gcc/config/arm/arm.c: Remove FL_FOR_ARCH derivation from
	ARM_CORE definition.

From-SVN: r227211
2015-08-26 12:55:15 +00:00
Francois-Xavier Coudert ed019753cb re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument)
PR fortran/29600

	* Makefile.am: Add generated/shape_i{1,2}.c
	* Makefile.in: Regenerate.
	* generated/shape_i1.c: New generated file.
	* generated/shape_i2.c: New generated file.
	* generated/shape_i4.c: Regenerate.
	* generated/shape_i8.c: Regenerate.
	* generated/shape_i16.c: Regenerate.
	* gfortran.map (GFORTRAN_1.7): Add _gfortran_shape_{1,2}.
	* m4/shape.m4: Fix parameter type.

	* gfortran.dg/shape_8.f90: New test.

From-SVN: r227210
2015-08-26 12:37:42 +00:00
Francois-Xavier Coudert 485adf79b5 libgfortran.h (show_variables): Remove prototype.
* libgfortran.h (show_variables): Remove prototype.
	* runtime/environ.c (print_spaces, var_source, show_integer,
	show_boolean, show_sep, show_string): Remove functions.
	* runtime/main.c (init): Remove dead code.

From-SVN: r227208
2015-08-26 06:34:05 +00:00
Naveen H.S 3540164033 fold-const.c (fold_binary_loc): Move Optimize root(x)*root(y) as root(x*y) to match.pd.
2015-08-26  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* fold-const.c (fold_binary_loc) : Move Optimize 
	root(x)*root(y)	as root(x*y) to match.pd.
	Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd.
	Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd.
	Move Optimize a/root(b/c) into a*root(c/b) to match.pd.
	Move Optimize x/expN(y) into x*expN(-y) to match.pd.

	* match.pd (mult (root:s @0) (root:s @1)): New simplifier.
	(mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier.
	(mult (exps:s @0) (exps:s @1)) : New simplifier.
	(rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier.
	(rdiv @0 (exps:s @1)) : New simplifier.

From-SVN: r227207
2015-08-26 03:39:17 +00:00
GCC Administrator 6031a5e32c Daily bump.
From-SVN: r227206
2015-08-26 00:16:12 +00:00
Hans-Peter Nilsson 7ce9cf39a4 configure.ac: Only compile with -fPIC if the target supports it.
* configure.ac: Only compile with -fPIC if the target
	supports it.
	* configure: Regenerate.

From-SVN: r227203
2015-08-25 23:32:06 +00:00
Ian Lance Taylor fd1b493945 compiler: Disallow use of unary ^ on booleans.
Fixes golang/go#11529.
    
    Reviewed-on: https://go-review.googlesource.com/13790

From-SVN: r227201
2015-08-25 23:05:15 +00:00
Joseph Myers de26e2393a Fix build for targets not defining EXTRA_SPECS.
* gcc.c (driver::finalize): Only assign to extra_specs if
	[EXTRA_SPECS].

From-SVN: r227194
2015-08-25 22:20:49 +01:00
Ian Lance Taylor 387b37c1ac compiler: Accept numeric literals with leading zeroes.
When a numeric literal with leading zeroes was seen in the parser, it
    would only be accepted if it were a valid hex or octal literal.  Any
    invalid numeric literal would be split up into multiple tokens: the
    valid hex/octal literal followed by the rest of the characters.
    Instead, when scanning a numeric literal with leading zeroes, always
    accept the number and give an appropriate error if the accepted number
    does not fit in the expected base.
    
    Fixes golang/go#11532, golang/go#11533.
    
    Reviewed-on: https://go-review.googlesource.com/13791

From-SVN: r227193
2015-08-25 21:17:47 +00:00
Ian Lance Taylor 60c47c0073 compiler: Allow string slices with start index == length.
Avoid an off-by-one error when checking the start index of a string
    slice by allowing the start index to be the string length instead
    of the string length - 1.
    
    Fixes golang/go#11522.
    
    Reviewed-on: https://go-review.googlesource.com/13030

From-SVN: r227191
2015-08-25 20:31:51 +00:00
Marek Polacek c316b5e4f1 re PR middle-end/67330 (ICE handling weak attributes)
PR middle-end/67330
	* varasm.c (declare_weak): Return after giving an error.

	* c-common.c (handle_weak_attribute): Don't check whether the
	visibility can be changed here.

	* gcc.dg/weak/weak-18.c: New test.

From-SVN: r227190
2015-08-25 20:28:59 +00:00
François Dumont 630a286ab6 re PR libstdc++/60519 (Debug mode should check comparators for irreflexivity)
2015-08-24  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/60519
	* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
	New enum entry.
	* include/debug/functions.h (_Irreflexive_checker): New.
	(__is_irreflexive, __is_irreflexive_pred): New.
	* include/debug/macros.h
	(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
	macros.
	(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
	macros limited to post-C++11 mode.
	* include/debug/debug.h
	(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
	New macros, use latter.
	(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
	Likewise.
	* include/bits/stl_algo.h
	(partial_sort_copy): Add irreflexive debug check.
	(partial_sort_copy): Likewise.
	(lower_bound): Likewise.
	(upper_bound): Likewise.
	(equal_range): Likewise.
	(binary_search): Likewise.
	(inplace_merge): Likewise.
	(includes): Likewise.
	(next_permutation): Likewise.
	(prev_permutation): Likewise.
	(is_sorted_until): Likewise.
	(minmax_element): Likewise.
	(partial_sort): Likewise.
	(nth_element): Likewise.
	(sort): Likewise.
	(merge): Likewise.
	(stable_sort): Likewise.
	(set_union): Likewise.
	(set_intersection): Likewise.
	(set_difference): Likewise.
	(set_symmetric_difference): Likewise.
	(min_element): Likewise.
	(max_element): Likewise.
	* include/bits/stl_algobase.h
	(lower_bound): Likewise.
	(lexicographical_compare): Likewise.
	* include/bits/stl_heap.h
	(push_heap): Likewise.
	(pop_heap): Likewise.
	(make_heap): Likewise.
	(sort_heap): Likewise.
	(is_heap_until): Likewise.
	* testsuite/25_algorithms/lexicographical_compare/debug/
	irreflexive_neg.cc: New.
	* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
	* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
	New.

From-SVN: r227189
2015-08-25 20:27:03 +00:00
David Malcolm 9376dd63e6 Support embedding the driver in-process within libgccjit
gcc/ChangeLog:
	* gcc-main.c (main): Add params to driver ctor.
	* gcc.c (class env_manager): New.
	(env): New global.
	(env_manager::init): New.
	(env_manager::get): New.
	(env_manager::xput): New.
	(env_manager::restore): New.
	Poison getenv and putenv.
	(DEFAULT_TARGET_SYSTEM_ROOT): New.
	(target_system_root): Update initialization to use
	DEFAULT_TARGET_SYSTEM_ROOT.
	(struct spec_list): Add field "default_ptr".
	(INIT_STATIC_SPEC): Initialize new field "default_ptr".
	(init_spec): Likewise.
	(set_spec): Clear field "default_ptr".
	(read_specs): Free "spec" and "buffer".
	(xputenv): Reimplement in terms of env_manager.
	(process_command): Replace ::getenv calls with calls to the
	env_manager singleton.
	(process_brace_body): Free string in three places.
	(driver::driver): New.
	(driver::~driver): New.
	(used_arg): Convert from a function to...
	(class used_arg_t): ...this class, and...
	(used_arg): ...this new global instance.
	(used_arg_t::finalize): New function.
	(getenv_spec_function): Add "const" to local "value".  Replace
	::getenv call with call to the env_manager singleton.
	(path_prefix_reset): New function.
	(driver::finalize): New function.
	* gcc.h (driver::driver): New.
	(driver::~driver): New.
	(driver::finalize): New.

gcc/jit/ChangeLog:
	* docs/cp/topics/contexts.rst
	(gccjit::context::set_bool_use_external_driver): New.
	* docs/internals/test-hello-world.exe.log.txt: Update.
	* docs/topics/compatibility.rst (LIBGCCJIT_ABI_5): New.
	* docs/topics/contexts.rst
	(gcc_jit_context_set_bool_use_external_driver): New.
	* jit-common.h (enum inner_bool_option): Add
	INNER_BOOL_OPTION_USE_EXTERNAL_DRIVER.
	* jit-playback.c (gcc_driver_name): New global.
	(gcc:jit::playback::context::invoke_driver): Split out second
	half into...
	(gcc::jit::playback::context::invoke_embedded_driver): ...this new
	function, and...
	(gcc::jit::playback::context::invoke_external_driver): ...this new
	function.
	* jit-playback.h
	(gcc::jit::playback::context::get_inner_bool_option): New.
	(gcc::jit::playback::context::invoke_embedded_driver): New.
	(gcc::jit::playback::context::invoke_external_driver): New.
	* jit-recording.c (inner_bool_option_reproducer_strings):
	Add entry for INNER_BOOL_OPTION_USE_EXTERNAL_DRIVER.
	* libgccjit++.h
	(gccjit::context::set_bool_use_external_driver): New.
	* libgccjit.c (gcc_jit_context_set_bool_use_external_driver): New.
	* libgccjit.h (gcc_jit_context_set_bool_use_external_driver): New.
	(LIBGCCJIT_HAVE_gcc_jit_context_set_bool_use_external_driver):
	New.
	* libgccjit.map (LIBGCCJIT_ABI_5): New.
	* notes.txt: Show invocation of embedded copy of driver.
	* docs/internals/test-hello-world.exe.log.txt: Update

gcc/testsuite/ChangeLog:
	* jit.dg/test-error-pr63969-missing-driver.c: Add call to
	gcc_jit_context_set_bool_use_external_driver.

From-SVN: r227188
2015-08-25 20:25:05 +00:00
François Dumont 25c65938c8 Revert my change to commit with PR reference again.
From-SVN: r227187
2015-08-25 20:22:47 +00:00
Nathan Sidwell 2f40eaca14 * gcc.c-torture/execute/builtins/20010124-1.x: New.
From-SVN: r227186
2015-08-25 20:06:13 +00:00
Nathan Sidwell 5a08165c8d optabs.c (emit_indirect_jump): Don't try an emit a jump if the target doesn't have one.
* optabs.c (emit_indirect_jump): Don't try an emit a jump if the
	target doesn't have one.

From-SVN: r227185
2015-08-25 19:43:02 +00:00
Ian Lance Taylor 25486c2827 compiler: Don't crash on erroneous array types.
Fixes golang/go#11546.
    
    Reviewed-on: https://go-review.googlesource.com/13795

From-SVN: r227184
2015-08-25 19:42:26 +00:00
Segher Boessenkool f14e01090b rs6000: Fix PR67346
"*ior<mode>_mask" is a define_insn_and_split, so it shouldn't use
can_create_pseudo in its instruction condition, because IRA can then
create such an instruction, and the condition becomes false before
the insn is split.  Use a scratch instead.


2015-08-25  Segher Boessenkool  <segher@kernel.crashing.org>

	PR target/67346
	* config/rs6000/rs6000.md (*ior<mode>_mask): Use a match_scratch.

From-SVN: r227183
2015-08-25 21:35:15 +02:00
Segher Boessenkool b733687e96 rs6000: Fix PR67344
The "*and<mode>3_imm_dot_shifted" pattern is a define_insn_and_split,
like most "dot" patterns: if its output is not assigned cr0 but some
other cr reg, it splits to a non-dot insn and a compare.

Unfortunately that non-dot insn will clobber cr0 as well.  We could
add another clobber (with "=X,x"), but then that second alternative
is never useful; instead, just remove that second alternative.


2015-08-25  Segher Boessenkool  <segher@kernel.crashing.org>

	PR target/67344
	* config/rs6000/rs6000.md (*and<mode>3_imm_dot_shifted): Change to
	a define_insn, remove second alternative.

From-SVN: r227182
2015-08-25 21:32:28 +02:00
Francois-Xavier Coudert 693ac2ab35 unit.c (get_internal_unit): Make default sign mode unspecified.
* io/unit.c (get_internal_unit): Make default sign mode unspecified.
	(init_units): Make default sign mode unspecified.

From-SVN: r227178
2015-08-25 16:27:43 +00:00
Nathan Sidwell 0c308f5980 20001117-1.c: Needs return_address.
* gcc.dg/20001117-1.c: Needs return_address.
	* gcc.dg/20020415-1.c: Needs alloca.
	* gcc.dg/graphite/id-pr44676.c: Needs profiling.
	* gcc.dg/graphite/pr60979.c: Needs nonlocal_goto
	* gcc.dg/pr63186.c: Needs label_values.
	* gcc.dg/torture/pr33848.c: Likwise.

	* lib/target-supports.exp (check_effective_target_fopenacc,
	check_effective_target_fopenmp): Disable for nvptx.
	* gcc.dg/graphite/run-id-pr47653.c: Disable for nvptx.
	* gcc.dg/stack-usage-1.c: Likewise.
	* gcc.dg/stack-usage-2.c: Likewise.
	* gcc.dg/unused-5.c: Likewise.
	* gcc.dg/unwind-1.c: Likewise.

From-SVN: r227177
2015-08-25 16:22:42 +00:00
Francois-Xavier Coudert a139f28147 * libgfortran.h (check_buffered): Remove unused prototype.
From-SVN: r227174
2015-08-25 15:26:02 +00:00
Thomas Schwinge db8d09191c Expand comment on struct switchstr.
This patch, extracted from a larger change on gomp-4_0-branch, expands
a comment documenting struct switchstr in gcc.c.

2015-08-25  Thomas Schwinge  <thomas@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* gcc.c (struct switchstr): Expand comment.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r227173
2015-08-25 15:53:24 +01:00
Nathan Sidwell 1fe6befc36 nvptx.c (nvptx_write_function_decl): Reformat.
* config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat.
	(nvptx_reorg_subreg): Pass insn pattern to asm_operands.

From-SVN: r227169
2015-08-25 14:06:39 +00:00
Richard Biener e4cdf6a8c5 re PR tree-optimization/67306 (Patterns ICEs when moved using "simplify and match")
2015-08-25  Richard Biener  <rguenther@suse.de>

	PR middle-end/67306
	* genmatch.c (expr::gen_transform): Verify the result of
	builtin_decl_implicit.
	(dt_simplify::gen_1): Likewise.

From-SVN: r227163
2015-08-25 10:29:09 +00:00
Thomas Preud'homme e36dbdfe55 constraints.md: Also list Cs and US ARM-specific constraints as used.
2015-08-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * config/arm/constraints.md: Also list Cs and US ARM-specific
    constraints as used.

From-SVN: r227162
2015-08-25 08:50:53 +00:00
Christian Bruel d5ef2c2109 gcc.dg/Wno-frame-address.c: Skip for ARM.
g++.dg/Wno-frame-address.C: Ditto.

From-SVN: r227161
2015-08-25 09:49:54 +02:00
Ian Lance Taylor e3552bf9f0 compiler: Type check params in sink function decl.
When a function is declared and named with the blank identifier, only
    the syntax is checked.  This patch modifies the parser to add a dummy
    node for each function declaration with a blank identifier name that
    will be type checked like any function declaration.
    
    Fixes golang/go#11535.
    
    Reviewed-on: https://go-review.googlesource.com/13792

From-SVN: r227160
2015-08-25 03:48:35 +00:00
GCC Administrator cd0fea2ba9 Daily bump.
From-SVN: r227159
2015-08-25 00:16:11 +00:00
Kaz Kojima fbce972ab3 re PR target/66609 ([sh] Relative address expressions bind at as-time, even if symbol is weak)
PR target/66609
* [SH] Take into account weak symbols for pc relative calls/sibcalls.

From-SVN: r227155
2015-08-24 23:23:00 +00:00
Aditya Kumar 2a611178d5 Specify the type of scop->region
Changing the type of scop::region from void* to sese, as this is
the only type assigned to scop::region for now. No functional changes intended.
Passes regtest and bootstrap.

gcc/ChangeLog:

2015-08-17  Aditya Kumar  <aditya.k7@samsung.com>

        * graphite-poly.c: Change type of region from void* to sese.
        * graphite-poly.h (struct scop): Changing the type of scop::region
	from void* to sese. Change accessor macro accordingly.
        * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro.

From-SVN: r227151
2015-08-24 20:53:51 +00:00
Aditya Kumar 9ead801e4d Constrain only on INTEGER_TYPE
Passes bootstrap, no regressions.

With this patch gcc bootstraps with graphite.
make BOOT_CFLAGS="-g -O2 -fgraphite-identity -floop-interchange -floop-block"

gcc/ChangeLog:

2015-08-12  Aditya Kumar  <hiraditya@msn.com>

        * graphite-scop-detection.c (stmt_simple_for_scop_p):
	Constrain only on INTEGER_TYPE

From-SVN: r227150
2015-08-24 20:50:12 +00:00
François Dumont 41e4e5edce formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry.
2015-08-24  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
	New enum entry.
	* include/debug/functions.h (_Irreflexive_checker): New.
	(__is_irreflexive, __is_irreflexive_pred): New.
	* include/debug/macros.h
	(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
	macros.
	(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
	macros limited to post-C++11 mode.
	* include/debug/debug.h
	(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
	New macros, use latter.
	(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
	Likewise.
	* include/bits/stl_algo.h
	(partial_sort_copy): Add irreflexive debug check.
	(partial_sort_copy): Likewise.
	(lower_bound): Likewise.
	(upper_bound): Likewise.
	(equal_range): Likewise.
	(binary_search): Likewise.
	(inplace_merge): Likewise.
	(includes): Likewise.
	(next_permutation): Likewise.
	(prev_permutation): Likewise.
	(is_sorted_until): Likewise.
	(minmax_element): Likewise.
	(partial_sort): Likewise.
	(nth_element): Likewise.
	(sort): Likewise.
	(merge): Likewise.
	(stable_sort): Likewise.
	(set_union): Likewise.
	(set_intersection): Likewise.
	(set_difference): Likewise.
	(set_symmetric_difference): Likewise.
	(min_element): Likewise.
	(max_element): Likewise.
	* include/bits/stl_algobase.h
	(lower_bound): Likewise.
	(lexicographical_compare): Likewise.
	* include/bits/stl_heap.h
	(push_heap): Likewise.
	(pop_heap): Likewise.
	(make_heap): Likewise.
	(sort_heap): Likewise.
	(is_heap_until): Likewise.
	* testsuite/25_algorithms/lexicographical_compare/debug/
	irreflexive_neg.cc: New.
	* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
	* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
	New.

From-SVN: r227147
2015-08-24 20:21:57 +00:00
Ulrich Weigand 1b533361da configure.ac: Set have_mmap to no on spu-*-* targets.
* configure.ac: Set have_mmap to no on spu-*-* targets.
	* configure: Regenerate.

From-SVN: r227145
2015-08-24 18:48:28 +00:00
Michael Meissner 74457d003e re PR target/67211 (ICE (insn does not satisfy its constraints) on powerpc64le-linux-gnu)
[gcc]
2015-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/67211
	* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set
	-mefficient-unaligned-vsx on ISA 2.7.

	* config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert
	option to a masked option.

	* config/rs6000/rs6000.c (rs6000_option_override_internal): Rework
	logic for -mefficient-unaligned-vsx so that it is set via an arch
	ISA option, instead of being set if -mtune=power8 is set. Move
	-mefficient-unaligned-vsx and -mallow-movmisalign handling to be
	near other default option handling.

[gcc/testsuite]
2015-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/67211
	* g++.dg/pr67211.C: New test.

From-SVN: r227144
2015-08-24 18:43:02 +00:00
Richard Sandiford 58d745ec90 genflags.c (gen_macro): Delete.
gcc/
	* genflags.c (gen_macro): Delete.
	(gen_proto): Don't create GEN.*CALL.* macros.
	* gensupport.h (get_file_location): Declare.
	* gensupport.c (rtx_locs): New variable.
	(read_md_rtx): Record rtx locations.
	(get_file_location): New function.
	* target-insns.def (call, call_pop, call_value, call_value_pop)
	(sibcall, sibcall_value): New patterns.
	* gentarget-def.c (parse_argument): New function.
	(def_target_insn): Use it.  Handle optional operands.  Raise an
	error if an .md pattern has the wrong number of operands for the
	pattern name.  Remove the names of unused operands from the prototype.
	* builtins.c (expand_builtin_apply): Use targetm functions
	instead of HAVE_call_value and GEN_CALL_VALUE.
	* calls.c (emit_call_1): Likewise.  Remove support for sibcall_pop
	and sibcall_value_pop.
	* config/aarch64/aarch64.md (untyped_call): Use gen_call instead
	of GEN_CALL.
	* config/alpha/alpha.md (untyped_call): Likewise.
	* config/iq2000/iq2000.md (untyped_call): Likewise.
	* config/m68k/m68k.md (untyped_call): Likewise.
	* config/mips/mips.md (untyped_call): Likewise.
	* config/pa/pa.md (untyped_call): Likewise.
	* config/rs6000/rs6000.md (untyped_call): Likewise.
	* config/sparc/sparc.md (untyped_call): Likewise.
	* config/tilegx/tilegx.md (untyped_call): Likewise.
	* config/tilepro/tilepro.md (untyped_call): Likewise.
	* config/visium/visium.md (untyped_call): Likewise.
	* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use
	gen_call_value instead of GEN_CALL_VALUE.
	* config/arm/arm.md (untyped_call): Likewise.
	* config/cr16/cr16.c (cr16_function_arg): Remove reference to
	GEN_CALL.

From-SVN: r227143
2015-08-24 17:59:51 +00:00
Richard Sandiford 651159e5d6 ifcvt.c (HAVE_incscc, [...]): Delete.
gcc/
	* ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete.
	(have_cbranchcc4): New variable.
	(cc_in_cond, noce_emit_cmove, noce_get_alt_condition)
	(noce_get_condition): Use it instead of HAVE_cbranchcc4.
	(if_convert): Initialize have_cbranchcc4.

From-SVN: r227142
2015-08-24 17:59:31 +00:00
Richard Sandiford 7f9f48bede builtins.c (expand_cmpstrn): Rename to...
gcc/
	* builtins.c (expand_cmpstrn): Rename to...
	(expand_cmpstrn_or_cmpmem): ...this.
	(expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly.
	(expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem.
	Remove mode argument.
	(expand_builtin): Update accordingly.

From-SVN: r227141
2015-08-24 17:59:19 +00:00
Richard Sandiford a666df609a builtins.c (expand_cmpstr, [...]): New functions.
gcc/
	* builtins.c (expand_cmpstr, expand_cmpstrn): New functions.
	(expand_builtin_strcmp, expand_builtin_strncmp): Use them.  Remove
	references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si.
	* config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2.
	Add predicates for operands 0 and 3.
	* config/rx/rx.md (cmpstrnsi): Remove force_operand for the length
	operand.
	* config/sh/sh.md (cmpstrnsi): Change the length predicate from
	immediate_operand to nonmemory_operand.

From-SVN: r227140
2015-08-24 17:59:07 +00:00
Richard Sandiford 762613be3e df-scan.c (df_insn_info_init_fields): New function, split out from...
gcc/
	* df-scan.c (df_insn_info_init_fields): New function, split out
	from...
	(df_insn_create_insn_record): ...here.
	(df_insn_info_free_fields): New function, split out from...
	(df_insn_info_delete): ...here.
	(df_insn_rescan): Use the new functions instead of freeing and
	reallocating the df_insn_info.

From-SVN: r227139
2015-08-24 17:58:42 +00:00
Francois-Xavier Coudert 50b43b866a * doc/install.texi (Binaries): Remove links no longer valid.
From-SVN: r227138
2015-08-24 17:52:34 +00:00
Nathan Sidwell 2a21ff193a libgomp.map: Add 4.0.2 version.
libgomp/
	* libgomp.map: Add 4.0.2 version.
	* target.c (offload_image_descr): Add version field.
	(gomp_load_image_to_device): Add version argument.  Adjust plugin
	call.  Improve load mismatch diagnostic.
	(gomp_unload_image_from_device): Add version argument.  Adjust plugin
	call.
	(GOMP_offload_regster): Make stub function, move bulk to ...
	(GOMP_offload_register_ver): ... here.  Process version argument.
	(GOMP_offload_unregister): Make stub function, move bulk to ...
	(GOMP_offload_unregister_ver): ... here.  Process version argument.
	(gomp_init_device): Process version field.
	(gomp_unload_device): Process version field.
	(gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
	macros.  Check plugin version.
	* libgomp.h (gomp_device_descr): Add version function field.  Adjust
	loader and unloader types.
	* oacc-host.c: Include gomp-constants.h.
	(host_version): New.
	(host_load_image, host_unload_image): Adjust.
	(host_dispatch): Add host_version.
	* plugin/plugin-nvptx.c: Include gomp-constants.h.
	(GOMP_OFFLOAD_version): New.
	(GOMP_OFFLOAD_load_image): Add version arg and check it.
	(GOMP_OFFLOAD_unload_image): Likewise.
	* plugin/plugin-host.c: Include gomp-constants.h.
	(GOMP_OFFLOAD_version): New.
	(GOMP_OFFLOAD_load_image): Add version arg.
	(GOMP_OFFLOAD_unload_image): Likewise.

	liboffloadmic/
	* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_version): New.
	(GOMP_OFFLOAD_load_image): Add version arg and check it.
	(GOMP_OFFLOAD_unload_image): Likewise.

	include/
	* gomp-constants.h (GOMP_VERSION, GOMP_VERSION_NVIDIA_PTX,
	GOMP_VERSION_INTEL_MIC): New.
	(GOMP_VERSION_PACK, GOMP_VERSION_LIB, GOMP_VERSION_DEV): New.

	gcc/
	* config/nvptx/mkoffload.c (process): Replace
	GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver.

From-SVN: r227137
2015-08-24 17:10:06 +00:00
Francois-Xavier Coudert 5cdf54b765 re PR libfortran/57496 (I/O: WRITE(*,*) HUGE(0._10) gives SIGFPE with -ffpe-trap=overflow)
PR libfortran/57496
	* io/write_float.def: Use built-in type-generic functions defined
	by libgfortran.h for isfinite, isnan, and signbit.

From-SVN: r227136
2015-08-24 16:31:47 +00:00
Louis Krupp 9f7ba2088e re PR fortran/62536 (ICE (segfault) for invalid END BLOCK statement)
PR fortran/62536
	PR fortran/66175

	* decl.c (gfc_match_end): Clean up nested BLOCKs.
	* parse.c (parse_block_construct): Deal gracefully with cleaned-up
	BLOCKs.

	* gfortran.dg/block_end_error_1.f90: New test.
	* gfortran.dg/blocks_nested_incomplete_1.f90: New test.

From-SVN: r227135
2015-08-24 16:29:59 +00:00
Marek Polacek 2021ff273d re PR tree-optimization/67284 (libgo fails to build on trunk r227015 / *-linux-gnu)
PR tree-optimization/67284
	* go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
	Set TREE_THIS_VOLATILE.
	(Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
	Pass false to the rest of define_builtin calls.

From-SVN: r227134
2015-08-24 16:06:02 +00:00
H.J. Lu 76eed9d920 Add a testcase for PR target/66821
PR target/66821
	* gcc.target/i386/pr66821.c: New test.

From-SVN: r227133
2015-08-24 08:31:02 -07:00