gcc.git
8 years agoavr-protos.h (avr_addr_space_supported_p): New prototype.
Georg-Johann Lay [Wed, 20 Jul 2016 13:50:31 +0000 (13:50 +0000)]
avr-protos.h (avr_addr_space_supported_p): New prototype.

gcc/
* config/avr/avr-protos.h (avr_addr_space_supported_p): New prototype.
* config/avr/avr.c (TARGET_ADDR_SPACE_DIAGNOSE_USAGE): New hook
define...
(avr_addr_space_diagnose_usage): ...and implementation.
(avr_addr_space_supported_p): New function.
(avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Only
report bad address space usage if that space is supported.
(avr_insert_attributes): Same.  No more complain about unsupported
address spaces.
* config/avr/avr-c.c (tm_p.h): Include it.
(avr_cpu_cpp_builtins): Only define addr-space related built-in
macro if avr_addr_space_supported_p.

From-SVN: r238519

8 years agonvptx: do not implicitly enable -ftoplevel-reorder
Alexander Monakov [Wed, 20 Jul 2016 13:47:12 +0000 (16:47 +0300)]
nvptx: do not implicitly enable -ftoplevel-reorder

* config/nvptx/nvptx.c (nvptx_option_override): Do not set
flag_toplevel_reorder.

From-SVN: r238518

8 years agoC: convert return type of lookup_name_fuzzy from tree to const char *
David Malcolm [Wed, 20 Jul 2016 13:42:51 +0000 (13:42 +0000)]
C: convert return type of lookup_name_fuzzy from tree to const char *

gcc/c-family/ChangeLog:
* c-common.h (lookup_name_fuzzy): Convert return type from tree to
const char *.

gcc/c/ChangeLog:
* c-decl.c (implicit_decl_warning): Update for conversion of
return type of lookup_name_fuzzy to const char *.
(undeclared_variable): Likewise.
(lookup_name_fuzzy): Convert return type from tree to
const char *.
* c-parser.c (c_parser_declaration_or_fndef): Update for
conversion of return type of lookup_name_fuzzy to const char *.
(c_parser_parameter_declaration): Likewise.

gcc/ChangeLog:
* gcc-rich-location.c
(gcc_rich_location::add_fixit_misspelled_id): New overload, taking
a const char *.
* gcc-rich-location.h
(gcc_rich_location::add_fixit_misspelled_id): Likewise.

From-SVN: r238517

8 years agotarget.def (addr_space): Add new diagnose_usage to hook vector.
Georg-Johann Lay [Wed, 20 Jul 2016 13:07:43 +0000 (13:07 +0000)]
target.def (addr_space): Add new diagnose_usage to hook vector.

gcc/
* target.def (addr_space): Add new diagnose_usage to hook vector.
* targhooks.c (default_addr_space_diagnose_usage): Add default
implementation and...
* targhooks.h (default_addr_space_diagnose_usage): ... its prototype.
* c/c-parser.c (c_lex_one_token) [CPP_NAME]: If the token
is some address space, call targetm.addr_space.diagnose_usage.
* doc/tm.texi.in (Named Address Spaces): Add anchor for
TARGET_ADDR_SPACE_DIAGNOSE_USAGE documentation.
* doc/tm.texi: Regenerate.

From-SVN: r238514

8 years agoProperly handly PHI stmts in later_of_the_two (PR
Martin Liska [Wed, 20 Jul 2016 11:16:47 +0000 (13:16 +0200)]
Properly handly PHI stmts in later_of_the_two (PR

PR middle-end/71898
* graphite-isl-ast-to-gimple.c (later_of_the_two):
Properly handly PHI stmts.
* gfortran.dg/graphite/pr71898.f90: New test.

From-SVN: r238513

8 years agore PR tree-optimization/71503 (gcc ICE at -O3 on valid code on x86_64-linux-gnu in...
Bin Cheng [Wed, 20 Jul 2016 08:31:35 +0000 (08:31 +0000)]
re PR tree-optimization/71503 (gcc ICE at -O3 on valid code on x86_64-linux-gnu in "gen_phi_arg_condition")

PR tree-optimization/71503
PR tree-optimization/71683
* tree-if-conv.c (gen_phi_arg_condition): Record true predicate
and break.

gcc/testsuite
PR tree-optimization/71503
PR tree-optimization/71683
* gcc.dg/tree-ssa/ifc-pr71503.c: New test.
* gcc.dg/tree-ssa/ifc-pr71683.c: New test.

From-SVN: r238512

8 years agoconfigure.ac (nds32*-*-*): Remove entry to enable gdb.
Yan-Ting Lin [Wed, 20 Jul 2016 08:09:25 +0000 (08:09 +0000)]
configure.ac (nds32*-*-*): Remove entry to enable gdb.

    * configure.ac (nds32*-*-*): Remove entry to enable gdb.
    * configure: Regenerated.

From-SVN: r238511

8 years agoEnhance documentation of -fipa-ra option.
Martin Liska [Wed, 20 Jul 2016 07:02:09 +0000 (09:02 +0200)]
Enhance documentation of -fipa-ra option.

* doc/invoke.texi (-fipa-ra): Document when the option is
disabled. Fix a typo.

From-SVN: r238510

8 years agoAdd selftests for fibonacci_heap
Martin Liska [Wed, 20 Jul 2016 07:01:48 +0000 (09:01 +0200)]
Add selftests for fibonacci_heap

* Makefile.in: Include fibonacci_heap.c
* fibonacci_heap.c: New file.
* fibonacci_heap.h (fibonacci_heap::insert): Use insert_node.
(fibonacci_heap::union_with): Fix deletion of the second heap.
* selftest-run-tests.c (selftest::run_tests): Incorporate
fibonacci heap tests.
* selftest.h: Declare fibonacci_heap_c_tests.

From-SVN: r238509

8 years agoAdd sreal to selftests
Martin Liska [Wed, 20 Jul 2016 07:00:50 +0000 (09:00 +0200)]
Add sreal to selftests

* selftest-run-tests.c (selftest::run_tests): New function.
* selftest.h (sreal_c_tests): Declare.
* sreal.c (sreal_verify_basics): New function.
(verify_aritmetics): Likewise.
(sreal_verify_arithmetics): Likewise.
(verify_shifting): Likewise.
(sreal_verify_shifting): Likewise.
(void sreal_c_tests): Likewise.
* gcc.dg/plugin/plugin.exp: Remove sreal test.
* gcc.dg/plugin/sreal-test-1.c: Remove.
* gcc.dg/plugin/sreal_plugin.c: Remove.

From-SVN: r238508

8 years agoPR c++/67164 - clean up dead code
Jason Merrill [Wed, 20 Jul 2016 05:06:52 +0000 (01:06 -0400)]
PR c++/67164 - clean up dead code

* pt.c (iterative_hash_template_arg, template_args_equal): Don't
handle ARGUMENT_PACK_SELECT.

From-SVN: r238507

8 years agoDaily bump.
GCC Administrator [Wed, 20 Jul 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r238506

8 years agore PR fortran/71902 (Unneeded temporary on reallocatable character assignment)
Thomas Koenig [Tue, 19 Jul 2016 21:25:33 +0000 (21:25 +0000)]
re PR fortran/71902 (Unneeded temporary on reallocatable character assignment)

2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71902
* dependency.c (gfc_check_dependency): Use dep_ref.  Handle case
if identical is true and two array element references differ.
(gfc_dep_resovler):  Move most of the code to dep_ref.
(dep_ref):  New function.
* frontend-passes.c (realloc_string_callback):  Name temporary
variable "realloc_string".

2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71902
* gfortran.dg/dependency_47.f90:  New test.

From-SVN: r238497

8 years agore PR rtl-optimization/71916 (ICE at -O3 on valid code on x86_64-linux-gnu in "maybe_...
Jakub Jelinek [Tue, 19 Jul 2016 19:54:49 +0000 (21:54 +0200)]
re PR rtl-optimization/71916 (ICE at -O3 on valid code on x86_64-linux-gnu in "maybe_record_trace_start")

PR rtl-optimization/71916
* cfgrtl.c (contains_no_active_insn_p): Return false also for
bb which have a single succ fake edge.

* gcc.c-torture/compile/pr71916.c: New test.

From-SVN: r238490

8 years agore PR debug/71855 (duplicate unspecified_parameters DIE in DWARF for functions with...
Aldy Hernandez [Tue, 19 Jul 2016 19:29:42 +0000 (19:29 +0000)]
re PR debug/71855 (duplicate unspecified_parameters DIE in DWARF for functions with variable arguments)

PR debug/71855
* dwarf2out.c (gen_subprogram_die): Only call
gen_unspecified_parameters_die while dumping early dwarf.

From-SVN: r238488

8 years agore PR middle-end/71874 (memmove works wrong)
Jakub Jelinek [Tue, 19 Jul 2016 17:30:05 +0000 (19:30 +0200)]
re PR middle-end/71874 (memmove works wrong)

PR middle-end/71874
* gimple-fold.c (fold_builtin_memory_op): Use
get_addr_base_and_unit_offset instead of get_ref_base_and_extent.

* g++.dg/torture/pr71874.C: New test.

From-SVN: r238484

8 years agore PR middle-end/71734 (FAIL: libgomp.fortran/simd4.f90 -O3 -g execution test)
Jakub Jelinek [Tue, 19 Jul 2016 16:47:30 +0000 (18:47 +0200)]
re PR middle-end/71734 (FAIL: libgomp.fortran/simd4.f90   -O3 -g  execution test)

PR middle-end/71734
* g++.dg/vect/pr70729.cc: Don't include string.h or xmmintrin.h.
(my_alloc): Rewritten to use __builtin_posix_memalign and
__SIZE_TYPE__.
(my_free): Use __builtin_free instead of _mm_free.
(Vec::operator=): Use __builtin_memcpy.

From-SVN: r238482

8 years agobuiltins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1...
Uros Bizjak [Tue, 19 Jul 2016 16:40:55 +0000 (18:40 +0200)]
builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1...

* builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1,
HOST_WIDE_INT_M1 instead of (HOST_WIDE_INT) -1 and
HOST_WIDE_INT_M1U instead of (unsigned HOST_WIDE_INT) -1.
* combine.c: Ditto.
* cse.c: Ditto.
* dojump.c: Ditto.
* double-int.c: Ditto.
* dse.c: Ditto.
* dwarf2out.c: Ditto.
* expmed.c: Ditto.
* expr.c: Ditto.
* fold-const.c: Ditto.
* function.c: Ditto.
* fwprop.c: Ditto.
* genmodes.c: Ditto.
* hwint.c: Ditto.
* hwint.h: Ditto.
* ifcvt.c: Ditto.
* loop-doloop.c: Ditto.
* loop-invariant.c: Ditto.
* loop-iv.c: Ditto.
* match.pd: Ditto.
* optabs.c: Ditto.
* real.c: Ditto.
* reload.c: Ditto.
* rtlanal.c: Ditto.
* simplify-rtx.c: Ditto.
* stor-layout.c: Ditto.
* toplev.c: Ditto.
* tree-ssa-loop-ivopts.c: Ditto.
* tree-vect-generic.c: Ditto.
* tree-vect-patterns.c: Ditto.
* tree.c: Ditto.
* tree.h: Ditto.
* ubsan.c: Ditto.
* varasm.c: Ditto.
* wide-int-print.cc: Ditto.
* wide-int.cc: Ditto.
* wide-int.h: Ditto.

From-SVN: r238481

8 years agoselftest.c: gracefully handle NULL in assert_streq
David Malcolm [Tue, 19 Jul 2016 16:16:18 +0000 (16:16 +0000)]
selftest.c: gracefully handle NULL in assert_streq

gcc/ChangeLog:
* selftest.c (selftest::assert_streq): Handle NULL values of
val_actual and val_expected.

From-SVN: r238479

8 years agoconfig.host (m32r): Add m32r/t-m32r to tmake_file.
Nick Clifton [Tue, 19 Jul 2016 16:07:40 +0000 (16:07 +0000)]
config.host (m32r): Add m32r/t-m32r to tmake_file.

* config.host (m32r): Add m32r/t-m32r to tmake_file.
Add crtinit.o and crtfini.o to extra_parts.

From-SVN: r238478

8 years agore PR fortran/71688 (ICE in analyze, at cgraphunit.c:632 with -fcoarray=lib)
Martin Jambor [Tue, 19 Jul 2016 15:40:43 +0000 (17:40 +0200)]
re PR fortran/71688 (ICE in analyze, at cgraphunit.c:632 with -fcoarray=lib)

Fix PR fortran/71688

2016-07-19  Martin Jambor  <mjambor@suse.cz>

        PR fortran/71688
        * trans-decl.c (gfc_generate_function_code): Use cgraph_get_create_node
        rather than cgraph_create_node to get a call graph node.

testsuite/
        gfortran.dg/pr71688.f90: New test.

From-SVN: r238476

8 years agogimple-fold.c (get_base_constructor): Add VIEW_CONVERT case, handle all tcc_constant...
Richard Biener [Tue, 19 Jul 2016 14:16:54 +0000 (14:16 +0000)]
gimple-fold.c (get_base_constructor): Add VIEW_CONVERT case, handle all tcc_constant bases and valueize SSA names.

2016-07-19  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (get_base_constructor): Add VIEW_CONVERT case,
handle all tcc_constant bases and valueize SSA names.
* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Handle
tcc_constant bases.

* c-c++-common/vector-subscript-6.c: New testcase.
* c-c++-common/vector-subscript-7.c: Likewise.

From-SVN: r238475

8 years agoFix failing test for targets with sizeof(int) != 4.
Senthil Kumar Selvaraj [Tue, 19 Jul 2016 13:16:32 +0000 (13:16 +0000)]
Fix failing test for targets with sizeof(int) != 4.

gcc/testsuite/

2016-07-19  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.dg/params/blocksort-part.c: Conditionally define Int32
and UInt32 based on __SIZEOF_INT__.

From-SVN: r238471

8 years agoFix copy&paste bug in function-tests.c
David Malcolm [Tue, 19 Jul 2016 13:04:32 +0000 (13:04 +0000)]
Fix copy&paste bug in function-tests.c

gcc/ChangeLog:
* function-tests.c (selftest::verify_three_block_rtl_cfg): Verify
the flags of the exit block and bb2, not just the entry block.

From-SVN: r238470

8 years agoMAINTAINERS (Write After Approval): Add myself.
Fritz Reese [Tue, 19 Jul 2016 10:39:19 +0000 (10:39 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2016-07-19  Fritz Reese  <fritzoreese@gmail.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r238469

8 years agore PR tree-optimization/71901 (ice in find_or_generate_expression)
Richard Biener [Tue, 19 Jul 2016 10:19:46 +0000 (10:19 +0000)]
re PR tree-optimization/71901 (ice in find_or_generate_expression)

2016-07-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71901
* tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
align member, group stuff with the bitfield.
(vn_ref_op_align_unit): New inline.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): For ARRAY_REFs
record element alignment and operand 3 unchanged.
(ao_ref_init_from_vn_reference): Adjust.
(valueize_refs_1): Likewise.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.

* gcc.dg/torture/pr71901.c: New testcase.

From-SVN: r238468

8 years agore PR tree-optimization/71908 (ICE at -Os and above in both 32-bit and 64-bit modes...
Richard Biener [Tue, 19 Jul 2016 10:18:25 +0000 (10:18 +0000)]
re PR tree-optimization/71908 (ICE at -Os and above in both 32-bit and 64-bit modes on x86_64-linux-gnu (get_constraint_for_component_ref))

2016-07-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71908
* tree-ssa-structalias.c (get_constraint_for_component_ref): Handle
symbolic constants in a more reliable way.

* gcc.dg/torture/pr71908.c: New testcase.

From-SVN: r238467

8 years agotree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Update comment.
Ilya Enkovich [Tue, 19 Jul 2016 10:04:02 +0000 (10:04 +0000)]
tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Update comment.

gcc/

* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Update
comment.
(vect_update_inits_of_drs): Likewise.
(vect_create_cond_for_alias_checks): Likewise.
* tree-vect-loop.c (vect_get_known_peeling_cost): Likewise.

From-SVN: r238466

8 years agore PR middle-end/71907 (missing buffer overflow warnings with -flto)
Richard Biener [Tue, 19 Jul 2016 07:35:05 +0000 (07:35 +0000)]
re PR middle-end/71907 (missing buffer overflow warnings with -flto)

2016-07-19  Richard Biener  <rguenther@suse.de>

PR lto/71907
* lto-streamer-out.c (DFS::DFS_write_tree_body): For blocks
with an abstract origin that is not an inlined function outer
scope add a self-reference as abstract origin.
* tree-streamer-out.c (write_ts_block_tree_pointers): Likewise.

From-SVN: r238456

8 years agore PR target/71493 (accidental ABI change for structure return on PowerPC)
Michael Meissner [Tue, 19 Jul 2016 03:31:48 +0000 (03:31 +0000)]
re PR target/71493 (accidental ABI change for structure return on PowerPC)

[gcc]
2016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71493
* config/rs6000/rs6000.c (rs6000_function_value): Fix
unintentional System V.4 structure return breakage for structures
with a single floating point element.

[gcc/testsuite]
2016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71493
* gcc.target/powerpc/pr71493-1.c: New test.
* gcc.target/powerpc/pr71493-2.c: Likewise.

From-SVN: r238454

8 years agoDaily bump.
GCC Administrator [Tue, 19 Jul 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r238453

8 years agore PR c++/70869 (internal compiler error: Segmentation fault on array of pointer...
Jakub Jelinek [Mon, 18 Jul 2016 18:45:18 +0000 (20:45 +0200)]
re PR c++/70869 (internal compiler error: Segmentation fault on array of pointer to function members)

PR c++/70869
PR c++/71054
* cp-gimplify.c (cp_genericize_r): Revert the 2016-07-07 change.
* tree.c (cp_walk_subtrees): For DECL_EXPR on DECL_ARTIFICIAL
non-static VAR_DECL, walk the decl's DECL_INITIAL, DECL_SIZE and
DECL_SIZE_UNIT.

From-SVN: r238444

8 years agore PR c++/71835 (ICE on invalid C++ code with ambiguous overloaded operators: tree...
Jakub Jelinek [Mon, 18 Jul 2016 18:44:51 +0000 (20:44 +0200)]
re PR c++/71835 (ICE on invalid C++ code with ambiguous overloaded operators: tree check: expected tree that contains ‘decl minimal’ structure, have ‘pointer_type’ in convert_like_real, at cp/call.c:6549)

PR c++/71835
* call.c (build_op_call_1): Use convert_like_with_context only
if cand->fn is a decl.

* g++.dg/conversion/ambig3.C: New test.

From-SVN: r238443

8 years agore PR c++/71828 (ICE on valid C++11 code with constexpr __Complex int variable declar...
Jakub Jelinek [Mon, 18 Jul 2016 18:43:19 +0000 (20:43 +0200)]
re PR c++/71828 (ICE on valid C++11 code with constexpr __Complex int variable declaration: in operand_equal_p, at fold-const.c:2790)

PR c++/71828
* constexpr.c (cxx_eval_constant_expression) <case REALPART_EXPR>:
For lval don't use cxx_eval_unary_expression and instead recurse
and if needed rebuild the reference.

* g++.dg/cpp0x/constexpr-71828.C: New test.

From-SVN: r238442

8 years agore PR c++/71826 (ICE on valid C++ code with ambiguous member lookup: tree check:...
Jakub Jelinek [Mon, 18 Jul 2016 18:42:24 +0000 (20:42 +0200)]
re PR c++/71826 (ICE on valid C++ code with ambiguous member lookup: tree check: expected baselink, have error_mark in tsubst_baselink, at cp/pt.c:13737)

PR c++/71826
* pt.c (tsubst_baselink): Only set BASELINK_OPTYPE for BASELINK_P.

* g++.dg/template/pr71826.C: New test.

From-SVN: r238441

8 years agore PR c++/71822 (ICE: in gimplify_expr, at gimplify.c:11025)
Jakub Jelinek [Mon, 18 Jul 2016 18:40:12 +0000 (20:40 +0200)]
re PR c++/71822 (ICE: in gimplify_expr, at gimplify.c:11025)

PR c++/71822
* cp-gimplify.c (cp_gimplify_expr) <case VEC_INIT_EXPR>: Recursively
fold *expr_p before genericizing it.

* g++.dg/template/defarg21.C: New test.

From-SVN: r238440

8 years agore PR c++/71871 (ICE on mixing templates and vector extensions ternary operator)
Jakub Jelinek [Mon, 18 Jul 2016 17:44:48 +0000 (19:44 +0200)]
re PR c++/71871 (ICE on mixing templates and vector extensions ternary operator)

PR c++/71871
* typeck.c (build_x_conditional_expr): Revert the 2012-10-25 change.

* g++.dg/ext/vector31.C: New test.

From-SVN: r238439

8 years agopr70017.c: Do not check for warning on alpha*-*-*.
Uros Bizjak [Mon, 18 Jul 2016 15:55:36 +0000 (17:55 +0200)]
pr70017.c: Do not check for warning on alpha*-*-*.

* gcc.dg/pr70017.c: Do not check for warning on alpha*-*-*.

From-SVN: r238438

8 years agoDemangle C++17 fold-expressions.
Jason Merrill [Mon, 18 Jul 2016 15:28:51 +0000 (11:28 -0400)]
Demangle C++17 fold-expressions.

* cp-demangle.c (cplus_demangle_operators): Add f[lrLR].
(d_expression_1): Handle them.
(d_maybe_print_fold_expression): New.
(d_print_comp_inner): Use it.
(d_index_template_argument): Handle negative index.

From-SVN: r238437

8 years agoClean up optional's comments.
Ville Voutilainen [Mon, 18 Jul 2016 14:45:56 +0000 (17:45 +0300)]
Clean up optional's comments.

From-SVN: r238436

8 years agore PR middle-end/71734 (FAIL: libgomp.fortran/simd4.f90 -O3 -g execution test)
Yuri Rumyantsev [Mon, 18 Jul 2016 14:30:20 +0000 (14:30 +0000)]
re PR middle-end/71734 (FAIL: libgomp.fortran/simd4.f90   -O3 -g  execution test)

gcc/

2016-07-18  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/71734
* tree-ssa-loop-im.c (ref_indep_loop_p_1): Add REF_LOOP argument which
contains REF, use it to check safelen, assume that safelen value
must be greater 1, fix style.
(ref_indep_loop_p_2): Add REF_LOOP argument.
(ref_indep_loop_p): Pass LOOP as additional argument to
ref_indep_loop_p_2.

gcc/testsuite/

2016-07-18  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/71734
* g++.dg/vect/pr70729.cc: Delete redundant dg options, fix style.

From-SVN: r238435

8 years agoAllocate constant size dynamic stack space in the prologue
Dominik Vogt [Mon, 18 Jul 2016 13:10:27 +0000 (13:10 +0000)]
Allocate constant size dynamic stack space in the prologue

The attached patch fixes a warning during Linux kernel compilation
on S/390 due to -mwarn-dynamicstack and runtime alignment of stack
variables with constant size causing cfun->calls_alloca to be set
(even if alloca is not used at all).  The patched code places
constant size runtime aligned variables in the "virtual stack
vars" area instead of creating a "virtual stack dynamic" area.

This behaviour is activated by defining

  #define ALLOCATE_DYNAMIC_STACK_SPACE_IN_PROLOGUE 1

in the backend; otherwise the old logic is used.

The kernel uses runtime alignment for the page structure (aligned
to 16 bytes), and apart from triggereing the alloca warning
(-mwarn-dynamicstack), the current Gcc also generates inefficient
code like

  aghi %r15,-160  # prologue: create stack frame
    lgr %r11,%r15   # prologue: generate frame pointer
      aghi %r15,-32   # space for dynamic stack

which could be simplified to

  aghi %r15,-192

(if later optimization passes are able to get rid of the frame
pointer).  Is there a specific reason why the patched behaviour
shouldn't be used for all platforms?

--

As the placement of runtime aligned stack variables with constant
size is done completely in the middleend, I don't see a way to fix
this in the backend.

gcc/ChangeLog:

2016-07-18  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* cfgexpand.c (expand_stack_vars): Implement synamic stack space
allocation in the prologue.
* explow.c (get_dynamic_stack_base): New function to return an address
expression for the dynamic stack base.
(get_dynamic_stack_size): New function to do the required dynamic stack
space size calculations.
(allocate_dynamic_stack_space): Use new functions.
(align_dynamic_address): Move some code from
allocate_dynamic_stack_space to new function.
* explow.h (get_dynamic_stack_base, get_dynamic_stack_size): Export.

gcc/testsuite/ChangeLog:

2016-07-18  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/warn-dynamicstack-1.c: New test.
* gcc.dg/stack-usage-2.c (foo3): Adapt expected warning.
stack-layout-dynamic-1.c: New test.

From-SVN: r238432

8 years agoS/390: Fix alignment check for literal pool references.
Andreas Krebbel [Mon, 18 Jul 2016 10:47:09 +0000 (10:47 +0000)]
S/390: Fix alignment check for literal pool references.

gcc/ChangeLog:

2016-07-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.c (s390_encode_section_info): Always set
notaligned marker if mode size is 0 or no MEM_ALIGN info could be
found.

gcc/testsuite/ChangeLog:

2016-07-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/nolrl-1.c: New test.

From-SVN: r238427

8 years agore PR tree-optimization/71893 (gfortran.dg ICEs in gcc/tree-ssa-pre.c; -fcode-hoisting?)
Richard Biener [Mon, 18 Jul 2016 08:46:42 +0000 (08:46 +0000)]
re PR tree-optimization/71893 (gfortran.dg ICEs in gcc/tree-ssa-pre.c; -fcode-hoisting?)

2016-07-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71893
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Compensate
for sizetype cast added by array_ref_element_size.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.

From-SVN: r238426

8 years agoDaily bump.
GCC Administrator [Mon, 18 Jul 2016 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r238424

8 years agore PR fortran/71523 (Static variables given automatic initializers with -finit-*...
Fritz Reese [Sun, 17 Jul 2016 20:13:41 +0000 (20:13 +0000)]
re PR fortran/71523 (Static variables given automatic initializers with -finit-* and -fmax-stack-var-size)

2016-07-17  Fritz Reese  <fritzoreese@gmail.com>

PR fortran/71523
* trans-decl.c (gfc_finish_var_decl): Replace automatic initializer with
a static one.

* gfortran.dg/pr71523_1.f90: New test.
* gfortran.dg/pr71523_2.f90: New test.

From-SVN: r238420

8 years agoDaily bump.
GCC Administrator [Sun, 17 Jul 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r238419

8 years agopa.c (hppa_profile_hook): Allocate stack space for register parameters.
John David Anglin [Sat, 16 Jul 2016 15:59:33 +0000 (15:59 +0000)]
pa.c (hppa_profile_hook): Allocate stack space for register parameters.

* config/pa/pa.c (hppa_profile_hook): Allocate stack space for
register parameters.  Remove code to initialize argument pointer
on TARGET_64BIT.  Optimize call to _mcount when it can be reached
using a pc-relative branch.  Cleanup conditional code.
* config/pa/pa.md (call_mcount): New expander.
(call_mcount_nonpic): New insn.
(call_mcount_pic): New insn and split.
(call_mcount_pic_post_reload): New insn.
(call_mcount_64bit): New insn and split.
(call_mcount_64bit_post_reload): New insn.

From-SVN: r238414

8 years agonullptr35.C (caught): Fix typo.
Andreas Schwab [Sat, 16 Jul 2016 09:53:23 +0000 (09:53 +0000)]
nullptr35.C (caught): Fix typo.

* g++.dg/cpp0x/nullptr35.C (caught): Fix typo.

From-SVN: r238413

8 years agoDaily bump.
GCC Administrator [Sat, 16 Jul 2016 00:16:22 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r238409

8 years agoReplace references to C++0x with C++11 in comments
Jonathan Wakely [Fri, 15 Jul 2016 20:23:08 +0000 (21:23 +0100)]
Replace references to C++0x with C++11 in comments

* include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
* include/bits/move.h: Likewise.
* include/bits/postypes.h: Likewise.
* include/debug/bitset: Likewise.
* include/ext/pb_ds/detail/type_utils.hpp: Likewise.
* include/ext/string_conversions.h: Change C++0x to __cxx11 in
comment.
* testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
* testsuite/util/thread/all.h: Likewise.

From-SVN: r238402

8 years agore PR fortran/62125 (Nested select type not accepted (rejects valid))
Jerry DeLisle [Fri, 15 Jul 2016 19:58:55 +0000 (19:58 +0000)]
re PR fortran/62125 (Nested select type not accepted (rejects valid))

2016-07-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
    Marco Restelli <mrestelli@gmail.com>

PR fortran/62125
* symbol.c (select_type_insert_tmp): Recursively call self to take care
of nested select type.

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

Co-Authored-By: Marco Restelli <mrestelli@gmail.com>
From-SVN: r238400

8 years agoRemove redundant std::move in std::for_each
Jonathan Wakely [Fri, 15 Jul 2016 19:51:33 +0000 (20:51 +0100)]
Remove redundant std::move in std::for_each

* include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
and adjust comment.

From-SVN: r238399

8 years agodivkc3-1.c: Require p8vector support.
Bill Schmidt [Fri, 15 Jul 2016 18:57:06 +0000 (18:57 +0000)]
divkc3-1.c: Require p8vector support.

2016-07-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/divkc3-1.c: Require p8vector support.
* gcc.target/powerpc/mulkc3-1.c: Likewise.

From-SVN: r238398

8 years agoPR c++/71495 - spurious note during SFINAE.
Jason Merrill [Fri, 15 Jul 2016 18:56:29 +0000 (14:56 -0400)]
PR c++/71495 - spurious note during SFINAE.

* call.c (convert_like_real): Mask complain.
* semantics.c (perform_koenig_lookup): Likewise.

From-SVN: r238397

8 years agoc++/58796 Make nullptr match exception handlers of pointer type
Jonathan Wakely [Fri, 15 Jul 2016 18:51:51 +0000 (19:51 +0100)]
c++/58796 Make nullptr match exception handlers of pointer type

libstdc++-v3:

PR c++/58796
* libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
nullptr match handlers of pointer type.

gcc/testsuite:

PR c++/58796
* g++.dg/cpp0x/nullptr21.C: Remove void* handlers.
* g++.dg/cpp0x/nullptr35.C: New test.

From-SVN: r238396

8 years agoPR c++/71092 - ICE with array and constexpr.
Jason Merrill [Fri, 15 Jul 2016 18:49:38 +0000 (14:49 -0400)]
PR c++/71092 - ICE with array and constexpr.

* constexpr.c (cxx_eval_call_expression): Fail quietly when cgraph
threw away DECL_SAVED_TREE.

From-SVN: r238395

8 years agoPR c++/71117 - core 2189 and generic lambda
Jason Merrill [Fri, 15 Jul 2016 18:49:25 +0000 (14:49 -0400)]
PR c++/71117 - core 2189 and generic lambda

* call.c (add_template_conv_candidate): Disable if there are
viable candidates.

From-SVN: r238394

8 years agoPR c++/71511 - ICE on decltype scope in declaration.
Jason Merrill [Fri, 15 Jul 2016 18:38:48 +0000 (14:38 -0400)]
PR c++/71511 - ICE on decltype scope in declaration.

* typeck2.c (cxx_incomplete_type_diagnostic): Handle DECLTYPE_TYPE.

From-SVN: r238393

8 years agoPR c++/71513 - alignas on member enum in template
Jason Merrill [Fri, 15 Jul 2016 18:38:40 +0000 (14:38 -0400)]
PR c++/71513 - alignas on member enum in template

* pt.c (tsubst_attributes): Fix loop logic.

From-SVN: r238392

8 years agoPR c++/71604 - type definition in range-based for
Jason Merrill [Fri, 15 Jul 2016 18:38:31 +0000 (14:38 -0400)]
PR c++/71604 - type definition in range-based for

PR c++/54430
* parser.c (cp_parser_range_for): Modify IDENTIFIER_BINDING directly.
(cp_parser_simple_declaration): Diagnose type definition in
for-range-declaration.

From-SVN: r238391

8 years agoPR c++/71711 - mangle C++1z fold-expressions.
Jason Merrill [Fri, 15 Jul 2016 18:38:23 +0000 (14:38 -0400)]
PR c++/71711 - mangle C++1z fold-expressions.

* operators.def: Add *_FOLD_EXPR.
* cp-tree.h (FOLD_EXPR_P): Parenthesize.
* mangle.c (write_expression): Handle fold-expressions.
* pt.c (tsubst_unary_left_fold, tsubst_binary_left_fold)
(tsubst_unary_right_fold, tsubst_binary_right_fold): Handle
partial instantiation.

From-SVN: r238390

8 years agoPR c++/71814 - mangling sizeof... (sP and sZ)
Jason Merrill [Fri, 15 Jul 2016 18:38:15 +0000 (14:38 -0400)]
PR c++/71814 - mangling sizeof... (sP and sZ)

gcc/cp/
* mangle.c (write_expression): Handle sizeof... an argument pack.
libiberty/
* cp-demangle.c (cplus_demangle_operators): Add sP and sZ.
(d_print_comp_inner): Handle them.
(d_template_args_1): Split out from d_template_args.
(d_args_length): New.

From-SVN: r238389

8 years agoUpdate -fabi-version default to 11.
Jason Merrill [Fri, 15 Jul 2016 18:38:05 +0000 (14:38 -0400)]
Update -fabi-version default to 11.

* c-opts.c (c_common_post_options): Update -fabi-version default to 11.

From-SVN: r238388

8 years agoPR c++/71718 - infinite recursion and alias template
Jason Merrill [Fri, 15 Jul 2016 18:37:56 +0000 (14:37 -0400)]
PR c++/71718 - infinite recursion and alias template

* pt.c (push_tinst_level_loc): Set at_eof before fatal_error.

From-SVN: r238387

8 years agoPR c++/70824 - initializer_list in template
Jason Merrill [Fri, 15 Jul 2016 18:37:48 +0000 (14:37 -0400)]
PR c++/70824 - initializer_list in template

* init.c (constant_value_1): Don't instantiated DECL_INITIAL of
artificial variables.

From-SVN: r238386

8 years agoImplement C++17 P0025 clamp.
Edward Smith-Rowland [Fri, 15 Jul 2016 17:16:32 +0000 (17:16 +0000)]
Implement C++17 P0025 clamp.

2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement C++17 P0025 clamp.
* include/bits/algorithmfwd.h: Declare clamp overloads.
* include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
* testsuite/25_algorithms/clamp/1.cc: New test.
* testsuite/25_algorithms/clamp/2.cc: New test.
* testsuite/25_algorithms/clamp/constexpr.cc: New test.
* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1.cc: New test.
* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
pod.cc: New test.

From-SVN: r238383

8 years agoTypo.
Georg-Johann Lay [Fri, 15 Jul 2016 16:28:17 +0000 (16:28 +0000)]
Typo.

From-SVN: r238382

8 years agopredicates.md (const_m255_to_m1_operand): New.
Georg-Johann Lay [Fri, 15 Jul 2016 16:25:38 +0000 (16:25 +0000)]
predicates.md (const_m255_to_m1_operand): New.

* config/avr/predicates.md (const_m255_to_m1_operand): New.
* config/avr/constraints.md (Cn8, Ca1, Co1, Yx2): New constraints.
* config/avr/avr.md (add<mode>3) <ALL1>: Make "r,0,r" more
expensive.
(*cmphi.zero-extend.0, *cmphi.zero-extend.1)
(*usum_widenqihi3, *udiff_widenqihi3)
(*addhi3_zero_extend.const): New combiner insns.
(andqi3, iorqi3): Provide "l" (NO_LD_REGS) alternative if
just 1 bit is affected.
* config/avr/avr.c (avr_out_bitop) <QImode>: Don't access xop[3].
(avr_out_compare) [EQ,NE]: Tweak comparing d-regs against -1.

From-SVN: r238381

8 years agoFix up ChangeLog entry.
Jakub Jelinek [Fri, 15 Jul 2016 15:28:26 +0000 (17:28 +0200)]
Fix up ChangeLog entry.

From-SVN: r238378

8 years agoscev-8.c: Update test string.
Bin Cheng [Fri, 15 Jul 2016 14:21:55 +0000 (14:21 +0000)]
scev-8.c: Update test string.

gcc/testsuite
* gcc.dg/tree-ssa/scev-8.c: Update test string.

From-SVN: r238377

8 years agoc-parser.c (c_parser_oacc_declare): Don't scan for GOMP_MAP_POINTER.
Cesar Philippidis [Fri, 15 Jul 2016 14:13:48 +0000 (07:13 -0700)]
c-parser.c (c_parser_oacc_declare): Don't scan for GOMP_MAP_POINTER.

gcc/c/
* c-parser.c (c_parser_oacc_declare): Don't scan for
GOMP_MAP_POINTER.
* c-typeck.c (handle_omp_array_sections): Mark data clauses with
GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
zero-length subarrays.

gcc/cp/
* parser.c (cp_parser_oacc_declare): Don't scan for
GOMP_MAP_POINTER.
* semantics.c (handle_omp_array_sections): Mark data clauses with
GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
zero-length subarrays.

gcc/
* omp-low.c (lower_omp_target): Mark data clauses with
GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
zero-length subarrays.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
test.

From-SVN: r238376

8 years agoopenmp.c (gfc_match_omp_clauses): Scan for clause vector_length before vector.
Cesar Philippidis [Fri, 15 Jul 2016 14:03:35 +0000 (07:03 -0700)]
openmp.c (gfc_match_omp_clauses): Scan for clause vector_length before vector.

gcc/fortran/
* openmp.c (gfc_match_omp_clauses): Scan for clause vector_length
before vector.

gcc/testsuite/
* gfortran.dg/goacc/vector_length.f90: New test.

From-SVN: r238375

8 years agore PR tree-optimization/71881 (ICE on valid code at -O3 with -g enabled on x86_64...
Richard Biener [Fri, 15 Jul 2016 13:05:56 +0000 (13:05 +0000)]
re PR tree-optimization/71881 (ICE on valid code at -O3 with -g enabled on x86_64-linux-gnu: cannot update SSA form)

2016-07-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71881
* tree-loop-distribution.c (destroy_loop): Remove blocks in
reverse DOM order to make debug temp generation happy.

* gcc.dg/torture/pr71881.c: New testcase.

From-SVN: r238374

8 years agore PR tree-optimization/71887 (wrong code (SIGFPE) at -O1 and above on x86_64-linux...
Richard Biener [Fri, 15 Jul 2016 12:56:17 +0000 (12:56 +0000)]
re PR tree-optimization/71887 (wrong code (SIGFPE) at -O1 and above on x86_64-linux-gnu (in both 32-bit and 64-bit modes))

2016-07-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71887
* tree-ssa-phiopt.c (absorbing_element_p): Add rhs arg and
verify it is not zero for division / modulo handling.
(value_replacement): Adjust.

* gcc.dg/torture/pr71887.c: New testcase.

From-SVN: r238373

8 years ago[PATCH/AARCH64] Add rtx_costs routine for vulcan.
Virendra Pathak [Fri, 15 Jul 2016 11:17:53 +0000 (11:17 +0000)]
[PATCH/AARCH64] Add rtx_costs routine for vulcan.

gcc/ChangeLog:

2016-07-15  Virendra Pathak  <virendra.pathak@broadcom.com>
    Julian Brown  <julian@codesourcery.com>

* config/aarch64/aarch64-cores.def: Update vulcan COSTS.
* config/aarch64/aarch64-cost-tables.h
(vulcan_extra_costs): New variable.
* config/aarch64/aarch64.c
(vulcan_addrcost_table): Likewise.
(vulcan_regmove_cost): Likewise.
(vulcan_vector_cost): Likewise.
(vulcan_branch_cost): Likewise.
(vulcan_tunings): Likewise.

Co-Authored-By: Julian Brown <julian@codesourcery.com>
From-SVN: r238372

8 years agohandle undefined extern vars in output_in_order
Alexander Monakov [Fri, 15 Jul 2016 11:01:23 +0000 (14:01 +0300)]
handle undefined extern vars in output_in_order

* cgraphunit.c (cgraph_order_sort_kind): New entry ORDER_VAR_UNDEF.
(output_in_order): Loop over undefined variables too.  Output them
via assemble_undefined_decl.  Skip variables that correspond to hard
registers or have value-exprs.
* varpool.c (symbol_table::output_variables): Handle undefined
variables together with defined ones.

From-SVN: r238371

8 years agotree-ssa-pre.c (get_representative_for): Make sure to return the value number of...
Richard Biener [Fri, 15 Jul 2016 10:53:29 +0000 (10:53 +0000)]
tree-ssa-pre.c (get_representative_for): Make sure to return the value number of SSA names.

2016-07-15  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (get_representative_for): Make sure to return
the value number of SSA names.
(phi_translate_1): get_representative_for cannot return NULL.
(do_pre_regular_insertion): Remove redundant call to
fully_constant_expression.
(do_pre_partial_partial_insertion): Likewise.

From-SVN: r238370

8 years agore PR c/71858 (Surprising suggestions for misspellings)
Jakub Jelinek [Fri, 15 Jul 2016 10:40:39 +0000 (12:40 +0200)]
re PR c/71858 (Surprising suggestions for misspellings)

PR c/71858
* c-common.h (enum lookup_name_fuzzy_kind): Add
FUZZY_LOOKUP_FUNCTION_NAME.

* c-decl.c (implicit_decl_warning): Use FUZZY_LOOKUP_FUNCTION_NAME
instead of FUZZY_LOOKUP_NAME.
(lookup_name_fuzzy): For FUZZY_LOOKUP_FUNCTION_NAME consider
FUNCTION_DECLs, {VAR,PARM}_DECLs function pointers and macros.

* gcc.dg/spellcheck-identifiers-3.c: New test.

From-SVN: r238369

8 years agore PR fortran/71807 (Internal compiler error with NULL() reference in structure const...
Andre Vehreschild [Fri, 15 Jul 2016 09:28:47 +0000 (11:28 +0200)]
re PR fortran/71807 (Internal compiler error with NULL() reference in structure constructor)

gcc/fortran/ChangeLog:

2016-07-15  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/71807
* trans-expr.c (gfc_trans_subcomponent_assign): Special casing
when allocatable component is set to null() in initializer.

gcc/testsuite/ChangeLog:

2016-07-15  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/71807
* gfortran.dg/null_9.f90: New test.

From-SVN: r238368

8 years agotree-scalar-evolution.c (simple_iv_with_niters): New funcion.
Bin Cheng [Fri, 15 Jul 2016 09:04:57 +0000 (09:04 +0000)]
tree-scalar-evolution.c (simple_iv_with_niters): New funcion.

* tree-scalar-evolution.c (simple_iv_with_niters): New funcion.
(derive_simple_iv_with_niters): New function.
(simple_iv): Rewrite using simple_iv_with_niters.
* tree-scalar-evolution.h (simple_iv_with_niters): New decl.
* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
function.
(number_of_iterations_exit): Rewrite using above function.
* tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
Decl.

gcc/testsuite
* gcc.dg/tree-ssa/loop-41.c: New test.

From-SVN: r238367

8 years agore PR tree-optimization/71347 (Performance drop after r235513 on x86-64 in 32-bit...
Bin Cheng [Fri, 15 Jul 2016 08:53:48 +0000 (08:53 +0000)]
re PR tree-optimization/71347 (Performance drop after r235513 on x86-64 in 32-bit mode.)

gcc/testsuite
PR tree-optimization/71347
* gcc.dg/tree-ssa/pr71347.c: XFAIL on ia64, arm, m68k and sparc.

From-SVN: r238366

8 years agoFix the constraints for any's assignment operator template to properly
Ville Voutilainen [Fri, 15 Jul 2016 07:44:22 +0000 (10:44 +0300)]
Fix the constraints for any's assignment operator template to properly
reject assignment from a non-copyable lvalue.

From-SVN: r238365

8 years agoi386.c (ix86_builtin_vectorization_cost): Adjust vec_construct cost.
Richard Biener [Fri, 15 Jul 2016 07:38:01 +0000 (07:38 +0000)]
i386.c (ix86_builtin_vectorization_cost): Adjust vec_construct cost.

2016-07-15  Richard Biener  <rguenther@suse.de>

* config/i386/i386.c (ix86_builtin_vectorization_cost): Adjust
vec_construct cost.

From-SVN: r238364

8 years agoDaily bump.
GCC Administrator [Fri, 15 Jul 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r238362

8 years agore PR fortran/29819 (Error/warning message should ignore comments for "1" in %C output)
Steven G. Kargl [Thu, 14 Jul 2016 20:54:40 +0000 (20:54 +0000)]
re PR fortran/29819 (Error/warning message should ignore comments for "1" in %C output)

2016-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/29819
* parse.c (parse_contained): Use proper locus.

2016-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/29819
* gfortran.dg/bind_c_usage_9.f03: Move dg-error.
* gfortran.dg/contains.f90: Ditto.
* gfortran.dg/contains_empty_1.f03: Ditto.
* gfortran.dg/submodule_3.f08: Ditto.

From-SVN: r238354

8 years agore PR testsuite/71865 (test case gcc.dg/diagnostic-token-ranges.c fails starting...
Jakub Jelinek [Thu, 14 Jul 2016 18:42:53 +0000 (20:42 +0200)]
re PR testsuite/71865 (test case gcc.dg/diagnostic-token-ranges.c fails starting with r237714)

PR testsuite/71865
* gcc.dg/diagnostic-token-ranges.c: Add -std=c11 to dg-options.
(wide_string_literal_in_asm): Use __asm instead of asm, adjust
expected diagnostics.

From-SVN: r238353

8 years agore PR c/71858 (Surprising suggestions for misspellings)
Jakub Jelinek [Thu, 14 Jul 2016 18:34:00 +0000 (20:34 +0200)]
re PR c/71858 (Surprising suggestions for misspellings)

PR c/71858
* c-decl.c (lookup_name_fuzzy): Ignore binding->invisible.

* gcc.dg/spellcheck-identifiers.c (snprintf): Declare.
* gcc.dg/spellcheck-identifiers-2.c: New test.
* gcc.dg/diagnostic-token-ranges.c (nanl): Declare.
* c-c++-common/attributes-1.c: Adjust dg-prune-output.

From-SVN: r238352

8 years agore PR tree-optimization/71872 (ICE in inchash::add_expr, at tree.c:7782 - OEP_ADDRESS...
Jakub Jelinek [Thu, 14 Jul 2016 18:30:38 +0000 (20:30 +0200)]
re PR tree-optimization/71872 (ICE in inchash::add_expr, at tree.c:7782 - OEP_ADDRESS_OF asserted for ADDR_EXPR applied to constant)

PR tree-optimization/71872
* tree-data-ref.c (get_references_in_stmt): Ignore references
with is_gimple_constant get_base_address.

* gcc.c-torture/compile/pr71872.c: New test.

From-SVN: r238351

8 years agoarm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline.
Thomas Preud'homme [Thu, 14 Jul 2016 17:21:21 +0000 (17:21 +0000)]
arm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline.

2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline.
    (TARGET_HAVE_LDACQD): New macro.
    * config/arm/sync.md (atomic_loaddi): Use TARGET_HAVE_LDACQD rather
    than TARGET_HAVE_LDACQ.
    (arm_load_acquire_exclusivedi): Likewise.
    (arm_store_release_exclusivedi): Likewise.

    libgcc/
    * gcc.target/arm/atomic-comp-swap-release-acquire.c: Rename into ...
    * gcc.target/arm/atomic-comp-swap-release-acquire-1.c: This.
    * gcc.target/arm/atomic-op-acq_rel.c: Rename into ...
    * gcc.target/arm/atomic-op-acq_rel-1.c: This.
    * gcc.target/arm/atomic-op-acquire.c: Rename into ...
    * gcc.target/arm/atomic-op-acquire-1.c: This.
    * gcc.target/arm/atomic-op-char.c: Rename into ...
    * gcc.target/arm/atomic-op-char-1.c: This.
    * gcc.target/arm/atomic-op-consume.c: Rename into ...
    * gcc.target/arm/atomic-op-consume-1.c: This.
    * gcc.target/arm/atomic-op-int.c: Rename into ...
    * gcc.target/arm/atomic-op-int-1.c: This.
    * gcc.target/arm/atomic-op-relaxed.c: Rename into ...
    * gcc.target/arm/atomic-op-relaxed-1.c: This.
    * gcc.target/arm/atomic-op-release.c: Rename into ...
    * gcc.target/arm/atomic-op-release-1.c: This.
    * gcc.target/arm/atomic-op-seq_cst.c: Rename into ...
    * gcc.target/arm/atomic-op-seq_cst-1.c: This.
    * gcc.target/arm/atomic-op-short.c: Rename into ...
    * gcc.target/arm/atomic-op-short-1.c: This.
    * gcc.target/arm/atomic-comp-swap-release-acquire-2.c: New test.
    * gcc.target/arm/atomic-op-acq_rel-2.c: Likewise.
    * gcc.target/arm/atomic-op-acquire-2.c: Likewise.
    * gcc.target/arm/atomic-op-char-2.c: Likewise.
    * gcc.target/arm/atomic-op-consume-2.c: Likewise.
    * gcc.target/arm/atomic-op-int-2.c: Likewise.
    * gcc.target/arm/atomic-op-relaxed-2.c: Likewise.
    * gcc.target/arm/atomic-op-release-2.c: Likewise.
    * gcc.target/arm/atomic-op-seq_cst-2.c: Likewise.
    * gcc.target/arm/atomic-op-short-2.c: Likewise.

From-SVN: r238348

8 years agore PR fortran/70842 (internal compiler error with character members within a polymorp...
Andre Vehreschild [Thu, 14 Jul 2016 17:07:47 +0000 (19:07 +0200)]
re PR fortran/70842 (internal compiler error with character members within a polymorphic pointer)

gcc/testsuite/ChangeLog:

2016-07-14  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/70842
* gfortran.dg/select_type_35.f03: New test.

gcc/fortran/ChangeLog:

2016-07-14  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/70842
* simplify.c (gfc_simplify_len): Only for unlimited polymorphic
types replace the expression's _data ref with a _len ref.

From-SVN: r238347

8 years agore PR rtl-optimization/71878 (ICE in cselib_record_set)
Thomas Preud'homme [Thu, 14 Jul 2016 16:41:06 +0000 (16:41 +0000)]
re PR rtl-optimization/71878 (ICE in cselib_record_set)

2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR rtl-optimization/71878
    * lra-constraints.c (match_reload): Pass information about other
    output operands.  Create new unique register value if matching input
    operand shares same register value as output operand being considered.
    (curr_insn_transform): Record output operands already processed.

From-SVN: r238346

8 years agoInclude header for std::__parallel::search
Jonathan Wakely [Thu, 14 Jul 2016 15:43:17 +0000 (16:43 +0100)]
Include header for std::__parallel::search

* include/experimental/functional: Include <parallel/algorithm> in
Parallel Mode.

From-SVN: r238342

8 years agoAdd header for std::search to testcase
Jonathan Wakely [Thu, 14 Jul 2016 15:27:09 +0000 (16:27 +0100)]
Add header for std::search to testcase

* testsuite/experimental/functional/searchers.cc: Include <algorithm>
for std::search.

From-SVN: r238341

8 years ago[vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant
Kyrylo Tkachov [Thu, 14 Jul 2016 14:32:39 +0000 (14:32 +0000)]
[vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant

PR target/65951
PR tree-optimization/70923
* tree-vect-patterns.c: Include mult-synthesis.h.
(target_supports_mult_synth_alg): New function.
(synth_lshift_by_additions): Likewise.
(apply_binop_and_append_stmt): Likewise.
(vect_synth_mult_by_constant): Likewise.
(target_has_vecop_for_code): Likewise.
(vect_recog_mult_pattern): Use above functions to synthesize vector
multiplication by integer constants.

* gcc.dg/vect/vect-mult-const-pattern-1.c: New test.
* gcc.dg/vect/vect-mult-const-pattern-2.c: Likewise.
* gcc.dg/vect/pr65951.c: Likewise.
* gcc.dg/vect/vect-iv-9.c: Remove ! vect_int_mult-specific scan.

From-SVN: r238340

8 years ago[RS6000] Disparage altivec_mov gpr alternatives
Alan Modra [Thu, 14 Jul 2016 14:25:47 +0000 (23:55 +0930)]
[RS6000] Disparage altivec_mov gpr alternatives

and fix constraint '*' placement.

* gcc/config/rs6000/altivec.md (altivec_mov<mode>): Disparage
gpr alternatives.  Correct '*' placement on Y,r alternative.
Add '*' on operand 1 of r,r alternative.

From-SVN: r238339

8 years ago[1/2] Move choose_mult_variant declaration and dependent declarations to expmed.h
Kyrylo Tkachov [Thu, 14 Jul 2016 13:57:05 +0000 (13:57 +0000)]
[1/2] Move choose_mult_variant declaration and dependent declarations to expmed.h

* expmed.c (mult_variant, choose_mult_variant): Move declaration to...
* expmed.h: ... Here.

From-SVN: r238337

8 years agogimple.h (stmt_can_terminate_bb_p): New function.
Jan Hubicka [Thu, 14 Jul 2016 13:52:21 +0000 (15:52 +0200)]
gimple.h (stmt_can_terminate_bb_p): New function.

* gimple.h (stmt_can_terminate_bb_p): New function.
* tree-cfg.c (need_fake_edge_p): Rename to ...
(stmt_can_terminate_bb_p): ... this; return true if stmt can
throw external; handle const and pure calls.
* tree-ssa-loop-niter.c (loop_only_exit_p): Use it.

From-SVN: r238336

8 years agopr60226.c: Expect maximum object file alignment error on AIX.
David Edelsohn [Thu, 14 Jul 2016 13:07:23 +0000 (13:07 +0000)]
pr60226.c: Expect maximum object file alignment error on AIX.

        * c-c++-common/pr60226.c: Expect maximum object file alignment
        error on AIX.

From-SVN: r238335

8 years agore PR tree-optimization/71866 (gcc locks up after fix for PR70159)
Richard Biener [Thu, 14 Jul 2016 12:15:38 +0000 (12:15 +0000)]
re PR tree-optimization/71866 (gcc locks up after fix for PR70159)

2016-07-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71866
* tree-ssa-pre.c (get_constant_for_value_id): Remove.
(do_hoist_insertion): Avoid endless recursion when we
didn't insert anything because we managed to simplify
things down to a constant or SSA name.
(fully_constant_expression): Re-write in terms of ...
* tree-ssa-sccvn.h (vn_nary_simplify): ... this.  Declare.
* tree-ssa-sccvn.c (vn_nary_simplify): New wrapper around
vn_nary_build_or_lookup_1.
(vn_nary_build_or_lookup_1): Added flag and renamed from ...
(vn_nary_build_or_lookup): ... this which now wraps it.

* gcc.dg/torture/pr71866.c: New testcase.

From-SVN: r238334