Jonathan Wakely [Wed, 20 Jul 2016 18:21:59 +0000 (19:21 +0100)]
LWG 2441 Provide exact-width atomic typedefs
* include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
(atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
(atomic_uint64_t): Define (LWG 2441).
* testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
lines.
* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
the new types.
* doc/xml/manual/intro.xml: Document DR 2441 status.
From-SVN: r238534
Jonathan Wakely [Wed, 20 Jul 2016 18:21:53 +0000 (19:21 +0100)]
LWG 2328 Rvalue stream extraction should use perfect forwarding
* include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
to use perfect forwarding (LWG 2328).
* testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
* doc/xml/manual/intro.xml: Document DR 2328 status.
From-SVN: r238533
Jonathan Wakely [Wed, 20 Jul 2016 18:21:48 +0000 (19:21 +0100)]
Use static pointer to member when catching nullptr
libstdc++-v3:
* libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
static objects for catching nullptr as pointer to member types.
gcc/testsuite:
* g++.dg/cpp0x/nullptr35.C: Change expected result for catching as
pointer to member function and also test catching by reference.
From-SVN: r238532
Dominik Vogt [Wed, 20 Jul 2016 17:11:37 +0000 (17:11 +0000)]
S/390: Fix pr67443.c.
The attached patch rewrites the pr67443.c testcase in a different way
so that the test still works with the changed allocation of globals
pinned to registers. The test ist hopefully more robust now.
gcc/testsuite/ChangeLog:
2016-07-20 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/pr67443.c: Fix test case.
From-SVN: r238531
Dominik Vogt [Wed, 20 Jul 2016 17:09:03 +0000 (17:09 +0000)]
S/390: Xfail some tests in insv-[12].c.
The attached patch XFAILs some of the "insv" testcases as
discussed internally. Tested on s390x biarch and s390.
gcc/testsuite/ChangeLog:
2016-07-20 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/insv-1.c: Xfail some tests.
* gcc.target/s390/insv-2.c: Likewise.
From-SVN: r238530
Uros Bizjak [Wed, 20 Jul 2016 15:47:33 +0000 (17:47 +0200)]
cse.c: Use HOST_WIDE_INT_M1 instead of ~(HOST_WIDE_INT) 0.
* cse.c: Use HOST_WIDE_INT_M1 instead of ~(HOST_WIDE_INT) 0.
* combine.c: Use HOST_WIDE_INT_M1U instead of
~(unsigned HOST_WIDE_INT) 0.
* double-int.h: Ditto.
* dse.c: Ditto.
* dwarf2asm.c:Ditto.
* expmed.c: Ditto.
* genmodes.c: Ditto.
* match.pd: Ditto.
* read-rtl.c: Ditto.
* tree-ssa-loop-ivopts.c: Ditto.
* tree-ssa-loop-prefetch.c: Ditto.
* tree-vect-generic.c: Ditto.
* tree-vect-patterns.c: Ditto.
* tree.c: Ditto.
From-SVN: r238529
Georg-Johann Lay [Wed, 20 Jul 2016 14:46:57 +0000 (14:46 +0000)]
avr.c (avr_legitimize_address): Force constant addresses outside [0,0xc0] into a register.
gcc/
* gcc/config/avr.c (avr_legitimize_address) [AVR_TINY]: Force
constant addresses outside [0,0xc0] into a register.
(avr_out_movhi_r_mr_reg_no_disp_tiny): Pass insn. And handle
cases where the base address register is unused after.
(avr_out_movhi_r_mr_reg_disp_tiny): Same.
(avr_out_movhi_mr_r_reg_disp_tiny): Same.
(avr_out_store_psi_reg_disp_tiny): Same.
gcc/testsuite/
* gcc.target/avr/torture/get-mem.c: New test.
* gcc.target/avr/torture/set-mem.c: New test.
From-SVN: r238528
Georg-Johann Lay [Wed, 20 Jul 2016 14:12:16 +0000 (14:12 +0000)]
Implement attribute progmem on reduced Tiny cores by adding flash offset 0x4000 to respective symbols.
gcc/
Implement attribute progmem on reduced Tiny cores by adding
flash offset 0x4000 to respective symbols.
PR target/71948
* doc/extend.texi (AVR Variable Attributes) [progmem]: Add
documentation how it works on reduced Tiny cores.
(AVR Named Address Spaces): No support for reduced Tiny.
* config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_PM): New macro.
(avr_address_tiny_pm_p): New static function.
(avr_print_operand_address) [AVR_TINY]: Add AVR_TINY_PM_OFFSET
if the address is in progmem.
(avr_assemble_integer): Same.
(avr_encode_section_info) [AVR_TINY]: Set AVR_SYMBOL_FLAG_TINY_PM
for symbol_ref in progmem.
* config/avr/avr.h (AVR_TINY_PM_OFFSET): New macro.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it instead of
magic 0x4000 when built-in def'ing __AVR_TINY_PM_BASE_ADDRESS__.
gcc/testsuite/
PR target/71948
* gcc.target/avr/torture/tiny-progmem.c: New test.
From-SVN: r238525
Patrick Palka [Wed, 20 Jul 2016 14:09:20 +0000 (14:09 +0000)]
Build libbackend.a as a thin archive if possible
gcc/ChangeLog:
* configure.ac (thin_archive_support): New variable. AC_SUBST it.
* configure: Regenerate.
* Makefile.in (THIN_ARCHIVE_SUPPORT): New variable.
(USE_THIN_ARCHIVES): New variable.
(libbackend.a): If USE_THIN_ARCHIVES then pass T to ar to build
this archive as a thin archive.
From-SVN: r238524
David Malcolm [Wed, 20 Jul 2016 14:03:03 +0000 (14:03 +0000)]
Enabling work for C++ handling of misspelled identifiers and typenames
gcc/c/ChangeLog:
* c-decl.c (struct edit_distance_traits<cpp_hashnode *>): Move to
spellcheck-tree.h
(best_macro_match): Likewise, converting from a typedef to a
subclass.
(find_closest_macro_cpp_cb): Move to spellcheck-tree.c.
(lookup_name_fuzzy): Update for change of best_macro_match to a
subclass with a ctor that calls cpp_forall_identifiers.
gcc/ChangeLog:
* diagnostic-show-locus.c (diagnostic_show_locus): If this is the
same location as last time, don't skip if we have fix-it hints.
Clarify the skipping logic by converting it from one "if" clause
to repeated "if" clauses.
* spellcheck-tree.c: Include "cpplib.h".
(find_closest_macro_cpp_cb): Move here from c/c-decl.c.
(best_macro_match::best_macro_match): New constructor.
* spellcheck-tree.h (struct edit_distance_traits<cpp_hashnode *>):
Move here from c/c-decl.c.
(class best_macro_match): Move here from c/c-decl.c, converting
from a typedef to a subclass, gaining a ctor.
From-SVN: r238522
Jakub Jelinek [Wed, 20 Jul 2016 14:01:30 +0000 (16:01 +0200)]
re PR c++/71909 (g++ accepts an unreachable function catch block that lacks a corresponding try)
PR c++/71909
* parser.c (cp_parser_save_member_function_body): Consume
__transaction_relaxed or __transaction_atomic with optional
attribute. Only skip catch with block if try keyword is seen.
* g++.dg/parse/pr71909.C: New test.
* g++.dg/tm/pr71909.C: New test.
From-SVN: r238521
Jakub Jelinek [Wed, 20 Jul 2016 14:00:02 +0000 (16:00 +0200)]
re PR middle-end/50060 (intrinsics not folded by the middle-end)
PR c++/50060
* constexpr.c (cxx_eval_builtin_function_call): Pass false as lval
when evaluating call arguments. Use fold_builtin_call_array instead
of fold_build_call_array_loc, return t if it returns NULL. Otherwise
check the result with potential_constant_expression and call
cxx_eval_constant_expression on it.
* g++.dg/cpp0x/constexpr-50060.C: New test.
* g++.dg/cpp1y/constexpr-50060.C: New test.
From-SVN: r238520
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Wed, 20 Jul 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238506
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Tue, 19 Jul 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238453
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
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
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
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
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
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
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
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
Ville Voutilainen [Mon, 18 Jul 2016 14:45:56 +0000 (17:45 +0300)]
Clean up optional's comments.
From-SVN: r238436
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
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
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
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
GCC Administrator [Mon, 18 Jul 2016 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238424
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
GCC Administrator [Sun, 17 Jul 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238419
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
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
GCC Administrator [Sat, 16 Jul 2016 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238409
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Georg-Johann Lay [Fri, 15 Jul 2016 16:28:17 +0000 (16:28 +0000)]
Typo.
From-SVN: r238382
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
Jakub Jelinek [Fri, 15 Jul 2016 15:28:26 +0000 (17:28 +0200)]
Fix up ChangeLog entry.
From-SVN: r238378
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 15 Jul 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238362
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
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
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