]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years ago[AArch64] Skip big-endian as well for gcc.target/aarch64/got_mem_hoist_1.c
jiwang [Tue, 8 Dec 2015 15:37:07 +0000 (15:37 +0000)] 
[AArch64] Skip big-endian as well for gcc.target/aarch64/got_mem_hoist_1.c

2015-12-08  Jiong Wang  <jiong.wang@arm.com>

gcc/testsuite/
  * gcc.target/aarch64/got_mem_hoist_1.c (dg-skip-if): Match big-endian
  as well.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231413 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/68116
mpolacek [Tue, 8 Dec 2015 14:43:32 +0000 (14:43 +0000)] 
PR c++/68116
* g++.dg/cpp0x/pr68116.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231412 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoClear restrict in install_var_field
vries [Tue, 8 Dec 2015 14:17:42 +0000 (14:17 +0000)] 
Clear restrict in install_var_field

2015-12-08  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/68640
* omp-low.c (install_var_field): Clear the restrict qualifier on the var
type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231411 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAVX-512. Fix assembler section for broadcast pattern.
kyukhin [Tue, 8 Dec 2015 14:09:45 +0000 (14:09 +0000)] 
AVX-512. Fix assembler section for broadcast pattern.

gcc/
* config/i386/sse.md (define_insn "<avx512>_vec_dup<mode>_1"): Fix
assembler to make source always 128bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231410 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/testsuite/
kyukhin [Tue, 8 Dec 2015 13:54:30 +0000 (13:54 +0000)] 
gcc/testsuite/
* gfortran.dg/pr68627.f: Use '!ia32' instead of 'lp64' in target
specifier.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231408 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd file missing from earlier commit.
bernds [Tue, 8 Dec 2015 13:35:46 +0000 (13:35 +0000)] 
Add file missing from earlier commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231407 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/48088
jakub [Tue, 8 Dec 2015 13:26:35 +0000 (13:26 +0000)] 
PR c/48088
PR c/68657
* common.opt (Wframe-larger-than=): Add Warning.
* opts.h (control_warning_option): Add ARG argument.
* opts-common.c (cmdline_handle_error): New function.
(read_cmdline_option): Use it.
(control_warning_option): Likewise.  Add ARG argument.
If non-NULL, decode it if needed and pass through
to handle_generated_option.  Handle CLVC_ENUM like
CLVC_BOOLEAN.
* opts.c (common_handle_option): Adjust control_warning_option
caller.
(enable_warning_as_error): Likewise.
c-family/
* c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
* c-pragma.c (handle_pragma_diagnostic): Adjust
control_warning_option caller.
ada/
* gcc-interface/trans.c (Pragma_to_gnu): Adjust
control_warning_option caller.
testsuite/
* c-c++-common/pr68657-1.c: New test.
* c-c++-common/pr68657-2.c: New test.
* c-c++-common/pr68657-3.c: New test.
* gcc.dg/cpp/warn-normalized-3.c: Use
-Werror=normalized=nfc instead of -Werror=normalized=
in dg-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231406 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-12-08 David Sherwood <david.sherwood@arm.com>
davids [Tue, 8 Dec 2015 11:26:33 +0000 (11:26 +0000)] 
2015-12-08  David Sherwood  <david.sherwood@arm.com>

Add file missing from previous commit:
gcc/testsuite:
* gcc.target/aarch64/fmaxmin.c

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231404 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[testsuite][ARM target attributes] Fix effective_target tests.
clyon [Tue, 8 Dec 2015 11:17:18 +0000 (11:17 +0000)] 
[testsuite][ARM target attributes] Fix effective_target tests.

2015-12-08  Christophe Lyon  <christophe.lyon@linaro.org>

* lib/target-supports.exp
(check_effective_target_arm_vfp_ok_nocache): New.
(check_effective_target_arm_vfp_ok): Call the new
check_effective_target_arm_vfp_ok_nocache function.
(check_effective_target_arm_fp_ok_nocache): New.
(check_effective_target_arm_fp_ok): New.
(add_options_for_arm_fp): New.
(check_effective_target_arm_crypto_ok_nocache): Require
target_arm_v8_neon_ok instead of arm32.
(check_effective_target_arm_crypto_pragma_ok_nocache): New.
(check_effective_target_arm_crypto_pragma_ok): New.
(add_options_for_arm_vfp): New.
* gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective
target. Do not force -mfloat-abi=softfp, use arm_vfp effective
target instead.
* gcc.target/arm/attr-neon-builtin-fail.c: Do not force
-mfloat-abi=softfp, use arm_fp effective target instead.
* gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok
dependency.
* gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp,
use arm_vfp effective target instead.
* gcc.target/arm/attr-neon3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231403 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/testsuite:
kyukhin [Tue, 8 Dec 2015 10:41:01 +0000 (10:41 +0000)] 
gcc/testsuite:
* gfortran.dg/pr68627.f: Limit target to x86.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231402 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-12-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
thopre01 [Tue, 8 Dec 2015 10:01:45 +0000 (10:01 +0000)] 
2015-12-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
            Joern Rennecke  <joern.rennecke@embecosm.com>

    gcc/testsuite/
    * gcc.dg/torture/stackalign/builtin-return-1.c: Add an
    inline assembly read to make sure dummy is not optimized
    away by LTO.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231401 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Rework ARMv8.1 command line options.
mwahab [Tue, 8 Dec 2015 09:23:51 +0000 (09:23 +0000)] 
[AArch64] Rework ARMv8.1 command line options.

* config/aarch64/aarch64-options-extensions.def: Remove
AARCH64_FL_RDMA from "fp" and "simd".  Remove "pan", "lor",
"rdma".
* config/aarch64/aarch64.h (AARCH64_FL_PAN): Remove.
(AARCH64_FL_LOR): Remove.
(AARCH64_FL_RDMA): Remove.
(AARCH64_FL_V8_1): New.
(AARCH64_FL_FOR_AARCH8_1): Replace AARCH64_FL_PAN, AARCH64_FL_LOR
and AARCH64_FL_RDMA with AARCH64_FL_V8_1.
(AARCH64_ISA_RDMA): Replace AARCH64_FL_RDMA with AARCH64_FL_V8_1.
* doc/invoke.texi (AArch64 -march): Rewrite initial paragraph and
section on -march=native.  Group descriptions of permitted
architecture names together.  Expand description of
-march=armv8.1-a.
(AArch64 -mtune): Slightly rework section on -march=native.
(AArch64 -mcpu): Slightly rework section on -march=native.
(AArch64 Feature Modifiers): Remove "pan", "lor" and "rdma".
State that -march=armv8.1-a enables "crc" and "lse".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231400 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * doc/invoke.texi (SPARC options): Fix typo.
ebotcazou [Tue, 8 Dec 2015 09:01:58 +0000 (09:01 +0000)] 
* doc/invoke.texi (SPARC options): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231399 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust.
ebotcazou [Tue, 8 Dec 2015 08:55:51 +0000 (08:55 +0000)] 
* config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust.
(output_probe_stack_range): Rotate the loop and simplify.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231398 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.c (ix86_emit_swsqrtsf): Cleanup
uros [Tue, 8 Dec 2015 08:53:42 +0000 (08:53 +0000)] 
* config/i386/i386.c (ix86_emit_swsqrtsf): Cleanup
infinity filterning code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231397 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * ChangeLog: Fix whitespace.
uros [Tue, 8 Dec 2015 08:50:47 +0000 (08:50 +0000)] 
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231396 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
ienkovich [Tue, 8 Dec 2015 07:16:04 +0000 (07:16 +0000)] 
gcc/

PR tree-optimization/68766
* tree-vectorizer.c (vectorize_loops): Check for
if-converted loops when debug counters are used.

gcc/testsuite/

PR tree-optimization/68766
* gcc.dg/pr68766.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231395 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* config/rl78/constraints.md (Wfr): Change to be a non-memory
dj [Tue, 8 Dec 2015 06:10:17 +0000 (06:10 +0000)] 
* config/rl78/constraints.md (Wfr): Change to be a non-memory
constraint.
* config/rl78/rl78-protos.h (rl78_one_far_p): Declare.
* config/rl78/rl78.c (rl78_one_far_p): Define.
* config/rl78/rl78-virt (movqi_virt): Fix far memory
alternatives.
(movhi_virt): Likewise.
(zero_extendqihi2_virt): Likewise.
(extendqihi2_virt): Likewise.
(add<mode>3_virt): Likewise.
(sub<mode>3_virt): Likewise.
(andqi3_virt): Likewise.
(iorqi3_virt): Likewise.
(xorqi3_virt): Likewise.
* config/rl78/rl78-real.md (bf,br): Use long forms to avoid reloc
overflow in large files.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231394 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Tue, 8 Dec 2015 00:16:11 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231391 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/63668
ebotcazou [Mon, 7 Dec 2015 23:18:29 +0000 (23:18 +0000)] 
PR target/63668
* doc/invoke.texi (SPARC options): Document -mstd-struct-return.
* config/sparc/sparc.c (sparc_struct_value_rtx): Minor tweaks.
* config/sparc/sparc.h (CALL_REALLY_USED_REGISTERS): Define.
* config/sparc/sparc.opt (mstd-struct-return): Accept negative form.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231387 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/68760
jakub [Mon, 7 Dec 2015 22:44:19 +0000 (22:44 +0000)] 
PR c++/68760
* error.c (dump_global_iord): Use DECL_SOURCE_FILE (t)
instead of LOCATION_FILE (input_location).

* g++.dg/tree-ssa/pr68760.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231386 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/68683
jason [Mon, 7 Dec 2015 21:45:13 +0000 (21:45 +0000)] 
PR c++/68683
* constraint.cc (satisfy_argument_deduction_constraint): Set
TYPE_CANONICAL to NULL_TREE if PLACEHOLDER_TYPE_CONSTRAINTS are
changed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231385 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR middle-end/66726
jakub [Mon, 7 Dec 2015 21:05:51 +0000 (21:05 +0000)] 
PR middle-end/66726
* g++.dg/tree-ssa/pr66726.c: Renamed to...
* g++.dg/tree-ssa/pr66726.C: ... this.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231384 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-12-07 Steve Ellcey <sellcey@imgtec.com>
sje [Mon, 7 Dec 2015 20:39:04 +0000 (20:39 +0000)] 
2015-12-07  Steve Ellcey  <sellcey@imgtec.com>

* gcc.target/mips/wrap-delay.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231383 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-12-07 Steve Ellcey <sellcey@imgtec.com>
sje [Mon, 7 Dec 2015 20:37:38 +0000 (20:37 +0000)] 
2015-12-07  Steve Ellcey  <sellcey@imgtec.com>

* reorg.c (optimize_skip): Do not put frame related instructions
in annulled delay slots.
(steal_delay_list_from_target): Ditto.
(fill_slots_from_thread): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231382 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/68464
jason [Mon, 7 Dec 2015 19:34:11 +0000 (19:34 +0000)] 
PR c++/68464
* cp-gimplify.c (cp_fold): Don't assume X has TREE_TYPE.
(cp_genericize): Don't do cp_fold_r here.
(cp_fold_function): New.
* cp-tree.h: Declare it.
* decl.c (finish_function): Call it and the pre-genericize plugin
before NRV processing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231381 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/68170
jason [Mon, 7 Dec 2015 19:34:04 +0000 (19:34 +0000)] 
PR c++/68170
* pt.c (maybe_new_partial_specialization): The injected-class-name
is not a new partial specialization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231380 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/testsuite/
jason [Mon, 7 Dec 2015 19:33:59 +0000 (19:33 +0000)] 
gcc/testsuite/
* lib/g++.exp: Also find -std list in GXX_TESTSUITE_STDS
environment variable.
gcc/cp/
* Make-lang.in (check-c++1z, check-c++-all): Use GXX_TESTSUITE_STDS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231379 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd scheduling model for Exynos M1
evandro [Mon, 7 Dec 2015 19:30:01 +0000 (19:30 +0000)] 
Add scheduling model for Exynos M1

gcc/
* config/aarch64/aarch64-cores.def: Use the Exynos M1 sched model.
* config/aarch64/aarch64.md: Include "exynos-m1.md".
* config/arm/arm.md: Likewise.
* config/arm/exynos-m1.md: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231378 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * fold-const.c (operand_equal_p): Drp flag_strict_aliasing check.
hubicka [Mon, 7 Dec 2015 18:50:07 +0000 (18:50 +0000)] 
* fold-const.c (operand_equal_p): Drp flag_strict_aliasing check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231377 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config//nvptx/nvptx.c (write_return): New.
nathan [Mon, 7 Dec 2015 17:53:09 +0000 (17:53 +0000)] 
* config//nvptx/nvptx.c (write_return): New.
(write_fn_proto, nvptx_declare_function_name): Call it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231375 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/68668
mpolacek [Mon, 7 Dec 2015 17:52:23 +0000 (17:52 +0000)] 
PR c/68668
* c-decl.c (grokdeclarator): If ORIG_QUAL_INDIRECT is indirect, use
TREE_TYPE of ORIG_QUAL_TYPE, otherwise decrement ORIG_QUAL_INDIRECT.

* gcc.dg/pr68668.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231374 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR ipa/61886
hubicka [Mon, 7 Dec 2015 17:36:54 +0000 (17:36 +0000)] 
PR ipa/61886
* symtab.c (ultimate_transparent_alias_target): New inline function.
(symbol_table::assembler_names_equal_p): New method; break out from ...
(symbol_table::decl_assembler_name_equal): ... here.
(symbol_table::change_decl_assembler_name): Also update names and
translation links of transparent aliases.
(symtab_node::dump_base): Dump transparent_alias.
(symtab_node::verify_base): Implement basic transparent alias
verification.
(symtab_node::make_decl_local): Support localization of weakrefs;
recurse to transparent aliases; set TREE_STATIC.
(symtab_node::ultimate_alias_target_1): Handle visibility of
transparent aliases.
(symtab_node::resolve_alias): New parmaeter transparent; handle
transparent aliases; recurse to aliases of aliases to fix comdat
groups.
(symtab_node::get_partitioning_class): Handle transparent aliases.
* ipa-visibility.c (cgraph_externally_visible_p,
varpool_node::externally_visible_p): Visibility of transparent alias
depends on its target.
(function_and_variable_visibility): Do not tweak visibility of
transparent laiases.
(function_and_variable_visibility): Likewise.
* ipa.c (symbol_table::remove_unreachable_nodes): Clear
transparent_alias flag.
* alias.c (cgraph_node::create_alias, cgraph_node::get_availability):
Support transparent aliases.
* cgraph.h (symtab_node): Update prototype of resolve_alias;
add transparent_alias flag.
(symbol_table: Add assembler_names_equal_p.
(symtab_node::real_symbol_p): Skip transparent aliases.
* cgraphunit.c (cgraph_node::reset): Reset transparent_alias flag.
(handle_alias_pairs): Set transparent_alias for weakref.
(cgraph_node::assemble_thunks_and_aliases): Do not asemble transparent
aliases.
* lto-cgraph.c (lto_output_node): When outputting same_comdat_group
skip symbols not put into boundary; stream transparent_alias.
(lto_output_varpool_node): Likewise.
(input_overwrite_node, input_varpool_node): Stream transparent alias.
* varpool.c (ctor_for_folding, varpool_node::get_availability,
varpool_node::assemble_aliases,
symbol_table::remove_unreferenced_decls): Handle transparent aliase.
(varpool_node::create_alias): Set transparent_alias.

* lto-partition.c (add_symbol_to_partition_1, contained_in_symbol,
rename_statics, rename_statics): Handle transparent aliases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231373 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR middle-end/68291
ebotcazou [Mon, 7 Dec 2015 16:45:45 +0000 (16:45 +0000)] 
PR middle-end/68291
PR middle-end/68292
* cfgexpand.c (set_rtl): Always accept PARALLELs with BLKmode for
SSA names based on RESULT_DECLs.
* function.c (expand_function_start): Do not create BLKmode REGs
for GIMPLE registers when coalescing is enabled.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231372 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-12-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Mon, 7 Dec 2015 16:27:59 +0000 (16:27 +0000)] 
2015-12-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * final.c (shorten_branches): Fix check for basic asm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231371 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-12-07 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Mon, 7 Dec 2015 16:26:23 +0000 (16:26 +0000)] 
2015-12-07  Vladimir Makarov  <vmakarov@redhat.com>

* gcc.target/i386/pr68349.c (strlen): Rename to my_strlen.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231370 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-12-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Mon, 7 Dec 2015 16:23:49 +0000 (16:23 +0000)] 
2015-12-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Add check for
        basic asm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231369 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago gcc/
nathan [Mon, 7 Dec 2015 16:08:42 +0000 (16:08 +0000)] 
gcc/
* config/nvptx/nvptx.c (nvptx_output_call_insn): Emit trap after no
return call.

gcc/testsuite/
* gcc.target/nvptx/abort.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231368 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix missing range information for "%q+D" format code
dmalcolm [Mon, 7 Dec 2015 16:07:00 +0000 (16:07 +0000)] 
Fix missing range information for "%q+D" format code

gcc/c-family/ChangeLog:
* c-common.c (c_cpp_error): Update for change to
rich_location::set_range.

gcc/fortran/ChangeLog:
* error.c (gfc_format_decoder): Update for change of
text_info::set_range to text_info::set_location.

gcc/ChangeLog:
* pretty-print.c (text_info::set_range): Rename to...
(text_info::set_location): ...this, converting 2nd param
from source_range to a location_t.
* pretty-print.h (text_info::set_location): Convert
from inline function to external definition.
(text_info::set_range): Delete.

gcc/testsuite/ChangeLog:
* gcc.dg/diagnostic-ranges-1.c: New test file.
* gcc.dg/plugin/diagnostic-test-show-locus-bw.c
(test_percent_q_plus_d): New test function.
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(test_show_locus): Rewrite test code using
rich_location::set_range.  Add code to unit-test the "%q+D"
format code.

libcpp/ChangeLog:
* include/line-map.h (rich_location::set_range): Add line_maps *
param; convert param from source_range to source_location.  Drop
"overwrite_loc_p" param.
* line-map.c (rich_location::set_range): Likewise, acting as if
"overwrite_loc_p" were true, and getting range from the location.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231367 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix changelog entry and add pr66896.C.
marxin [Mon, 7 Dec 2015 15:35:25 +0000 (15:35 +0000)] 
Fix changelog entry and add pr66896.C.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231365 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix new sancov tests
dvyukov [Mon, 7 Dec 2015 15:27:50 +0000 (15:27 +0000)] 
Fix new sancov tests

* gcc.dg/sancov/sancov.exp: Load asan-dg.exp.
* gcc.dg/sancov/asan.c: Don't run when asan is not available.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231364 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago gcc/
nathan [Mon, 7 Dec 2015 13:46:07 +0000 (13:46 +0000)] 
gcc/
* config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Look inside
complex and vector types.  Cope with packed structs.

gcc/testsuite/
* gcc.target/nvptx/decl-init.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231362 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR target/68627
kyukhin [Mon, 7 Dec 2015 11:12:41 +0000 (11:12 +0000)] 
PR target/68627

gcc/
* config/i386/sse.md: Make 'v' alternative work on 'avx512f' ISA only.
Force destination to 512 bits register.
gcc/testsuite/
* gfortran.dg/pr68627.f: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231361 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoCommit accidentally forgotten tests.
kyukhin [Mon, 7 Dec 2015 11:06:44 +0000 (11:06 +0000)] 
Commit accidentally forgotten tests.

gcc/testsuite/
* c-c++-common/attr-simd-4.c: New test.
* c-c++-common/attr-simd-5.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231360 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR target/68633
kyukhin [Mon, 7 Dec 2015 11:05:40 +0000 (11:05 +0000)] 
PR target/68633

gcc/
* config/i386/sse.md (define_insn "kunpckhi"): Fix operands order.
(define_insn "kunpcksi"): Ditto.
(define_insn "kunpckdi"): Ditto.
gcc/testsuite
* gcc.target/i386/pr68633.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231359 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago Fix parse/no-type-defn1.C with -std=c++1z.
jason [Mon, 7 Dec 2015 04:35:14 +0000 (04:35 +0000)] 
Fix parse/no-type-defn1.C with -std=c++1z.

* parser.c (struct tentative_firewall): New.
(cp_parser_template_id, cp_parser_decltype_expr): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231354 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago Fix decltype-call1.C with -std=c++1z.
jason [Mon, 7 Dec 2015 04:35:08 +0000 (04:35 +0000)] 
Fix decltype-call1.C with -std=c++1z.

* parser.h (struct cp_token): Tell GTY that CPP_DECLTYPE uses
tree_check_value.
* parser.c (cp_parser_decltype): Use tree_check_value.
(saved_checks_value): New.
(cp_parser_nested_name_specifier_opt): Use it.
(cp_parser_template_id): Use it.
(cp_parser_simple_type_specifier): Use it.
(cp_parser_pre_parsed_nested_name_specifier): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231353 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago Fix crash70.C with -std=c++1z.
jason [Mon, 7 Dec 2015 04:35:02 +0000 (04:35 +0000)] 
Fix crash70.C with -std=c++1z.

* semantics.c (finish_qualified_id_expr): Handle
UNBOUND_CLASS_TEMPLATE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231352 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago Fix template/ref1.C, nontype15.C, addr-builtin1.C with -std=c++1z.
jason [Mon, 7 Dec 2015 04:34:57 +0000 (04:34 +0000)] 
Fix template/ref1.C, nontype15.C, addr-builtin1.C with -std=c++1z.

* parser.c (cp_parser_template_argument): Handle references in
C++1z mode.
* constexpr.c (potential_constant_expression_1): Don't error about
TREE_THIS_VOLATILE on declarations.
[COMPONENT_REF]: Don't consider the object if we're dealing with an
overloaded function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231351 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago Fix memclass5.C, memfriend10.C, var-templ19.C with -std=c++1z.
jason [Mon, 7 Dec 2015 04:34:51 +0000 (04:34 +0000)] 
Fix memclass5.C, memfriend10.C, var-templ19.C with -std=c++1z.

* constraint.cc (strictly_subsumes): New.
* cp-tree.h: Declare it.
* pt.c (process_partial_specialization): Use it instead of
subsumes_constraints.
(maybe_new_partial_specialization): Do compare null constraints.
* search.c (lookup_member): Handle currently_open_class returning null.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231350 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/68597, fix auto9.C and auto-neg1.C with -std=c++1z.
jason [Mon, 7 Dec 2015 04:34:43 +0000 (04:34 +0000)] 
PR c++/68597, fix auto9.C and auto-neg1.C with -std=c++1z.

* decl.c (check_tag_decl): Use ds_type_spec in auto diagnostic.
* typeck.c (check_return_expr): Check for inconsistent deduction.
* parser.c (class type_id_in_expr_sentinel): New.
(cp_parser_primary_expression) [RID_VA_ARG]: Use it.
(cp_parser_new_expression): Use it.
(cp_parser_trait_expr): Use it.
(cp_parser_type_id_1): Complain about auto if in_type_id_in_expr_p.
(cp_parser_default_type_template_argument): Check for auto.
(cp_parser_type_id_list): Likewise.
(cp_parser_simple_type_specifier): Allow auto parms if flag_concepts.
* pt.c (do_auto_deduction): Handle erroneous type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231349 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * g++.dg/cpp0x/static_assert8.C: Fix for -std=c++1z.
jason [Mon, 7 Dec 2015 04:34:36 +0000 (04:34 +0000)] 
* g++.dg/cpp0x/static_assert8.C: Fix for -std=c++1z.
* g++.dg/cpp0x/auto3.C: Fix for -std=c++1z.
* g++.dg/cpp1y/feat-cxx14.C: Only run with -std=c++14.
* g++.dg/cpp1y/feat-cxx14-neg.C: Only run with -std=c++14.
* g++.dg/cpp1z/feat-cxx1z.C: Fill in from feat-cxx14.C.
* g++.dg/cpp1z/fold5.C: Don't run with -std=c++1z.
* g++.dg/template/function1.C: Don't run with -std=c++1z.
* g++.dg/template/call4.C: Fix access.
* g++.dg/parse/crash31.C: Remove expected error text.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231348 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Mon, 7 Dec 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231347 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* config/sh/sh.md (rsqrtsf2): Adjust for the recent rsqrt_optab changes
kkojima [Mon, 7 Dec 2015 00:02:14 +0000 (00:02 +0000)] 
* config/sh/sh.md (rsqrtsf2): Adjust for the recent rsqrt_optab changes

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231344 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR ada/60164
ebotcazou [Sun, 6 Dec 2015 18:53:37 +0000 (18:53 +0000)] 
PR ada/60164
* doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231342 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agognattools/
ebotcazou [Sun, 6 Dec 2015 18:44:56 +0000 (18:44 +0000)] 
gnattools/
PR ada/50048
* Makefile.in (ftop_srcdir): New variable.
(INCLUDES_FOR_SUBDIR): Use -iquote and $(ftop_srcdir).
gcc/ada/
PR ada/50048
* gcc-interface/Makefile.in (INCLUDES): Use -iquote.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231341 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agosupport for AMD clzero isa.
vekumar [Sun, 6 Dec 2015 17:02:48 +0000 (17:02 +0000)] 
support for AMD clzero isa.

gcc/ChangeLog
2015-12-06  Victoria Stepanyan  <victoria.stepanyan@amd.com>

        * common/config/i386/i386-common.c
        (OPTION_MASK_ISA_CLZERO_SET): New.
        (ix86_handle_option): Handle clzero.
        * config.gcc (i[34567]86-*-*): Add clzerointrin.h,
        (x86_64-*-*): Likewise.
        * config/i386/clzerointrin.h: New header.
        * config/i386/cpuid.h (bit_CLZERO):  Define.
        * config/i386/driver-i386.c (host_detect_local_cpu): Detect
        CLZERO support.
        * config/i386/i386.opt (clzero): New.
        * config/i386/i386-c.c: Define __CLZERO__ if needed.
        * config/i386/i386.c (ix86_target_string): Define -mclzero option.
        (PTA_CLZERO): New.
        (ix86_option_override_internal): Handle new option.
        (processor_alias_table): Added PTA_CLZERO.
        (ix86_valid_target_attribute_inner_p): Add OPT_mclzero.
        (ix86_builtins): Add IX86_BUILTIN_CLZERO, IX86_BUILTIN_CLZERO.
        (ix86_expand_builtin): Handle IX86_BUILTIN_CLZERO and
        IX86_BUILTIN_CLZERO  built-ins.
        * config/i386/i386.h (TARGET_CLZERO):  New.
        * config/i386/i386.md (unspecv): Add UNSPEC_CLZERO.
        (clzero):  New pattern.
        (clzero_<mode>): New pattern.
        * config/i386/x86intrin.h: Include clzerointrin.h.
        * doc/extend.texi: Document clzero builtins.
        * doc/invoke.texi: Document -mclzero option.

gcc/testsuite/ChangeLog
2015-12-06  Victoria Stepanyan  <victoria.stepanyan@amd.com>

        * gcc.target/i386/clzero.c: New.
        * gcc.target/i386/sse-12.c: Add -mclzero.
        * gcc.target/i386/sse-13.c: Ditto.
        * gcc.target/i386/sse-14.c: Ditto.
        * gcc.target/i386/sse-22.c: Ditto.
        * gcc.target/i386/sse-23.c: Ditto.
        * g++.dg/other/i386-2.C: Ditto.
        * g++.dg/other/i386-3.C: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231340 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR ada/56274
ebotcazou [Sun, 6 Dec 2015 15:28:16 +0000 (15:28 +0000)] 
PR ada/56274
* s-osinte-kfreebsd-gnu.ads (pthread_rwlock_t): New subtype.
(pthread_rwlockattr_t): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231337 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR ada/49944
ebotcazou [Sun, 6 Dec 2015 14:11:17 +0000 (14:11 +0000)] 
PR ada/49944
* s-osinte-freebsd.ads: Minor reformatting.
(Stack_Base_Available): Correct comments.
* s-osinte-kfreebsd-gnu.ads (Time_Slice_Supported, nanosleep,
clock_id_t, clock_gettime, Stack_Base_Available, Get_Page_Size,
mprotect, pthread_mutexattr_setprotocol,pthread_mutexattr_getprotocol
pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling,
pthread_attr_setscope, pthread_attr_getscope,
pthread_attr_setinheritsched, pthread_attr_getinheritsched,
Time_Slice_Supported): Copy from s-osinte-freebsd.ads.
* gcc-interface/Makefile.in (x86/kfreebsd): Use the POSIX version of
the System.Task_Primitives.Operations package.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231333 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR ada/49940
ebotcazou [Sun, 6 Dec 2015 14:00:16 +0000 (14:00 +0000)] 
PR ada/49940
* s-osinte-kfreebsd-gnu.ads (lwp_self): New imported function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231330 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-12-06 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 6 Dec 2015 10:42:49 +0000 (10:42 +0000)] 
2015-12-06  Tobias Burnus  <burnus@net-b.de>

        * download_prerequisites: Download ISL 0.15 instead of 0.14.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231329 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * ipa-icf.c (sem_function::merge): Check that local_original exists.
hubicka [Sun, 6 Dec 2015 05:45:16 +0000 (05:45 +0000)] 
* ipa-icf.c (sem_function::merge): Check that local_original exists.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231328 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sun, 6 Dec 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231326 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-12-05 Juoko Orava <jouko.orava@iki.fi>
kargl [Sat, 5 Dec 2015 18:12:26 +0000 (18:12 +0000)] 
2015-12-05  Juoko Orava <jouko.orava@iki.fi>

PR fortran/50201
* io/write_float.def: Avoid marking quadmath_snprintf as an untyped
weak reference, which fixing linking with -static.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231320 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-12-05 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 5 Dec 2015 17:10:33 +0000 (17:10 +0000)] 
2015-12-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/68676
* decl.c (gfc_match_formal_arglist): Correct error, where 'sym'
was used instead of 'progname'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231319 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.target/powerpc/recip-sqrtf.c: New test.
dje [Sat, 5 Dec 2015 12:55:43 +0000 (12:55 +0000)] 
    * gcc.target/powerpc/recip-sqrtf.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231318 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/68609
dje [Sat, 5 Dec 2015 12:53:45 +0000 (12:53 +0000)] 
    PR target/68609
        * config/rs6000/rs6000-protos.h (rs6000_emit_swsqrt): Rename and add
        bool arguement.
        * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Rename. Add
        non-reciporcal path.
        * config/rs6000/rs6000.md (rsqrt<mode>2): Call new function name.
        (sqrt<mode>2): Replace define_insn with define_expand that may call
        rs6000_emit_swsqrt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231317 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sat, 5 Dec 2015 00:16:11 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231314 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agocheck that all the scev applied ops have are dominated by their defs
spop [Fri, 4 Dec 2015 21:38:56 +0000 (21:38 +0000)] 
check that all the scev applied ops have are dominated by their defs

2015-12-02  Aditya Kumar  <aditya.k7@samsung.com>
    Sebastian Pop  <s.pop@samsung.com>

        * gcc.dg/graphite/id-29.c: New test.

gcc/ChangeLog:

2015-12-02  Aditya Kumar  <aditya.k7@samsung.com>
    Sebastian Pop  <s.pop@samsung.com>

        * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): Improve debug.
        (get_rename_from_scev): Check that all the ops in an expression have their uses dominated by corresponding defs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231310 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agofix PR68693: Check for loop structure when extending the SCoP
spop [Fri, 4 Dec 2015 21:36:55 +0000 (21:36 +0000)] 
fix PR68693: Check for loop structure when extending the SCoP

The check for dominance while extending the scop assumed that
multiple successors meant a loop which is not true in case of
conditionals around the loop.

Improved pretty printers for better debugging.

PR tree-optimization/68693
        * graphite-scop-detection.c (dot_all_sese): New
        (dot_all_scops_1): Renamed to dot_all_sese.
        (dot_all_scops): Removed.
        (dot_sese): New.
        (dot_cfg): New.
        (scop_detection::get_nearest_dom_with_single_entry): Check that preds are from different loop levels.
        (scop_detection::get_nearest_pdom_with_single_exit): Check that succs are from different loop levels.
        (scop_detection::print_sese): Inlined.
        (scop_detection::print_edge): New.
        (scop_detection::merge_sese): Added dumps.
        * graphite.h: Add declarations.

gcc/testsuite/ChangeLog:

        * gfortran.dg/graphite/pr68693.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231309 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Add register constraints to add<mode>3_pluslong
jgreenhalgh [Fri, 4 Dec 2015 20:02:56 +0000 (20:02 +0000)] 
[AArch64] Add register constraints to add<mode>3_pluslong

gcc/

2015-12-04  James Greenhalgh  <james.greenhalgh@arm.com>

* config/aarch64/aarch64.md (add<mode>3_pluslong): Add register
constraints.

gcc/testsuite/

2015-12-04  James Greenhalgh  <james.greenhalgh@arm.com>

* gcc.c-torture/compile/20151204.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231304 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.dg/vla-24.c: Requires alloca.
nathan [Fri, 4 Dec 2015 19:58:43 +0000 (19:58 +0000)] 
* gcc.dg/vla-24.c: Requires alloca.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231303 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-12-04 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 4 Dec 2015 19:23:21 +0000 (19:23 +0000)] 
2015-12-04  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/68349
* lra-eliminations.c (move_plus_up): New function.
(lra_eliminate_regs_1): Use the function.

2015-12-04  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/68349
* gcc.target/i386/pr68349.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231300 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago gcc/
nathan [Fri, 4 Dec 2015 18:41:46 +0000 (18:41 +0000)] 
gcc/
* config/nvptx/nvptx.c (nvptx_assemble_decl_begin): New,
replacing ...
(init_output_initializer): ... this.
(nvptx_output_aligned_decl, nvptx_asm_declare_constant_name,
nvptx_declare_object_name, nvptx_assemble_undefined_decl): Use
nvptx_assemble_decl_begin.

gcc/testsuite/
* gcc.target/nvptx/ary-init.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231298 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd fuzzing coverage support
dvyukov [Fri, 4 Dec 2015 18:27:54 +0000 (18:27 +0000)] 
Add fuzzing coverage support

* sancov.c: New file.
* Makefile.in (OBJS): Add sancov.o.
* invoke.texi (-fsanitize-coverage=trace-pc): Describe.
* passes.def (sancov_pass): Add.
* tree-pass.h  (sancov_pass): Add.
* common.opt (-fsanitize-coverage=trace-pc): Add.
* sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_PC): Add.
* builtins.def (DEF_SANITIZER_BUILTIN): Enable for
flag_sanitize_coverage.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231296 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR middle-end/65958
ebotcazou [Fri, 4 Dec 2015 18:25:54 +0000 (18:25 +0000)] 
PR middle-end/65958
* config/arm/unspecs.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
(unspecv): Add VUNSPEC_PROBE_STACK_RANGE.
* config/arm/arm.md (probe_stack_range): Adjust.
* config/aarch64/aarch64.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
(unspecv): Add UNSPECV_PROBE_STACK_RANGE.
(probe_stack_range_<PTR:mode>): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231295 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/68645
jason [Fri, 4 Dec 2015 18:18:27 +0000 (18:18 +0000)] 
PR c++/68645
* parser.c (cp_parser_direct_declarator)
(cp_parser_late_return_type_opt): Put Cilk+ attributes on
declarator->attributes, not std_attributes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231294 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoC++ FE: expression ranges
dmalcolm [Fri, 4 Dec 2015 18:09:54 +0000 (18:09 +0000)] 
C++ FE: expression ranges

gcc/ChangeLog:
* convert.c (convert_to_real_1): When converting from a
REAL_TYPE, preserve the location of EXPR in the result.
* tree.c (get_pure_location): Make non-static.
(set_source_range): Return the resulting location_t.
(make_location): New function.
* tree.h (get_pure_location): New decl.
(get_finish): New inline function.
(set_source_range): Convert return type from void to location_t.
(make_location): New decl.

gcc/cp/ChangeLog:
* cp-tree.h (class cp_expr): New class.
(finish_parenthesized_expr): Convert return type and param to
cp_expr.
(perform_koenig_lookup): Convert return type and param from tree
to cp_expr.
(finish_increment_expr): Likewise.
(finish_unary_op_expr): Likewise.
(finish_id_expression): Likewise for return type.
(build_class_member_access_expr): Likewise for param.
(finish_class_member_access_expr): Likewise.
(build_x_unary_op): Likewise.
(build_c_cast): New decl.
(build_x_modify_expr): Convert return type from tree to cp_expr.
* cvt.c (cp_convert_and_check): When warning about conversions,
attempt to use the location of "expr" if available, otherwise
falling back to the old behavior of using input_location.
* name-lookup.c (lookup_arg_dependent_1): Convert return type from
tree to cp_expr.
(lookup_arg_dependent): Likewise; also for local "ret".
* name-lookup.h (lookup_arg_dependent): Likewise for return type.
* parser.c (cp_lexer_previous_token): Skip past purged tokens.
(struct cp_parser_expression_stack_entry): Convert field "lhs" to
cp_expr.
(cp_parser_identifier): Likewise for return type.  Use cp_expr
ctor to preserve the token's location.
(cp_parser_string_literal): Likewise, building up a meaningful
location for the case where a compound string literal is built by
concatentation.
(cp_parser_userdef_char_literal): Likewise for return type.
(cp_parser_userdef_numeric_literal): Likewise.
(cp_parser_statement_expr): Convert return type to cp_expr.
Generate a suitable location for the expr and return it via the
cp_expr ctor.
(cp_parser_fold_expression): Convert return type to cp_expr.
(cp_parser_primary_expression): Likewise, and for locals "expr",
"lam", "id_expression", "decl".
Use cp_expr ctor when parsing literals, to preserve the spelling
location of the token.  Preserve the locations of parentheses.
Preserve location when calling objc_lookup_ivar.
Preserve the location for "this" tokens.  Generate suitable
locations for "__builtin_va_arg" constructs and for
Objective C 2.0 dot-syntax.  Set the location for the result of
finish_id_expression.
(cp_parser_primary_expression): Convert return type from tree to
cp_expr.
(cp_parser_id_expression): Likewise.
(cp_parser_unqualified_id): Likewise.  Also for local "id".
(cp_parser_postfix_expression): Likewise, also for local
"postfix_expression".  Generate suitable locations for
C++-style casts, "_Cilk_spawn" constructs.  Convert local
"initializer" to cp_expr and use it to preserve the location of
compound literals.  Capture the location of the closing
parenthesis of a call site via
cp_parser_parenthesized_expression_list, and use it to build
a source range for a call.  Use cp_expr in ternary expression.
(cp_parser_postfix_dot_deref_expression): Convert param from tree to
cp_expr.  Generate and set a location.
(cp_parser_parenthesized_expression_list): Add "close_paren_loc"
out-param, and write back to it.
(cp_parser_unary_expression): Convert return type from tree to
cp_expr.  Also for locals "cast_expression" and "expression".
Generate and use suitable locations for addresses of
labels and for cast expressions.  Call cp_expr::set_location where
necessary.  Preserve the locations of negated numeric literals.
(cp_parser_new_expression): Generate meaningful locations/ranges.
(cp_parser_cast_expression): Convert return type from tree to
cp_expr; also for local "expr".  Use the paren location to generate a
meaningful range for the expression.
(cp_parser_binary_expression): Convert return type from tree to
cp_expr; also for local "rhs".  Generate a meaningful location
for the expression, and use it.  Replace call to
protected_set_expr_location by converting a build2 to a build2_loc
and using the location in the call to build_x_binary_op, adding a
cp_expr::set_location to the latter case.
(cp_parser_question_colon_clause): Convert param from tree to
cp_expr; also for local "assignment_expr".  Set the spelling range
of the expression.
(cp_parser_assignment_expression): Likewise for return type and
locals "expr" and "rhs".  Build a meaningful spelling range for
the expression.  Remove saving of input_location in favor of a
call to cp_expr::set_location.
(cp_parser_expression): Convert return type and locals
"expression" and "assignment_expression" to cp_expr.  Build a
meaningful spelling range for assignment expressions.
(cp_parser_constant_expression): Likewise for return type and
local "expression".
(cp_parser_builtin_offsetof): Convert return type and local "expr"
to cp_expr.  Generate suitable locations.
(cp_parser_lambda_expression): Convert return return type to
cp_expr.
(cp_parser_operator_function_id): Likewise.
(cp_parser_operator): Likewise.  Generate a meaningful range,
using cp_expr's ctor to return it.
(cp_parser_template_id): When converting a token to
CPP_TEMPLATE_ID, update the location.
(cp_parser_initializer_clause): Convert return type and local
"initializer" to cp_expr.
(cp_parser_braced_list): Likewise for return type.  Generate
suitable locations.
(cp_parser_lookup_name): Likewise for return type.  Use cp_expr's
ctor to preserve the location_t of the name.
(cp_parser_simple_cast_expression): Likewise for return type.
(cp_parser_functional_cast): Convert return type and local "cast"
to cp_expr.  Generate suitable locations.
(cp_parser_objc_expression): Convert return type to cp_expr.k  Generate
(cp_parser_objc_message_expression): Generate suitable locations.
(cp_parser_objc_encode_expression): Convert return type to
cp_expr.  Generate suitable locations.
(cp_parser_objc_protocol_expression): Generate suitable locations.
(cp_parser_objc_selector_expression): Generate suitable locations.
(cp_parser_omp_for_cond): Attempt to use the location
of "cond" for the binary op.
(cp_parser_transaction_expression): Issue the tm-not-enabled error
at the location of the __transaction_foo token, rather than at
input_location.
* semantics.c (finish_parenthesized_expr): Convert return type and
param to cp_expr.  Preserve location.
(perform_koenig_lookup): Likewise for return type
and param.
(finish_increment_expr): Likewise.  Generate suitable locations.
(finish_unary_op_expr): Likewise for return type and local "result".
Generate suitable locations.
(finish_id_expression): Convert return type to cp_expr and use
cp_expr ctor to preserve location information.
* typeck.c (build_class_member_access_expr): Convert param to
cp_expr.
(finish_class_member_access_expr): Likewise.
(cp_build_binary_op): Convert a build2 to a build2_loc.
(build_x_unary_op): Convert param from tree to cp_expr.
(build_nop): Preserve the location of EXPR.
(build_c_cast): Provide an overloaded variant that takes a cp_expr
and returns a cp_expr.
(build_x_modify_expr): Convert return type from tree to cp_expr.

gcc/testsuite/ChangeLog:
* g++.dg/cpp0x/nsdmi-template14.C: Move dg-error directive.
* g++.dg/gomp/loop-1.C: Update dg-error locations.
* g++.dg/plugin/diagnostic-test-expressions-1.C: New file, adapted
from gcc.dg/plugin/diagnostic-test-expressions-1.c.
* g++.dg/plugin/plugin.exp (plugin_test_list): Add the above.
* g++.dg/template/crash55.C: Update dg-error directives.
* g++.dg/template/pseudodtor3.C: Update column numbers in dg-error
directives.
* g++.dg/template/pr64100.C: Update location of dg-error
directive.
* g++.dg/template/ref3.C: Add XFAIL (PR c++/68699).
* g++.dg/ubsan/pr63956.C: Update dg directives to reflect
improved location information.
* g++.dg/warn/pr35635.C (func3): Update location of a
dg-warning.
* g++.dg/warn/Wconversion-real-integer2.C: Update location of
dg-warning; add a dg-message.
* obj-c++.dg/plugin/diagnostic-test-expressions-1.mm: New file,
based on objc.dg/plugin/diagnostic-test-expressions-1.m.
* obj-c++.dg/plugin/plugin.exp: New file, based on
objc.dg/plugin/plugin.exp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231293 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/68656
jakub [Fri, 4 Dec 2015 18:04:06 +0000 (18:04 +0000)] 
PR c/68656
* toplev.c (init_asm_output): Pass UNKNOWN_LOCATION instead of
input_location to inform.
(process_options): Use warning_at (UNKNOWN_LOCATION instead of
warning ( and error_at (UNKNOWN_LOCATION instead of error (.
Pass UNKNOWN_LOCATION instead of input_location to fatal_error.

* gcc.target/i386/pr65044.c: Expect error on line 0 rather than
line 1.
* g++.dg/opt/pr34036.C: Expect warning on line 0 rather than line 1.
* gcc.dg/tree-ssa/pr23109.c: Likewise.
* gcc.dg/tree-ssa/recip-5.c: Likewise.
* gcc.dg/pr33007.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231292 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * ipa-inline.c (can_inline_edge_p) Use merged_comdat.
hubicka [Fri, 4 Dec 2015 18:02:26 +0000 (18:02 +0000)] 
* ipa-inline.c (can_inline_edge_p) Use merged_comdat.
* cgraphclones.c (cgraph_node::create_clone): Use merged_comdat.
* cgraph.c (cgraph_node::dump): Dump merged_comdat.
* ipa-icf.c (sem_function::merge): Drop merged_comdat when merging
comdat and non-comdat.
* cgraph.h (cgraph_node): Rename merged to merged_comdat.
* ipa-inline-analysis.c (simple_edge_hints): Check both merged_comdat
and icf_merged.

* lto-symtab.c (lto_cgraph_replace_node): Update code computing
merged_comdat.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231291 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc:
bonzini [Fri, 4 Dec 2015 17:43:53 +0000 (17:43 +0000)] 
gcc:
2015-12-04  Paolo Bonzini  <bonzini@gnu.org>

* c-family/c-common.c (maybe_warn_shift_overflow): Warn on all
overflows if shifting 1 out of the sign bit.

gcc/testsuite:
2015-12-04  Paolo Bonzini  <bonzini@gnu.org>

* c-c++-common/Wshift-overflow-1.c: Test shifting 1 out of the sign bit.
* c-c++-common/Wshift-overflow-2.c: Test shifting 1 out of the sign bit.
* c-c++-common/Wshift-overflow-3.c: Test shifting 1 out of the sign bit.
* c-c++-common/Wshift-overflow-4.c: Test shifting 1 out of the sign bit.
* c-c++-common/Wshift-overflow-6.c: Test shifting 1 out of the sign bit.
* c-c++-common/Wshift-overflow-7.c: Test shifting 1 out of the sign bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231290 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR libstdc++/57060 cope with invalid thread IDs
redi [Fri, 4 Dec 2015 17:32:40 +0000 (17:32 +0000)] 
PR libstdc++/57060 cope with invalid thread IDs

PR libstdc++/57060
* include/std/thread (operator==(thread::id, thread::id)): Do not use
__gthread_equal.
(operator<(thread::id, thread::id)): Add comment.
(this_thread::get_id()): Do not use __gthread_self for single-threaded
programs using glibc.
* testsuite/30_threads/this_thread/57060.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231289 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agors6000: Clean up the cstore code a bit
segher [Fri, 4 Dec 2015 17:28:54 +0000 (17:28 +0000)] 
rs6000: Clean up the cstore code a bit

"register_operand" was a bit confusing.  Also some other minor cleanups.

* (cstore<mode>4_unsigned): Use gpc_reg_operand instead of
register_operand.  Remove empty constraints.  Use std::swap.
(cstore_si_as_di, cstore<mode>4_signed_imm,
cstore<mode>4_unsigned_imm, cstore<mode>4 for GPR): Use
gpc_reg_operand instead of register_operand.
(cstore<mode>4 for FP): Use gpc_reg_operand instead of
register_operand.  Remove empty constraints.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231287 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc * config.gcc (extra_gcc_objs): Define for MSP430.
nickc [Fri, 4 Dec 2015 17:24:30 +0000 (17:24 +0000)] 
gcc * config.gcc (extra_gcc_objs): Define for MSP430.
        * common/config/msp430/msp430-common.c (msp430_handle_option):
Pass both -mmcu and -mcpu on to the back end if they are both
defined.
* config/msp430/msp430.c (hwmult_name): New function.
        (msp430_option_override): If an unrecognised MCU name is
detected only warn if the user has not provided suitable
        -mhwmult and -mcpu options.  Use msp430_warn_mcu to control
warning messages.  Generate warnings about conflicts between
-mmcu and -mcpu and -mhwmult options.
If neither -mcpu nor -mmcu have been specified but -mhwmult=
f5series has the select the 430X isa.
(msp430_no_hwmult): If -mmcu has not been specified and
msp430_hwmult_type is AUTO then return true.
* config/msp430/msp430.h (EXTRA_SPEC_FUNCTIONS): Define.
(LIB_SPEC): Add hardware multiply library selection.
* config/msp430/t-msp430: Delete hardware multiply multilibs.
Add rule to build driver-msp430.o
* config/msp430/driver-msp430.c: New file.
* config/msp430/msp430.opt (warn-mcu): New option.
* doc/invoke.texi: Update description of -mhwmult=auto.
        Document -mwarn-mcu option.

tests * gcc.target/msp430/msp_abi_div_funcs.c: New test.
* gcc.target/msp430/mul_main.h: New test support file.
* gcc.target/msp430/mul_none.c: New test.
* gcc.target/msp430/mul_16bit.c: New test.
* gcc.target/msp430/mul_32bit.c: New test.
* gcc.target/msp430/mul_f5.c: New test.

libgcc * config/msp430/mpy.c (__mulhi3): Use a faster algorithm.
Allow for the second argument being negative.
* config.host (extra_parts): Define for MSP430.  Create separate
libraries for each of the hardware multiply formats.
* config/msp430/lib2hw_mul.S: Build only the multiply routines
that are needed.
* config/msp430/lib2mul.c: Likewise.
* config/msp430/t-msp430 (LIB2ADD): Remove lib2hw_mul.S.
Add rules to build hardware multiply libraries.
* config/msp430/lib2divSI.c: (__mspabi_divlu): Alias for
__mspabi_divul function.
(__mspabi_divllu): New stub function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231286 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoI really do hate this keyboard.
segher [Fri, 4 Dec 2015 17:22:38 +0000 (17:22 +0000)] 
I really do hate this keyboard.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231285 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agors6000: Implement cstore for signed Pmode register compares
segher [Fri, 4 Dec 2015 17:21:49 +0000 (17:21 +0000)] 
rs6000: Implement cstore for signed Pmode register compares

This implements cstore for the last case we do not yet handle, using
the superopt algo from the venerable CWG.  The only integer cases we
do still not handle after this are for -m32 -mpowerpc64.

* (cstore<mode>4_signed): New expander.
(cstore<mode>4): Call it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231284 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * tree-tailcall.c (find_tail_calls): Ignore GIMPLE_NOPs.
jakub [Fri, 4 Dec 2015 16:40:05 +0000 (16:40 +0000)] 
* tree-tailcall.c (find_tail_calls): Ignore GIMPLE_NOPs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231282 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-12-04 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 4 Dec 2015 16:37:54 +0000 (16:37 +0000)] 
2015-12-04  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/68684
* resolve.c (resolve_lock_unlock_event): Fix logic faux pas.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231281 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/68680
jakub [Fri, 4 Dec 2015 16:32:22 +0000 (16:32 +0000)] 
PR tree-optimization/68680
* calls.c (special_function_p): Return ECF_MAY_BE_ALLOCA for
BUILT_IN_ALLOCA{,_WITH_ALIGN}.  Don't check for __builtin_alloca
by name.

* gcc.target/i386/pr68680.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231279 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/68671
jakub [Fri, 4 Dec 2015 16:23:27 +0000 (16:23 +0000)] 
PR tree-optimization/68671
* tree-ssa-reassoc.c (maybe_optimize_range_tests): For basic
blocks starting with the successor of first bb we've modified
and ending with last_bb call reset_flow_sensitive_info_in_bb.

* gcc.dg/pr68671.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231278 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * tree-ssa-reassoc.c (maybe_optimize_range_tests): Return boolean
law [Fri, 4 Dec 2015 16:19:30 +0000 (16:19 +0000)] 
* tree-ssa-reassoc.c (maybe_optimize_range_tests): Return boolean
indicating if a gimple conditional was optimized to true/false.
(reassociate_bb): Bubble up return value from
maybe_optimize_range_tests.
(do_reassoc): Similarly, but for reassociate_bb.
(execute_reassoc): Return TODO_cleanup_cfg as needed.

* gcc.dg/tree-ssa/reassoc-43.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231277 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Don't allow -mgeneral-regs-only to change the .arch assembler directives
ktkachov [Fri, 4 Dec 2015 15:02:42 +0000 (15:02 +0000)] 
[AArch64] Don't allow -mgeneral-regs-only to change the .arch assembler directives

* config/aarch64/aarch64.c (aarch64_override_options_internal):
Do not alter target_flags due to TARGET_GENERAL_REGS_ONLY_P.
* doc/invoke.texi (AArch64 options): Mention that -mgeneral-regs-only
does not affect the assembler directives.

* gcc.target/aarch64/mgeneral-regs_4.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231275 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoS/390: Add -mbackchain options to fix test failure.
krebbel [Fri, 4 Dec 2015 14:35:14 +0000 (14:35 +0000)] 
S/390: Add -mbackchain options to fix test failure.

gcc/testsuite/ChangeLog

* gcc.dg/Wframe-address.c: S/390 requires the -mbackchain option to
access arbitrary stack frames.
* gcc.dg/Wno-frame-address.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231273 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[PATCH 2/2] S/390: Implement "target" attribute.
krebbel [Fri, 4 Dec 2015 14:33:01 +0000 (14:33 +0000)] 
[PATCH 2/2] S/390: Implement "target" attribute.

gcc/ChangeLog

* config/s390/s390.c (s390_asm_file_start): Implement hook function to
emit .machine and .machinemode to the top of the assembler file.
(TARGET_ASM_FILE_START): Provide target hook.
(s390_asm_output_machine_for_arch): Protect with
HAVE_AS_MACHINE_MACHINEMODE instead of S390_USE_TARGET_ATTRIBUTE.

gcc/testsuite/ChangeLog

* gcc.target/s390/asm-machine-1.c: Updated.
* gcc.target/s390/asm-machine-2.c: Updated.
* gcc.target/s390/asm-machine-3.c: Updated.
* gcc.target/s390/asm-machine-4.c: Updated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231272 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[PATCH 1/2] S/390: Implement "target" attribute.
krebbel [Fri, 4 Dec 2015 14:30:42 +0000 (14:30 +0000)] 
[PATCH 1/2] S/390: Implement "target" attribute.

gcc/ChangeLog

* config/s390/s390.opt (s390_arch_string): Remove.
(s390_tune_string): Likewise.
(s390_cost_pointer): Add Variable.
(s390_tune_flags): Add TargetVariable.
(s390_arch_flags, march=, mbackchain, mdebug, mesa, mhard-dfp),
(mhard-float, mlong-double-128, mlong-double-64, mhtm, mvx),
(mpacked-stack, msmall-exec, msoft-float, mstack-guard=, mstack-size=),
(mtune=, mmvcle, mzvector, mzarch, mbranch-cost=, mwarn-dynamicstack),
(mwarn-framesize=): Save option.
(mno-stack-guard, mno-stack-guard): New option.
(mwarn-dynamicstack): Allow mno-warn-dynamicstack.
(mwarn-framesize=): Convert to UInteger (negative values are rejected
now).
* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Split setting
macros changeable through the GCC target pragma into a separate
function.
(s390_cpu_cpp_builtins): Likewise.
(s390_pragma_target_parse): New function, implement GCC target pragma
if enabled.
(s390_register_target_pragmas): Register s390_pragma_target_parse if
available.
* common/config/s390/s390-common.c (s390_handle_option):
Export.
Move setting s390_arch_flags to s390.c.
Remove s390_tune_flags.
Allow 0 as argument to -mstack-size (switch to default value).
Allow 0 as argument to -mstack-guard (switch off).
Remove now unnecessary explicit parsing code for -mwarn-framesize.
* config/s390/s390-protos.h (s390_handle_option): Export.
(s390_valid_target_attribute_tree): Export.
(s390_reset_previous_fndecl): Export.
* config/s390/s390-builtins.def: Use new macro B_GROUP to mark the start
and end of HTM and VX builtins.
(s390_asm_output_function_prefix): Declare hook.
(s390_asm_declare_function_size): Likewise.
* config/s390/s390-builtins.h (B_GROUP): Use macro.
* config/s390/s390-opts.h: Add comment about processor_type usage.
* config/s390/s390.h (TARGET_CPU_IEEE_FLOAT_P, TARGET_CPU_ZARCH_P),
(TARGET_CPU_LONG_DISPLACEMENT_P, TARGET_CPU_EXTIMM_P, TARGET_CPU_DFP_P),
(TARGET_CPU_Z10_P, TARGET_CPU_Z196_P, TARGET_CPU_ZEC12_P),
(TARGET_CPU_HTM_P, TARGET_CPU_Z13_P, TARGET_CPU_VX_P),
(TARGET_HARD_FLOAT_P, TARGET_LONG_DISPLACEMENT_P, TARGET_EXTIMM_P),
(TARGET_DFP_P, TARGET_Z10_P, TARGET_Z196_P, TARGET_ZEC12_P),
(TARGET_HTM_P, TARGET_Z13_P, TARGET_VX_P, TARGET_CPU_EXTIMM),
(TARGET_CPU_DFP, TARGET_CPU_Z10, TARGET_CPU_Z196, TARGET_CPU_ZEC12),
(TARGET_CPU_HTM, TARGET_CPU_Z13, TARGET_LONG_DISPLACEMENT),
(TARGET_EXTIMM, TARGET_DFP, TARGET_Z10, TARGET_Z196, TARGET_ZEC12),
(TARGET_Z13, TARGET_VX, S390_USE_TARGET_ATTRIBUTE),
(S390_USE_ARCHITECTURE_MODIFIERS, SWITCHABLE_TARGET),
(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
* config/s390/vecintrin.h: Use vector definitions even if __VEC__ is
undefined.
(vec_all_nan): Rewrite as macro using statement expressions to avoid
that the vector keyword needs to be defined when including the file.
(vec_all_numeric): Likewise.
(vec_any_nan): Likewise.
(vec_any_numeric):  Likewise.
* config/s390/s390.c (s390_previous_fndecl): New static variable.
(s390_set_current_function): New function.
(s390_cost): Wrapper macro to allow defining the cost table pointer in
the options file.
(processor_table): Table for march= and mtune= parsing.
(s390_init_builtins): Enable all builtins and types unconditionally.
(s390_expand_builtin): Generate an error message if builtin is not
supported by current options.
Correct an error message.
(s390_function_specific_restore): New function to set s390_cost.
(s390_asm_output_machine_for_arch): New function for emitting .machine
and .machinmode directives to the assembler file.
(s390_asm_output_function_prefix): Likewise.
(s390_asm_declare_function_size):  Likewise.
(s390_asm_output_function_label): Add mdebug output for feature testing.
(s390_option_override): Move implementation into internal function.
(s390_option_override_internal): Likewise.
Implement option overriding based on current options.
(s390_valid_target_attribute_inner_p): New function implementing target
attribute logic.
(s390_valid_target_attribute_tree): Likewise.
(s390_valid_target_attribute_p): Likewise.
(s390_reset_previous_fndecl): Likewise.
(s390_set_current_function): Likewise.
(TARGET_SET_CURRENT_FUNCTION): Provide target hook function.
(TARGET_OPTION_VALID_ATTRIBUTE_P): Likewise.
(TARGET_OPTION_RESTORE): Likewise.
* doc/extend.texi: S390: Document target attribute and pragma.
* config.in: Regenerated.
* configure: Regenerated.
* configure.ac: S390: Check for .machinemode and .machine in gas.
S390: Check for architecture modifiers support in gas.

gcc/testsuite/ChangeLog

* gcc.target/s390/asm-machine-1.c: New test.
* gcc.target/s390/asm-machine-2.c: New test.
* gcc.target/s390/asm-machine-3.c: New test.
* gcc.target/s390/asm-machine-4.c: New test.
* gcc.target/s390/target-attribute/tattr-1.c: New test.
* gcc.target/s390/target-attribute/tattr-2.c: New test.
* gcc.target/s390/target-attribute/tattr-3.c: New test.
* gcc.target/s390/target-attribute/tattr-4.c: New test.
* gcc.target/s390/target-attribute/tattr-5.c: New test.
* gcc.target/s390/target-attribute/tattr-6.c: New test.
* gcc.target/s390/target-attribute/tattr-7.c: New test.
* gcc.target/s390/target-attribute/tattr-8.c: New test.
* gcc.target/s390/target-attribute/tattr-9.c: New test.
* gcc.target/s390/target-attribute/tattr-10.c: New test.
* gcc.target/s390/target-attribute/tattr-11.c: New test.
* gcc.target/s390/target-attribute/tattr-12.c: New test.
* gcc.target/s390/target-attribute/tattr-13.c: New test.
* gcc.target/s390/target-attribute/tattr-14.c: New test.
* gcc.target/s390/target-attribute/tattr-15.c: New test.
* gcc.target/s390/target-attribute/tattr-16.c: New test.
* gcc.target/s390/target-attribute/tattr-17.c: New test.
* gcc.target/s390/target-attribute/tattr-18.c: New test.
* gcc.target/s390/target-attribute/tattr-19.c: New test.
* gcc.target/s390/target-attribute/tattr-arch-tune-1.c: New test.
* gcc.target/s390/target-attribute/tattr-arch-tune-2.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-1.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-2.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-3.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-4.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-5.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-6.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-7.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-8.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-9.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-10.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-11.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-12.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-13.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-14.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-15.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-16.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-17.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-18.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-19.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-20.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-21.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-22.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-23.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-24.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-25.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-26.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-27.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-28.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-29.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-30.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-31.c: New test.
* gcc.target/s390/target-attribute/tattr-m31-32.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-1.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-2.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-3.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-4.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-5.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-6.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-7.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-8.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-9.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-10.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-11.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-12.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-13.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-14.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-15.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-16.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-17.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-18.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-19.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-20.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-21.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-22.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-23.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-24.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-25.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-26.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-27.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-28.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-29.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-30.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-31.c: New test.
* gcc.target/s390/target-attribute/tattr-m64-32.c: New test.
* gcc.target/s390/target-attribute/tpragma-struct-vx-2.c: New test.
* gcc.target/s390/s390.exp (check_effective_target_target_attribute):
Add check whether target attribute is available.
Run test in target-attribute subdir.
* gcc.target/s390/s390-c++.exp
(check_effective_target_target_attribute): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231271 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd notinbranch/inbranch flags to attribute __simd__.
kyukhin [Fri, 4 Dec 2015 14:22:06 +0000 (14:22 +0000)] 
Add notinbranch/inbranch flags to attribute __simd__.

gcc/
* c-family/c-common.c (c_common_attribute_table[]): Update max arguments
count for "simd" attribute.
(handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
* doc/extend.texi ("simd"): Describe new flags.
gcc/testsuite/
* c-c++-common/attr-simd-4.c: New test.
* c-c++-common/attr-simd-5.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231270 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
ienkovich [Fri, 4 Dec 2015 14:18:58 +0000 (14:18 +0000)] 
gcc/

* config/i386/sse.md (<avx512>_store<mode>_mask): Fix
operand checked for alignment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231269 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/nvptx/nvptx.c (write_one_arg): Deal with prologue
nathan [Fri, 4 Dec 2015 14:02:27 +0000 (14:02 +0000)] 
* config/nvptx/nvptx.c (write_one_arg): Deal with prologue
emission too. Change 'no_arg_types' to 'prototyped'.
(write_fn_proto):  Use write_one_arg for stdarg, static chain &
main.
(nvptx_declare_function_name): Use write_one_arg for prologue copies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231267 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.dg/graphite/id-28.c: Requires pthreads.
nathan [Fri, 4 Dec 2015 13:47:47 +0000 (13:47 +0000)] 
* gcc.dg/graphite/id-28.c: Requires pthreads.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231266 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-12-04 Richard Biener <rguenther@suse.de>
rguenth [Fri, 4 Dec 2015 12:32:26 +0000 (12:32 +0000)] 
2015-12-04  Richard Biener  <rguenther@suse.de>

* tree-ssa-sccvn.c (sccvn_dom_walker): Add unreachable_dom
member and initialize it.
(sccvn_dom_walker::after_dom_children): Reset unreachable_dom
if necessary.
(sccvn_dom_walker::before_dom_children): If unreachable_dom
is set BB is not reachable either.  Set unreachable_dom
if not set and BB is unreachable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231262 138bc75d-0d04-0410-961f-82ee72b054a4