Jakub Jelinek [Mon, 30 Mar 2015 17:54:05 +0000 (19:54 +0200)]
re PR middle-end/65597 (ICE in build_outer_var_ref, at omp-low.c:1043)
PR fortran/65597
* trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
For implcitly added !simple OMP_CLAUSE_LINEAR set it too. Use step 1
instead of the original step on the new iterator - count.
* testsuite/libgomp.fortran/pr65597.f90: New test.
From-SVN: r221776
Jonathan Wakely [Mon, 30 Mar 2015 17:52:37 +0000 (18:52 +0100)]
re PR libstdc++/65630 (operator+ for new std::string not exported)
PR libstdc++/65630
* config/abi/pre/gnu.ver: Export operator+ for new strings.
* testsuite/21_strings/basic_string/operators/char/65630.cc: New.
* testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
From-SVN: r221775
Ian Lance Taylor [Mon, 30 Mar 2015 17:32:06 +0000 (17:32 +0000)]
compiler: implement Go 1 unsafe.Pointer conversion rules
Any type whose underlying type is uintptr can be converted
to unsafe.Pointer, and vice versa.
Fixes golang/go#10284.
From-SVN: r221774
Marek Polacek [Mon, 30 Mar 2015 14:20:14 +0000 (14:20 +0000)]
* c-c++-common/pr65556.c: Change the width of bit-fields.
From-SVN: r221771
Jan Hubicka [Mon, 30 Mar 2015 08:51:50 +0000 (10:51 +0200)]
lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on DECL_ARTIFICAL symbols.
* lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
DECL_ARTIFICAL symbols.
From-SVN: r221770
Jan Hubicka [Mon, 30 Mar 2015 02:00:56 +0000 (04:00 +0200)]
re PR ipa/65076 (16% tramp3d-v4.cpp compile time regression)
PR ipa/65076
* ipa-inline.c (edge_badness): Base denominator on callee's
grwoth squared.
From-SVN: r221769
GCC Administrator [Mon, 30 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221768
John David Anglin [Sun, 29 Mar 2015 20:46:17 +0000 (20:46 +0000)]
re PR libffi/65567 (ERROR: tcl error sourcing /test/gnu/gcc/gcc/libffi/testsuite/libffi.complex/complex.exp)
PR libffi/65567
* testsuite/lib/libffi.exp (libffi_feature_test): Use split to ensure
lindex is applied to a list.
From-SVN: r221765
Jan Hubicka [Sun, 29 Mar 2015 15:41:55 +0000 (17:41 +0200)]
re PR ipa/65588 (lto1: internal compiler error: Segmentation fault)
PR ipa/65588
* gcc.target/i386/pr65588.c: New testcase.
From-SVN: r221764
Martin Jambor [Sun, 29 Mar 2015 15:38:52 +0000 (17:38 +0200)]
re PR ipa/65478 (crafty performance regression)
PR ipa/65478
* params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
(PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
* ipa-prop.h (ipa_node_params): New flags node_within_scc and
node_calling_single_call.
* ipa-cp.c (count_callers): New function.
(set_single_call_flag): Likewise.
(initialize_node_lattices): Count callers and set single_flag_call if
necessary.
(incorporate_penalties): New function.
(good_cloning_opportunity_p): Use it, dump new flags.
(propagate_constants_topo): Set node_within_scc flag if appropriate.
* doc/invoke.texi (ipa-cp-recursion-penalty,
ipa-cp-single-call-pentalty): Document.
From-SVN: r221763
Thomas Koenig [Sun, 29 Mar 2015 14:33:09 +0000 (14:33 +0000)]
re PR libfortran/65563 (Segfault on reopening fort.xxx file with explicit name)
2015-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libgfortran/65563
Refer to correct PR in ChangeLog.
From-SVN: r221762
Thomas Koenig [Sun, 29 Mar 2015 14:20:29 +0000 (14:20 +0000)]
re PR target/65564 (builtin-bnd-narrow-ptr-bounds-2-nov.c:15:1: internal compiler error: in simplify_subreg, at simplify-rtx.c:5745)
2015-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libgfortran/65564
* gfortran.dg/open_errors_2.f90: New test.
From-SVN: r221761
GCC Administrator [Sun, 29 Mar 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221760
John David Anglin [Sat, 28 Mar 2015 17:27:22 +0000 (17:27 +0000)]
re PR libstdc++/65500 (FAIL: 17_intro/headers/c++2014/all_attributes.cc (test for excess errors))
PR libstdc++/65500
* inclhack.def (hpux11_lwp_rwlock_valid): New fix.
* fixincl.x: Regenerate.
* tests/base/sys/pthread.h [HPUX11_LWP_RWLOCK_VALID_CHECK]: New test.
From-SVN: r221757
Jerry DeLisle [Sat, 28 Mar 2015 14:25:29 +0000 (14:25 +0000)]
re PR fortran/65596 (NAMELIST bug with f2003: reads too far)
2015-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/65596
* gfortran.dg/namelist_86.f90: New test.
From-SVN: r221756
Jerry DeLisle [Sat, 28 Mar 2015 13:27:58 +0000 (13:27 +0000)]
re PR fortran/65596 (NAMELIST bug with f2003: reads too far)
2015-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/65596
* io/transfer.c (data_transfer_init): If in namelist mode and
delimiter is not specified, set it to DELIM_QUOTE, independent
of -std.
* io/unit.c (init_units): Set flags.delim to the correct
initial value of DELIM_UNSPECIFIED.
From-SVN: r221753
Andre Vehreschild [Sat, 28 Mar 2015 10:39:24 +0000 (11:39 +0100)]
unlimited_polymorphic_24.f03: Fixing copyright statement to reflect new ownership.
* gfortran.dg/unlimited_polymorphic_24.f03: Fixing copyright
statement to reflect new ownership.
From-SVN: r221752
Paolo Carlini [Sat, 28 Mar 2015 10:28:14 +0000 (10:28 +0000)]
re PR c++/42328 (rejects valid friend)
2015-03-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/42328
* g++.dg/template/friend58.C: New.
* g++.dg/template/friend59.C: Likewise.
From-SVN: r221751
Tim Shen [Sat, 28 Mar 2015 04:17:12 +0000 (04:17 +0000)]
re PR libstdc++/65420 (Enumerators in std::regex_constants should be constexpr variables instead)
PR libstdc++/65420
* include/bits/regex_constants.h: Use constexpr variables for flags.
* testsuite/28_regex/constants/constexpr.cc: New testcase.
From-SVN: r221750
GCC Administrator [Sat, 28 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221749
Jan Hubicka [Fri, 27 Mar 2015 21:35:51 +0000 (22:35 +0100)]
re PR ipa/65588 (lto1: internal compiler error: Segmentation fault)
PR ipa/65588
* symtab.c (symtab_node::get_partitioning_class): Register vars
are duplicated.
* varpool.c (symbol_table::output_variables) Do not assemble unefined
decls for non-symbols.
From-SVN: r221745
Tobias Burnus [Fri, 27 Mar 2015 20:21:52 +0000 (21:21 +0100)]
re PR c/65586 (-fopenmp-simd rejects valid input)
2015-03-27 Tobias Burnus <burnus@net-b.de>
PR c/65586
gcc/c/
* c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
error out.
(c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
Update calls to not error for skipped omp pragmas with -fopenmp-simd.
gcc/cp/
* parser.c (cp_parser_omp_for, cp_parser_omp_parallel,
cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target,
cp_parser_omp_declare): Don't show error for skipped omp pragmas
with -fopenmp-simd.
gcc/testsuite/
* g++.dg/gomp/openmp-simd-3.C: New.
* gcc.dg/gomp/openmp-simd-3.c: New.
From-SVN: r221744
H.J. Lu [Fri, 27 Mar 2015 18:11:00 +0000 (18:11 +0000)]
Add default_binds_local_p_2 and use it for x86
Protected data symbol means that it can't be pre-emptied. It doesn't mean
its address won't be external. This is true for pointer to protected
function. With copy relocation, address of protected data defined in the
shared library may also be external. We only know that for sure at
run-time. TARGET_BINDS_LOCAL_P should return false on protected data
symbol.
gcc/
PR target/65248
* output.h (default_binds_local_p_2): New.
* varasm.c (default_binds_local_p_2): Renamed to ...
(default_binds_local_p_3): This. Don't return true on protected
data symbol if protected data may be external.
(default_binds_local_p): Use default_binds_local_p_3.
(default_binds_local_p_1): Likewise.
(default_binds_local_p_2): New.
* config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
default_binds_local_p_2 if TARGET_MACHO is undefined.
gcc/testsuite/
PR target/65248
* gcc.target/i386/pr65248-1.c: New file.
* gcc.target/i386/pr65248-2.c: Likewise.
* gcc.target/i386/pr65248-3.c: Likewise.
* gcc.target/i386/pr65248-4.c: Likewise.
From-SVN: r221742
Jakub Jelinek [Fri, 27 Mar 2015 17:35:14 +0000 (18:35 +0100)]
re PR target/65593 (internal compiler error: in extract_insn, at recog.c:2343)
PR target/65593
* config/i386/i386.c (legitimize_pic_address): If base
is SYMBOL_REF or LABEL_REF using %rip addressing, force
it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
* gcc.c-torture/compile/pr65593.c: New test.
From-SVN: r221741
Paolo Carlini [Fri, 27 Mar 2015 17:21:32 +0000 (17:21 +0000)]
re PR c++/59329 (Using `assert(...)` is not allowed in constexpr functions)
2015-03-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59329
* g++.dg/cpp1y/constexpr-assert1.C: New.
From-SVN: r221740
Uros Bizjak [Fri, 27 Mar 2015 17:08:44 +0000 (18:08 +0100)]
Install back PR target/47230 fix (Revert the revert).
From-SVN: r221739
Marek Polacek [Fri, 27 Mar 2015 16:46:44 +0000 (16:46 +0000)]
re PR c++/65556 (ICE: verify_gimple failed (type precision mismatch in switch statement))
PR c++/65556
* semantics.c (finish_switch_cond): If the unlowered type is not an
enum, use the type of the condition.
* c-c++-common/pr65556.c: New test.
From-SVN: r221738
Jason Merrill [Fri, 27 Mar 2015 16:36:32 +0000 (12:36 -0400)]
re PR c++/65509 ([C++11] GCC rejects operator== with two distinct pointers as not constexpr)
PR c++/65509
* decl.c (make_rtl_for_nonlocal_decl): Don't defer static
constants.
From-SVN: r221737
Jan Hubicka [Fri, 27 Mar 2015 15:19:35 +0000 (16:19 +0100)]
re PR target/65531 (ICE: symtab_node::verify failed: Two symbols with same comdat_group are not linked by the same_comdat_group list. with -fcheck-pointer-bounds -mmpx)
PR target/65531
* symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
comdat groups.
From-SVN: r221736
Jan Hubicka [Fri, 27 Mar 2015 15:13:54 +0000 (16:13 +0100)]
re PR ipa/65600 (bost testsuite failure: ICE: Segmentation fault)
PR ipa/65600
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
of optimized out indirect call.
(redirect_to_unreachable): Always build symbol table node for
BUILT_IN_UNREACHABLE
* g++.dg/torture/pr65600.C: New testcase.
From-SVN: r221735
Vladimir Makarov [Fri, 27 Mar 2015 14:47:24 +0000 (14:47 +0000)]
re PR target/65407 (Extra mask register move in gcc.target/i386/avx512f-kandnw-1.c)
2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
PR target/65407
* ira-costs.c (record_reg_classes): Process all constraint string
containing 0-9.
2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
PR target/65407
* gcc.target/i386/avx512f-kandnw-1.c: Add scanning kmovw.
From-SVN: r221734
Bernd Schmidt [Fri, 27 Mar 2015 13:02:39 +0000 (13:02 +0000)]
Allow misaligned volatile stores in C6X.
* config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
memory_operand.
From-SVN: r221732
Bernd Schmidt [Fri, 27 Mar 2015 12:50:01 +0000 (12:50 +0000)]
Fix c6x-uclinux build failure.
* config/c6x/constraints.md (S3): New constraint.
* config/c6x/c6x.md (real_jump): Use it.
From-SVN: r221731
Jonathan Wakely [Fri, 27 Mar 2015 12:45:10 +0000 (12:45 +0000)]
re PR libstdc++/65499 (Missing "using namespace literals::chrono_literals" in std::chrono)
PR libstdc++/65499
* include/std/chrono: Add using-directive for literals to std::chrono.
* testsuite/20_util/duration/literals/65499.cc: New.
From-SVN: r221730
Andre Vehreschild [Fri, 27 Mar 2015 12:42:01 +0000 (13:42 +0100)]
unlimited_polymorphic_24.f03: Added copyright statement and cleanup.
* gfortran.dg/unlimited_polymorphic_24.f03: Added copyright
statement and cleanup. Fixed typos.
From-SVN: r221729
Tom de Vries [Fri, 27 Mar 2015 12:10:16 +0000 (12:10 +0000)]
Add verification to libgomp.graphite/force-parallel-6.c
2015-03-27 Tom de Vries <tom@codesourcery.com>
PR testsuite/65594
* testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
(init, check): New function.
(foo): Change return type to void.
(main): Call init and check.
From-SVN: r221728
Tom de Vries [Fri, 27 Mar 2015 12:10:07 +0000 (12:10 +0000)]
Scale down libgomp.graphite/force-parallel-6.c
2015-03-27 Tom de Vries <tom@codesourcery.com>
PR testsuite/65594
* testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
(foo): Use M for non-inner loops to scale down test-case.
From-SVN: r221727
Jan Hubicka [Fri, 27 Mar 2015 10:33:17 +0000 (11:33 +0100)]
re PR middle-end/65595 (Linux kernel build failure: ICE: in as_a, at is-a.h:192)
PR middle-end/65595
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
do redirection if the call is not optimized out.
* gcc.c-torture/compile/pr65595.c: New testcase.
From-SVN: r221726
Ilya Enkovich [Fri, 27 Mar 2015 10:29:04 +0000 (10:29 +0000)]
re PR target/65495 (ICE: chkp_make_addressed_object_bounds: Unexpected tree code const_decl with -fcheck-pointer-bounds -mmpx and fortran)
PR target/65495
* c-family/c.opt (fcheck-pointer-bounds): List supported languages.
(fchkp-check-incomplete-type): Add LTO.
(fchkp-zero-input-bounds-for-main): Likewise.
(fchkp-first-field-has-own-bounds): Likewise.
(fchkp-narrow-bounds): Likewise.
(fchkp-narrow-to-innermost-array): Likewise.
(fchkp-use-static-bounds): Likewise.
(fchkp-use-static-const-bounds): Likewise.
(fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
From-SVN: r221725
Marek Polacek [Fri, 27 Mar 2015 10:21:26 +0000 (10:21 +0000)]
* gimple-iterator.h (gsi_prev_nondebug): Fix typo.
From-SVN: r221724
Marek Polacek [Fri, 27 Mar 2015 09:33:20 +0000 (09:33 +0000)]
re PR sanitizer/65583 ([UBSAN] ICE segfault in inline_edge_summary)
PR sanitizer/65583
* ubsan.c (ubsan_create_edge): New function.
(instrument_bool_enum_load): Call it.
(instrument_nonnull_arg): Likewise.
(instrument_nonnull_return): Likewise.
(instrument_object_size): Likewise.
* g++.dg/ubsan/pr65583.C: New test.
From-SVN: r221723
Jan Hubicka [Fri, 27 Mar 2015 09:03:15 +0000 (10:03 +0100)]
lto-streamer.h (class lto_location_cache): Turn loc_cache into auto_vec.
* lto-streamer.h (class lto_location_cache): Turn loc_cache into
auto_vec.
From-SVN: r221722
Jan Hubicka [Fri, 27 Mar 2015 06:59:35 +0000 (06:59 +0000)]
lto-streamer.h (class lto_location_cache): New.
* lto-streamer.h (class lto_location_cache): New.
(struct data_in): Add location_cache.
(lto_input_location): Update prototype.
(stream_input_location_now): New.
* streamer-hooks.h (struct streamer_hooks): Make input_location to take
pointer to location.
(stream_input_location): Update.
* ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
(warn_odr): Apply location cache before warning.
(lto_input_location): Update prototype.
* gimple-streamer-in.c (input_phi, input_gimple_stmt):
Use stream_input_location_now.
* lto-streamer-in.c (lto_location_cache::current_cache): New static
variable.
(lto_location_cache::cmp_loc): New function.
(lto_location_cache::apply_location_cache): New function.
(lto_location_cache::accept_location_cache): New function.
(lto_location_cache::revert_location_cache): New function.
(lto_location_cache::input_location): New function.
(lto_input_location): Do location caching.
(stream_input_location_now): New function.
(input_eh_region, input_struct_function_base): Use
stream_input_location_now.
(lto_data_in_create): use new.
(lto_data_in_delete): Use delete.
* tree-streamer-in.c (unpack_ts_block_value_fields,
unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
lto_input_ts_exp_tree_pointers): Update for cached location api.
From-SVN: r221721
Jan Hubicka [Fri, 27 Mar 2015 06:58:59 +0000 (07:58 +0100)]
re PR lto/65536 (LTO line number information garbled)
PR lto/65536
* lto-streamer.h (class lto_location_cache): New.
(struct data_in): Add location_cache.
(lto_input_location): Update prototype.
(stream_input_location_now): New.
* streamer-hooks.h (struct streamer_hooks): Make input_location to take
pointer to location.
(stream_input_location): Update.
* ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
(warn_odr): Apply location cache before warning.
(lto_input_location): Update prototype.
* gimple-streamer-in.c (input_phi, input_gimple_stmt):
Use stream_input_location_now.
* lto/lto.c (unify_scc): Revert location cache when unification
suceeded.
(lto_read_decls): Accept location cache after sucess;
apply location cache before calling debug hooks.
* lto-streamer-in.c (lto_location_cache::current_cache): New static
variable.
(lto_location_cache::cmp_loc): New function.
(lto_location_cache::apply_location_cache): New function.
(lto_location_cache::accept_location_cache): New function.
(lto_location_cache::revert_location_cache): New function.
(lto_location_cache::input_location): New function.
(lto_input_location): Do location caching.
(stream_input_location_now): New function.
(input_eh_region, input_struct_function_base): Use
stream_input_location_now.
(lto_data_in_create): use new.
(lto_data_in_delete): Use delete.
* tree-streamer-in.c (unpack_ts_block_value_fields,
unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
lto_input_ts_exp_tree_pointers): Update for cached location api.
From-SVN: r221720
Jan Hubicka [Fri, 27 Mar 2015 04:02:28 +0000 (05:02 +0100)]
re PR ipa/65076 (16% tramp3d-v4.cpp compile time regression)
PR ipa/65076
* passes.def: Add pass_nothrow.
* ipa-pure-const.c: (pass_data_nothrow): New.
(pass_nothrow): New.
(pass_nothrow::execute): New.
(make_pass_nothrow): New.
* tree-pass.h (make_pass_nothrow): Declare.
From-SVN: r221719
Jan Hubicka [Fri, 27 Mar 2015 04:01:04 +0000 (05:01 +0100)]
ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for edge to change by speculation resolution or redirection.
* ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
edge to change by speculation resolution or redirection.
(edge_set_predicate): Likewise.
(inline_summary_t::duplicate): Likewise.
(remap_edge_summaries): Likewise.
* gcc.c-torture/compile/
20150327.c: New testcase.
From-SVN: r221718
GCC Administrator [Fri, 27 Mar 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221717
Jan Hubicka [Thu, 26 Mar 2015 23:43:27 +0000 (00:43 +0100)]
ipa-inline.c (check_maybe_up, [...]): New macros.
* ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
New macros.
(can_inline_edge_p): Relax option matching for always inline functions.
From-SVN: r221714
Eric Botcazou [Thu, 26 Mar 2015 21:12:55 +0000 (21:12 +0000)]
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Deref>: New case.
From-SVN: r221711
Jan Hubicka [Thu, 26 Mar 2015 21:10:28 +0000 (22:10 +0100)]
* cif-code.def (CILK_SPAWN): New code.
From-SVN: r221710
Uros Bizjak [Thu, 26 Mar 2015 20:37:53 +0000 (21:37 +0100)]
re PR target/65561 (avx512fintrin.h:5344:1: internal compiler error: in curr_insn_transform, at lra-constraints.c:3494)
PR target/65561
* config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
Check operand 4 and operand 0 for equality.
(avx512f_vextract<shuffletype>32x4_1_maskm):
Check operand 6 and operand 0 for equality.
(vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
for equality.
(vec_extract_hi_<mode>_maskm): Ditto.
From-SVN: r221709
Jonathan Wakely [Thu, 26 Mar 2015 19:59:08 +0000 (19:59 +0000)]
re PR libstdc++/58038 (std::this_thread::sleep_until can cause inifinite sleep)
PR libstdc++/58038
PR libstdc++/60421
* include/std/thread (this_thread::sleep_for): Check for negative
durations.
(this_thread::sleep_until): Check for times in the past.
* testsuite/30_threads/this_thread/58038.cc: New.
* testsuite/30_threads/this_thread/60421.cc: New.
From-SVN: r221708
Jan Hubicka [Thu, 26 Mar 2015 19:56:25 +0000 (20:56 +0100)]
cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring dead calls back to live.
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
dead calls back to live.
(cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
cross check to ...
(cgraph_node::verify_node): ... here; verify only callee edges,
not caller.
From-SVN: r221707
Jan Hubicka [Thu, 26 Mar 2015 19:54:44 +0000 (20:54 +0100)]
ipa-inline-analysis.c (redirect_to_unreachable): New function.
* ipa-inline-analysis.c (redirect_to_unreachable): New function.
(edge_set_predicate): Use it to mark unreachable edges.
(inline_summary_t::duplicate): Remove unnecesary code.
(remap_edge_summaries): Likewise.
(dump_inline_summary): Report contains_cilk_spawn.
(compute_inline_parameters): Compute contains_cilk_spawn.
(inline_read_section, inline_write_summary): Stream
contains_cilk_spawn.
* ipa-inline.c (can_inline_edge_p): Do not tuch
DECL_STRUCT_FUNCTION that may not be available;
use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
remove check for callee_fun->can_throw_non_call_exceptions and
replace it by optimization attribute check; check for flag_exceptions.
* ipa-inline-transform.c (inline_call): Maintain
DECL_FUNCTION_PERSONALITY
* ipa-inline.h (inline_summary): Add contains_cilk_spawn.
From-SVN: r221706
Mikhail Maltsev [Thu, 26 Mar 2015 19:51:58 +0000 (19:51 +0000)]
re PR c++/65154 (ICE with {} initialized array with string)
PR c++/65154
* init.c (build_vec_init): Fix initializing aggregates
with empty init list.
From-SVN: r221704
Jonathan Wakely [Thu, 26 Mar 2015 19:27:02 +0000 (19:27 +0000)]
re PR libstdc++/62259 (atomic class doesn't enforce required alignment on powerpc64)
PR libstdc++/62259
PR libstdc++/65147
* include/std/atomic (atomic<T>): Increase alignment for types with
the same size as one of the integral types.
* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
* testsuite/29_atomics/atomic/62259.cc: New.
From-SVN: r221703
Jakub Jelinek [Thu, 26 Mar 2015 19:17:44 +0000 (20:17 +0100)]
re PR tree-optimization/65551 (FAIL: 26_numerics/complex/50880.cc execution test)
PR tree-optimization/65551
* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
TYPE_PRECISION only for INTEGRAL_TYPE_P types.
From-SVN: r221702
Richard Henderson [Thu, 26 Mar 2015 18:31:11 +0000 (11:31 -0700)]
re PR libstdc++/65033 (C++11 atomics: is_lock_free result does not always match the real lock-free property)
PR libstdc++/65033
* include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
a fake pointer indicating type alignment.
(__atomic_base<T *>::is_lock_free): Likewise.
* include/std/atomic (atomic<T>::is_lock_free): Likewise.
From-SVN: r221701
Jason Merrill [Thu, 26 Mar 2015 17:58:39 +0000 (13:58 -0400)]
re PR c++/65525 (ICE: sorry, unimplemented: unexpected AST of kind mem_ref (-std=c++14, ICE: in potential_constant_expression_1, at cp/constexpr.c:4432))
PR c++/65525
* constexpr.c (potential_constant_expression_1): Handle MEM_REF.
From-SVN: r221699
Ian Lance Taylor [Thu, 26 Mar 2015 17:51:57 +0000 (17:51 +0000)]
re PR go/65587 (C package incomplete/not working for powerpc-linux-gnu)
PR go/65587
debug/elf: apply relocations for SHT_RELA/EM_PPC
From-SVN: r221698
Richard Biener [Thu, 26 Mar 2015 14:22:57 +0000 (14:22 +0000)]
re PR middle-end/65555 (ICE: verify_gimple failed (LHS in noreturn call))
2015-03-26 Richard Biener <rguenther@suse.de>
PR middle-end/65555
* tree-cfg.c (verify_gimple_call): Do not require a call to
have no LHS if it wasn't recognized as control altering yet.
* g++.dg/torture/pr65555.C: New testcase.
From-SVN: r221697
Jakub Jelinek [Thu, 26 Mar 2015 13:19:59 +0000 (14:19 +0100)]
re PR tree-optimization/64715 (__builtin_object_size (..., 1) fails to locate subobject)
PR tree-optimization/64715
* passes.def: Add another instance of pass_object_sizes before
ccp1.
* tree-object-size.c (pass_object_sizes::execute): In
first_pass_instance, only handle __bos (, 1) and __bos (, 3)
calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
__bos result and the computed constant. Remove redundant
checks, obsoleted by gimple_call_builtin_p test.
* gcc.dg/builtin-object-size-15.c: New test.
* gcc.dg/pr64715-1.c: New test.
* gcc.dg/pr64715-2.c: New test.
From-SVN: r221694
Jakub Jelinek [Thu, 26 Mar 2015 13:19:00 +0000 (14:19 +0100)]
var-tracking.c (variable_tracking_main_1): Don't track variables for targetm.no_register_allocation targets.
* var-tracking.c (variable_tracking_main_1): Don't track
variables for targetm.no_register_allocation targets.
From-SVN: r221693
Richard Biener [Thu, 26 Mar 2015 09:26:26 +0000 (09:26 +0000)]
re PR middle-end/65519 (unable to coalesce ssa_names 2 and 87 which are marked as MUST COALESCE)
2015-03-26 Richard Biener <rguenther@suse.de>
PR middle-end/65519
* gnat.dg/specs/opt2.ads: Fix testcase.
From-SVN: r221690
Uros Bizjak [Thu, 26 Mar 2015 08:18:56 +0000 (09:18 +0100)]
install.texi (Building a native compiler): Document new bootstrap-lto-noplugin configuration.
* doc/install.texi (Building a native compiler): Document new
bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
configuration assumes that the host supports the linker plugin.
From-SVN: r221688
Oleg Endo [Thu, 26 Mar 2015 07:40:44 +0000 (07:40 +0000)]
t-linux (DEFAULT_ENDIAN, [...]): Remove.
gcc/
* config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
* config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
From-SVN: r221685
Michael Meissner [Thu, 26 Mar 2015 04:07:21 +0000 (04:07 +0000)]
re PR target/65569 (Fix for PR target/65240 causes a regression in building Spec for power4/power5/power6)
2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/65569
* config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
XXLXOR to create 0.0. On pre-VSX systems make sure the constant
0.0 is correctly setup.
(extenddftf2_internal): Likewise.
From-SVN: r221683
Jerry DeLisle [Thu, 26 Mar 2015 02:44:34 +0000 (02:44 +0000)]
re PR fortran/65541 (namelist regression)
2015-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/65541
* io/write.c (nml_write_obj): Convert '+' to '%' before emitting
object names in namelists.
From-SVN: r221682
Ian Lance Taylor [Thu, 26 Mar 2015 00:39:45 +0000 (00:39 +0000)]
libgo: Fix go/runtime test failure on S390.
The tests run out of memory on 31-bit S390 systems because
it does not have split stacks.
From-SVN: r221681
GCC Administrator [Thu, 26 Mar 2015 00:16:10 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221680
Martin Sebor [Wed, 25 Mar 2015 23:35:54 +0000 (23:35 +0000)]
re PR testsuite/65526 (testsuite checks for arm vectorization support on non-arm targets)
PR testsuite/65526
* lib/target-supports.exp (check_effective_target_arm32): Fail early
when target isn't arm*-*-*-*.
(check_effective_target_arm_nothumb): Likewise.
(check_effective_target_arm_little_endian): Likewise.
(check_effective_target_arm_vect_no_misalign): Likewise.
(check_effective_target_aarch64_little_endian): Fail early if target
isn't aarch64*-*-*.
From-SVN: r221677
Sebastian Pop [Wed, 25 Mar 2015 22:49:47 +0000 (22:49 +0000)]
diamonds are not valid execution threads for jump threading
PR tree-optimization/65177
* tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
(bb_in_bbs): New.
(duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
edges not adjacent on the path to the original code.
* gcc.dg/tree-ssa/ssa-dom-thread-10.c: New.
From-SVN: r221675
Uros Bizjak [Wed, 25 Mar 2015 21:56:11 +0000 (22:56 +0100)]
sse-13.c: Include x86intrin.h and adjust #defines.
* gcc.target/i386/sse-13.c: Include x86intrin.h and adjust #defines.
* gcc.target/i386/sse-23.c: Do not explicitly include wmmintrin.h,
smmintrin.h and mm3dnow.h.
From-SVN: r221674
Ian Lance Taylor [Wed, 25 Mar 2015 21:19:01 +0000 (21:19 +0000)]
re PR go/65570 (cannot find package "runtime/cgo")
PR go/65570
libgo/Makefile.am: add runtime/cgo to list of standard packages
The runtime/cgo package is treated specially by the go tool.
It needs to know that it is always available for gccgo.
From-SVN: r221673
Marek Polacek [Wed, 25 Mar 2015 20:08:05 +0000 (20:08 +0000)]
re PR c++/65558 (crash using __attribute__((__abi_tag__)) on anonymous inline namespace)
PR c++/65558
* name-lookup.c (handle_namespace_attrs): Ignore abi_tag attribute
on an anonymous namespace.
* g++.dg/cpp0x/pr65558.C: New test.
From-SVN: r221672
Marek Polacek [Wed, 25 Mar 2015 20:06:24 +0000 (20:06 +0000)]
re PR c++/61670 (ICE on invalid in tree_nop_conversion)
PR c++/61670
* class.c (remove_zero_width_bit_fields): Check for null DECL_SIZE.
* g++.dg/template/pr61670.C: New test.
From-SVN: r221671
Paolo Carlini [Wed, 25 Mar 2015 17:14:40 +0000 (17:14 +0000)]
re PR c++/54987 (missed ambiguity in template function call)
2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54987
* g++.dg/template/pr54987.C: New.
From-SVN: r221668
Uros Bizjak [Wed, 25 Mar 2015 16:01:36 +0000 (17:01 +0100)]
re PR bootstrap/65537 (--with-build-config=bootstrap-lto fails on CentOS 5.11)
config/ChangeLog:
PR bootstrap/65537
* bootstrap-lto-noplugin.mk: New build configuration.
gcc/ChangeLog:
PR bootstrap/65537
* doc/install.texi (Building a native compiler): Document new
bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
configuration assumes that the host supports the linker plugin.
From-SVN: r221667
Alan Lawrence [Wed, 25 Mar 2015 15:46:58 +0000 (15:46 +0000)]
re PR libstdc++/33394 (Add test case for Thread race segfault in std::string::append with -O and -s)
PR libstdc++/33394
* testsuite/21_strings/basic_string/pthread33394.cc: Use
dg-additional-options.
From-SVN: r221666
Kai Tietz [Wed, 25 Mar 2015 15:05:02 +0000 (16:05 +0100)]
re PR libgomp/64972 (Build failure in libgomp for i686-w64-mingw32 target after latest merge from gomp-4_0-branch)
PR libgomp/64972
* oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
(GOACC_data_start): Likewise.
* target.c (gomp_map_vars): Likewise.
From-SVN: r221665
Richard Biener [Wed, 25 Mar 2015 12:54:12 +0000 (12:54 +0000)]
re PR tree-optimization/62630 (gcc.dg/graphite/vect-pr43423.c XFAILed)
2015-03-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/62630
* gcc.dg/graphite/vect-pr43423.c: XFAIL.
From-SVN: r221662
Ilya Enkovich [Wed, 25 Mar 2015 12:41:27 +0000 (12:41 +0000)]
re PR target/65508 (ICE: in initialize_inlined_parameters, at tree-inline.c:3305 with -fcheck-pointer-bounds -mmpx and nested function)
gcc/
PR target/65508
* tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
chain for generated call.
gcc/testsuite/
PR target/65508
* gcc.target/i386/mpx/pr65508.c: New.
From-SVN: r221661
Richard Biener [Wed, 25 Mar 2015 12:07:10 +0000 (12:07 +0000)]
passes.c (pass_manager::execute_early_local_passes): Guard execution of pass_chkp_instrumentation_passes with flag_check_pointer_bounds.
2015-03-25 Richard Biener <rguenther@suse.de>
* passes.c (pass_manager::execute_early_local_passes): Guard
execution of pass_chkp_instrumentation_passes with
flag_check_pointer_bounds.
(pass_chkp_instrumentation_passes::gate): Likewise.
From-SVN: r221660
Martin Liska [Wed, 25 Mar 2015 12:05:22 +0000 (13:05 +0100)]
Fix vimrc file link creation.
* Makefile.in: Fix ln source location for vimrc file.
* Makefile.tpl: Likewise.
Co-Authored-By: Yury Gribov <y.gribov@samsung.com>
From-SVN: r221659
Martin Liska [Wed, 25 Mar 2015 11:47:04 +0000 (12:47 +0100)]
re PR tree-optimization/65538 (Memory leak of ipa_node_params_sum elements)
Fix PR65538.
PR tree-optimization/65538
* symbol-summary.h (function_summary::~function_summary):
Relese memory for allocated summaries.
(function_summary::release): New function.
From-SVN: r221658
Mikael Morin [Wed, 25 Mar 2015 10:15:46 +0000 (10:15 +0000)]
Fix regression introduced at revision 221586.
PR fortran/64952
PR fortran/65532
fortran/
* gfortran.h (struct gfc_namespace): New field 'types_resolved'.
* resolve.c (resolve_types): Return early if field 'types_resolved'
is set. Set 'types_resolved' at the end.
testsuite/
* gfortran.dg/data_initialized_3.f90: New.
From-SVN: r221657
Jakub Jelinek [Wed, 25 Mar 2015 09:58:18 +0000 (10:58 +0100)]
re PR lto/65515 (FAIL: gcc.c-torture/compile/limits-fndefn.c -O2 -flto -flto-partition=none (ICE) -- SIGSEGV for stack growth failure)
PR lto/65515
* lto-streamer-out.c (DFS::worklist): New struct.
(DFS::worklist_vec): New data member.
(DFS::next_dfs_num): Remove.
(DFS::DFS): Rewritten using worklist instead of recursion,
using most of code from DFS::DFS_write_tree.
(DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
pass it to DFS_write_tree calls.
(DFS::DFS_write_tree): Remove SINGLE_P argument, after
quick initial checks push it into worklist_vec and return.
From-SVN: r221656
Paolo Carlini [Wed, 25 Mar 2015 09:57:06 +0000 (09:57 +0000)]
re PR libstdc++/65543 (rvalue stream insertion and extraction operators incorrectly implemented)
2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/65543
* include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
thinko in r150387.
* include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
Likewise.
* testsuite/27_io/rvalue_streams-2.cc: New.
From-SVN: r221655
Richard Biener [Wed, 25 Mar 2015 08:46:20 +0000 (08:46 +0000)]
re PR middle-end/65519 (unable to coalesce ssa_names 2 and 87 which are marked as MUST COALESCE)
2015-03-25 Richard Biener <rguenther@suse.de>
PR middle-end/65519
* genmatch.c (expr::gen_transform): Re-write to avoid
using gimple_build.
* gnat.dg/specs/opt2.ads: New testcase.
From-SVN: r221654
Chung-Lin Tang [Wed, 25 Mar 2015 08:32:17 +0000 (08:32 +0000)]
config.host (nios2-*-linux*): Remove 'extra_parts' setting.
2015-03-25 Chung-Lin Tang <cltang@codesourcery.com>
libgcc/
* config.host (nios2-*-linux*): Remove 'extra_parts' setting.
From-SVN: r221653
Bin Cheng [Wed, 25 Mar 2015 05:58:19 +0000 (05:58 +0000)]
sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
* doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
gcc/testsuite/ChangeLog
* lib/target-supports.exp (arm_tune_string_ops_prefer_neon): New.
* gcc.target/arm/memset-inline-4.c: Skip for
arm_tune_string_ops_prefer_neon.
* gcc.target/arm/memset-inline-5.c: Ditto.
* gcc.target/arm/memset-inline-6.c: Ditto.
* gcc.target/arm/memset-inline-8.c: Ditto.
* gcc.target/arm/memset-inline-9.c: Ditto.
From-SVN: r221651
Bin Cheng [Wed, 25 Mar 2015 05:53:55 +0000 (05:53 +0000)]
arm.opt (print_tune_info): New option.
* config/arm/arm.opt (print_tune_info): New option.
* config/arm/arm.c (arm_print_tune_info): New function.
(arm_file_start): Call arm_print_tune_info.
* config/arm/arm-protos.h (struct tune_params): Add comment.
* doc/invoke.texi (@item -mprint-tune-info): New item.
(-mtune): mention it in ARM Option Summary.
From-SVN: r221650
DJ Delorie [Wed, 25 Mar 2015 05:00:15 +0000 (01:00 -0400)]
rl78.c (rl78_print_operand_1): Move 'p' test to correct clause.
* config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
correct clause.
From-SVN: r221649
GCC Administrator [Wed, 25 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221648
Jan Hubicka [Tue, 24 Mar 2015 21:51:08 +0000 (22:51 +0100)]
IPA ICF: enhance hash value calculated in TU
* ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
* ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
(sem_item::add_type): New function.
(sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
(sem_function::compare_polymorphic_p): Do not consider indirect calls.
(sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
(sem_function::equals_wpa): Fix typo.
* ipa-icf.h (sem_item::add_type): New function.
(symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
order.
Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r221645
Ian Lance Taylor [Tue, 24 Mar 2015 20:55:43 +0000 (20:55 +0000)]
re PR go/65417 (debug/elf: lacks support for PPC relocations)
PR go/65417
debug/elf: support reading debug info from 32-bit PPC objects
This is a backport of http://golang.org/7590 from the master
Go library.
From-SVN: r221644
Ian Lance Taylor [Tue, 24 Mar 2015 19:50:31 +0000 (19:50 +0000)]
re PR go/65462 (Use of 'go get' with gccgo is not finding dependencies correctly)
PR go/65462
cmd: Fix dependencies for 'go get' with gccgo
Problem described in GCC BZ 65462.
Generate the list of the standard GO package names based on what was built into libgo in the libgo Makefile.
Change the var name from reqPkgSrc to reqStdPkgSrc to clarify it only affects standard GO packages.
Skip the attempted loading of a package only if it is a standard GO package and the flag is set indicating its source is not required to be available.
This requires a corresponding change to gotools to build and link in the new file containing the list of standard GO package names that was generated by the libgo Makefile.
gotools/:
PR go/65462
* Makefile.am (go_cmd_go_files): Add $(libgodir)/zstdpkglist.go.
* Makefile.in: Rebuild.
From-SVN: r221643
Jason Merrill [Tue, 24 Mar 2015 19:40:44 +0000 (15:40 -0400)]
re PR c++/65046 (-Wabi-tag doesn't warn about variables or function return types)
PR c++/65046
* cp-tree.h (NAMESPACE_IS_INLINE): Remove.
* parser.c (cp_parser_namespace_definition): Don't set it.
* name-lookup.c (handle_namespace_attrs): Check
DECL_NAMESPACE_ASSOCIATIONS instead.
From-SVN: r221642
Jason Merrill [Tue, 24 Mar 2015 19:38:28 +0000 (15:38 -0400)]
re PR c++/65498 (ICE in cxx_eval_call_expression when using __func__ inside dependent context)
PR c++/65498
* pt.c (get_mostly_instantiated_function_type): Just return the
type of the partially instantiated template in DECL_TI_TEMPLATE.
From-SVN: r221641
Paolo Carlini [Tue, 24 Mar 2015 17:22:27 +0000 (17:22 +0000)]
re PR c++/58923 (g++ does not use provided conversion function for implicit conversion to another type)
2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58923
* g++.dg/other/virtual3.C: New.
From-SVN: r221640