gcc.git
9 years agopa.c (pa_output_move_double): Directly handle register indexed memory operand.
John David Anglin [Thu, 2 Apr 2015 11:29:48 +0000 (11:29 +0000)]
pa.c (pa_output_move_double): Directly handle register indexed memory operand.

* config/pa/pa.c (pa_output_move_double): Directly handle register
indexed memory operand.  Simplify handling of scaled register indexed
memory operands.

From-SVN: r221835

9 years ago[Patch] Add myself as AArch64 Port Reviewer
James Greenhalgh [Thu, 2 Apr 2015 10:49:16 +0000 (10:49 +0000)]
[Patch] Add myself as AArch64 Port Reviewer

* MAINTAINERS: Add myself as a reviewer for the AArch64 port.

From-SVN: r221834

9 years agoAdd myself as reviewer for arm port
Kyrylo Tkachov [Thu, 2 Apr 2015 10:19:37 +0000 (10:19 +0000)]
Add myself as reviewer for arm port

    * MAINTAINERS: Add myself as an arm port reviewer.

From-SVN: r221833

9 years agore PR driver/65444 (-z bndplt isn't passed to linker for -mmpx when building dynamic...
Ilya Enkovich [Thu, 2 Apr 2015 08:15:49 +0000 (08:15 +0000)]
re PR driver/65444 (-z bndplt isn't passed to linker for -mmpx when building dynamic objects)

gcc/
PR driver/65444
* config/i386/linux-common.h (MPX_SPEC): New.
(CHKP_SPEC): Add MPX_SPEC.
* doc/invoke.texi (-fcheck-pointer-boudns): Document
possible issues with '-z bndplt' support in linker.

libmpx/

PR driver/65444
* configure.ac: Add check for '-z bndplt' support
by linker. Add link_mpx output variable.
* libmpx.spec.in (link_mpx): New.
* configure: Regenerate.

From-SVN: r221831

9 years agosync.md (UNSPEC_FILD_ATOMIC, [...]): New.
Uros Bizjak [Thu, 2 Apr 2015 07:56:05 +0000 (09:56 +0200)]
sync.md (UNSPEC_FILD_ATOMIC, [...]): New.

* config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
(loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
(storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
* reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
(subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.

From-SVN: r221830

9 years agolto-cgraph.c (lto_output_node, [...]): Stream split_part.
Jan Hubicka [Thu, 2 Apr 2015 05:14:26 +0000 (05:14 +0000)]
lto-cgraph.c (lto_output_node, [...]): Stream split_part.

* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
split_part.
* ipa-inline.c (edge_badness): Add wrapper penalty.
(sum_callers): Move up.
(inline_small_functions): Set single_caller.
* ipa-inline.h (inline_summary): Add single_caller.
* ipa-split.c (split_function): Set split_part.
(cgraph_node::create_clone): Do not shadow decl; copy split_part.
* cgraph.h (cgraph_node): Add split_part.

From-SVN: r221818

9 years agoDaily bump.
GCC Administrator [Thu, 2 Apr 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221817

9 years agore PR c++/56100 (spurious -Wshadow warning with local variable in template class)
Paolo Carlini [Wed, 1 Apr 2015 21:27:55 +0000 (21:27 +0000)]
re PR c++/56100 (spurious -Wshadow warning with local variable in template class)

/cp
2015-04-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56100
* pt.c (instantiating_current_function_p): New.
* name-lookup.c (pushdecl_maybe_friend_1): Use it.
* cp-tree.h (instantiating_current_function_p): Declare.

/testsuite
2015-04-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56100
* g++.dg/warn/Wshadow-8.C: New.
* g++.dg/warn/Wshadow-9.C: Likewise.
* g++.dg/warn/Wshadow-10.C: Likewise.
* g++.dg/warn/Wshadow-11.C: Likewise.

From-SVN: r221814

9 years agosync.md (UNSPEC_MOVA): Remove.
Uros Bizjak [Wed, 1 Apr 2015 17:36:24 +0000 (19:36 +0200)]
sync.md (UNSPEC_MOVA): Remove.

* config/i386/sync.md (UNSPEC_MOVA): Remove.
(atomic_load<mode>): Change operand 0 predicate to
nonimmediate_operand and fix up the destination when needed.
Use UNSPEC_LDA.
(atomic_loaddi_fpu): Use UNSPEC_LDA.
(atomic_store<mode>): Change operand 1 predicate to
nonimmendate_operand and move the source to register when needed.
Use UNSPEC_STA.
(atomic_store<mode>_1): Use UNSPEC_STA.
(atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
Fix moves from memory operand.  Use UNSPEC_STA.

From-SVN: r221811

9 years agore PR c++/65646 (ICE in invalid syntax)
Jason Merrill [Wed, 1 Apr 2015 16:36:50 +0000 (12:36 -0400)]
re PR c++/65646 (ICE in invalid syntax)

PR c++/65646
* decl.c (grokvardecl): Don't call check_explicit_specialization
for non-template members of a class template.

From-SVN: r221810

9 years agoexpmed.c (strict_volatile_bitfield_p): Check that the access will not cross a MODESIZ...
Bernd Edlinger [Wed, 1 Apr 2015 16:09:48 +0000 (16:09 +0000)]
expmed.c (strict_volatile_bitfield_p): Check that the access will not cross a MODESIZE boundary.

gcc:
2015-04-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * expmed.c (strict_volatile_bitfield_p): Check that the access will
        not cross a MODESIZE boundary.
        (store_bit_field, extract_bit_field): Added assertions in the
        strict volatile bitfields code path.

testsuite:
2015-04-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.dg/pr23623.c: Added aligned attribute.
        * gcc.dg/20141029-1.c: Likewise.
        * gcc.dg/20150306-1.c: New test.

From-SVN: r221809

9 years agore PR middle-end/65554 (ICE: verify_gimple failed)
Marek Polacek [Wed, 1 Apr 2015 13:08:05 +0000 (13:08 +0000)]
re PR middle-end/65554 (ICE: verify_gimple failed)

PR c++/65554
* class.c (finish_struct): Require that the second field of a
user-defined initializer_list be of size type.

* g++.dg/cpp0x/initlist93.C: New test.
* g++.dg/cpp0x/initlist94.C: New test.

From-SVN: r221808

9 years agore PR target/65624 (ICE in aarch64-builtins.c when expanding 4-argument aarch64 intri...
Max Ostapenko [Wed, 1 Apr 2015 11:18:03 +0000 (14:18 +0300)]
re PR target/65624 (ICE in aarch64-builtins.c when expanding 4-argument aarch64 intrinsic.)

2015-04-01  Max Ostapenko  <m.ostapenko@partner.samsung.com>

PR target/65624

gcc/
* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin): Increase
args array size by one to avoid buffer overflow.

gcc/testsuite/
* gcc.target/aarch64/pr65624.c: New test.

From-SVN: r221807

9 years agolto-cgraph.c (lto_output_node, [...]): Stream split_part.
Jan Hubicka [Wed, 1 Apr 2015 07:41:17 +0000 (09:41 +0200)]
lto-cgraph.c (lto_output_node, [...]): Stream split_part.

* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
split_part.
* ipa-inline.c (edge_badness): Add wrapper penalty.
(sum_callers): Move up.
(inline_small_functions): Set single_caller.
* ipa-inline.h (inline_summary): Add single_caller.
* ipa-split.c (split_function): Set split_part.
(cgraph_node::create_clone): Do not shadow decl; copy split_part.
* cgraph.h (cgraph_node): Add split_part.

* gcc.dg/ipa/inlinehint-4.c: New testcase.

From-SVN: r221806

9 years agoDaily bump.
GCC Administrator [Wed, 1 Apr 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221805

9 years agoRemove some files that were accidentally committed in 2014.
Ian Lance Taylor [Tue, 31 Mar 2015 19:47:23 +0000 (19:47 +0000)]
Remove some files that were accidentally committed in 2014.

From-SVN: r221802

9 years agopr45701-1.c (history_expand_line_internal): Add an extra variable to force stack...
Alex Velenko [Tue, 31 Mar 2015 19:00:52 +0000 (19:00 +0000)]
pr45701-1.c (history_expand_line_internal): Add an extra variable to force stack alignment.

2015-03-31  Alex Velenko  <Alex.Velenko@arm.com>

* gcc.target/arm/pr45701-1.c (history_expand_line_internal): Add an
extra variable to force stack alignment.
* gcc.target/arm/pr45701-2.c (history_expand_line_internal): Add an
extra variable to force stack alignment.

From-SVN: r221801

9 years agogo/cmd/go: always link external test packages first
Ian Lance Taylor [Tue, 31 Mar 2015 17:54:07 +0000 (17:54 +0000)]
go/cmd/go: always link external test packages first

When linking complex packages that use both internal and external tests as well as many dependencies it is critical that the link order be external test package, internal test package, everything else.

This change is a back (forward?) port of the same change that canonical have been maintaining on their fork of the go tool for gccgo. Now that gccgo uses the go tool from upstream, this patch should be applied both to the gofrontend and golang/go repos.

From-SVN: r221800

9 years agore PR c++/65390 (ICE in strip_typedefs, at cp/tree.c:1361)
Marek Polacek [Tue, 31 Mar 2015 17:35:29 +0000 (17:35 +0000)]
re PR c++/65390 (ICE in strip_typedefs, at cp/tree.c:1361)

PR c++/65390
* tree.c (build_cplus_array_type): Use dependent_type_p rather than
checking for constness.

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

From-SVN: r221799

9 years agore PR target/58945 (Improve atomic_compare_and_swap*_doubleword pattern)
Uros Bizjak [Tue, 31 Mar 2015 17:06:37 +0000 (19:06 +0200)]
re PR target/58945 (Improve atomic_compare_and_swap*_doubleword pattern)

PR target/58945
* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
Do not split operands 0 and operands 2 to halfmode.
(atomic_compare_and_swap<mode>): Update for
atomic_compare_and_swap<dwi>_doubleword changes.

From-SVN: r221798

9 years agotree.c (need_assembler_name_p): Artificial types have no ODR names.
Jan Hubicka [Tue, 31 Mar 2015 17:03:16 +0000 (19:03 +0200)]
tree.c (need_assembler_name_p): Artificial types have no ODR names.

* tree.c (need_assembler_name_p): Artificial types have no ODR
names.
* ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
no caching is done.
* lto.c (lto_read_decls): Move code registering odr types out
of TYPE_CANONICAL conditional and also register polymorphic types.

From-SVN: r221797

9 years agore PR ipa/65557 (ICE: SIGSEGV in hash_table<>::find_slot_with_hash() with -fdevirtual...
Martin Liska [Tue, 31 Mar 2015 16:03:03 +0000 (18:03 +0200)]
re PR ipa/65557 (ICE: SIGSEGV in hash_table<>::find_slot_with_hash() with -fdevirtualize -fipa-cp -fipa-icf-functions)

Fix PR65557.

* ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
has already filled up function summary.
(sem_item_optimizer::update_hash_by_addr_refs): Likewise.
* g++.dg/ipa/pr65557.C: New test.

From-SVN: r221796

9 years agotree-sra.c (create_access_replacement): Drop under-/over-alignment of types.
Richard Biener [Tue, 31 Mar 2015 13:32:59 +0000 (13:32 +0000)]
tree-sra.c (create_access_replacement): Drop under-/over-alignment of types.

2015-03-31  Richard Biener  <rguenther@suse.de>

* tree-sra.c (create_access_replacement): Drop under-/over-alignment
of types.

From-SVN: r221795

9 years agoS/390: Hotpatch: Remove special handling of nested functions.
Dominik Vogt [Tue, 31 Mar 2015 12:07:06 +0000 (12:07 +0000)]
S/390: Hotpatch: Remove special handling of nested functions.

gcc/
2015-03-31  Dominik Vogt  <vogt@linux.vnet.ibm.com>

    * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
    nested functions.
    (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
    (s390_asm_output_function_label): Adapt to new signature of
    s390_function_num_hotpatch_hw
    Optimise the code generating assembler output.
    Add comments to assembler file.

gcc/testsuite/
2015-03-31  Dominik Vogt  <vogt@linux.vnet.ibm.com>

    * gcc.target/s390/hotpatch-25.c: New test.
    * gcc.target/s390/hotpatch-1.c: Update test.
    * gcc.target/s390/hotpatch-10.c: Update test.
    * gcc.target/s390/hotpatch-11.c: Update test.
    * gcc.target/s390/hotpatch-12.c: Update test.
    * gcc.target/s390/hotpatch-13.c: Update test.
    * gcc.target/s390/hotpatch-14.c: Update test.
    * gcc.target/s390/hotpatch-15.c: Update test.
    * gcc.target/s390/hotpatch-16.c: Update test.
    * gcc.target/s390/hotpatch-17.c: Update test.
    * gcc.target/s390/hotpatch-18.c: Update test.
    * gcc.target/s390/hotpatch-19.c: Update test.
    * gcc.target/s390/hotpatch-2.c: Update test.
    * gcc.target/s390/hotpatch-21.c: Update test.
    * gcc.target/s390/hotpatch-22.c: Update test.
    * gcc.target/s390/hotpatch-23.c: Update test.
    * gcc.target/s390/hotpatch-24.c: Update test.
    * gcc.target/s390/hotpatch-3.c: Update test.
    * gcc.target/s390/hotpatch-4.c: Update test.
    * gcc.target/s390/hotpatch-5.c: Update test.
    * gcc.target/s390/hotpatch-6.c: Update test.
    * gcc.target/s390/hotpatch-7.c: Update test.
    * gcc.target/s390/hotpatch-8.c: Update test.
    * gcc.target/s390/hotpatch-9.c: Update test.
    * gcc.target/s390/hotpatch-compile-16.c: Update test.

From-SVN: r221794

9 years agore PR c++/65626 (ICE in fixup_noreturn_call called by tree-ssa-forwprop.c:2492)
Richard Biener [Tue, 31 Mar 2015 09:34:08 +0000 (09:34 +0000)]
re PR c++/65626 (ICE in fixup_noreturn_call called by tree-ssa-forwprop.c:2492)

2015-03-31  Richard Biener  <rguenther@suse.de>

PR middle-end/65626
* tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
of the noreturn call so it is last and cleanup_control_flow_bb
can do the CFG part.

* g++.dg/torture/pr65626.C: New testcase.

From-SVN: r221790

9 years agoFix bzero warning in child_setup_tty
Tom de Vries [Tue, 31 Mar 2015 08:30:15 +0000 (08:30 +0000)]
Fix bzero warning in child_setup_tty

2015-03-31  Tom de Vries  <tom@codesourcery.com>

PR ada/65490
* terminals.c (child_setup_tty): Fix warning 'argument to sizeof in
bzero call is the same expression as the destination'.

From-SVN: r221789

9 years agore PR target/65531 (ICE: symtab_node::verify failed: Two symbols with same comdat_gro...
Ilya Enkovich [Tue, 31 Mar 2015 08:29:28 +0000 (08:29 +0000)]
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)

gcc/

PR target/65531
* ipa-chkp.c (chkp_maybe_create_clone): Don't set
same_comdat_group for external symbols.
* symtab.c (symtab_node::verify_symtab_nodes): Avoid
infinite same_comdat_group traversal loop.

gcc/testsuite/

PR target/65531
* gcc.target/i386/mpx/pr65531.cc: New.

From-SVN: r221788

9 years agore PR target/65602 (gcc.target/i386/mpx tests FAIL)
Ilya Enkovich [Tue, 31 Mar 2015 08:24:38 +0000 (08:24 +0000)]
re PR target/65602 (gcc.target/i386/mpx tests FAIL)

PR target/65602
* gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Use
__builtin_alloca instead of alloca.
* gcc.target/i386/mpx/alloca-1-nov.c (mpx_test): Likewise.
* gcc.target/i386/mpx/alloca-1-ubv.c (mpx_test): Likewise.
* lib/mpx-dg.exp (check_effective_target_mpx): Add wrapper
check.

From-SVN: r221787

9 years agore PR plugins/61176 (plugin builds including gimple.h not building)
Jakub Jelinek [Tue, 31 Mar 2015 05:31:57 +0000 (07:31 +0200)]
re PR plugins/61176 (plugin builds including gimple.h not building)

PR plugins/61176
* Makefile.in (install-plugin): Add all gcc/*.{h,def} files
automatically to $headers.

From-SVN: r221786

9 years agoDaily bump.
GCC Administrator [Tue, 31 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221785

9 years agocompiler: Mark builtin calls with bad types as errors.
Ian Lance Taylor [Tue, 31 Mar 2015 00:10:46 +0000 (00:10 +0000)]
compiler: Mark builtin calls with bad types as errors.

Fixes golang/go/#10285.

From-SVN: r221782

9 years agore PR ipa/65610 (Compare debug failure with -g3 -fsanitize=undefined -fno-sanitize...
Jakub Jelinek [Mon, 30 Mar 2015 21:56:02 +0000 (23:56 +0200)]
re PR ipa/65610 (Compare debug failure with -g3 -fsanitize=undefined -fno-sanitize=vptr -O3)

PR ipa/65610
* ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
function.
(decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
Use it.
* ipa-prop.c (param_type_may_change_p): Likewise.
* tree-ssa-live.c: Include ipa-utils.h and its dependencies.
(remove_unused_scope_block_p): Add in_ctor_dtor_block
argument.  Before inlining, preserve
inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them.  Adjust
recursive calls.
(remove_unused_locals): Adjust remove_unused_scope_block_p caller.

* g++.dg/ubsan/pr65610.C: New test.

From-SVN: r221781

9 years agore PR c++/65398 ([C++11] GCC rejects constexpr variable definitions with valid initia...
Marek Polacek [Mon, 30 Mar 2015 18:39:17 +0000 (18:39 +0000)]
re PR c++/65398 ([C++11] GCC rejects constexpr variable definitions with valid initialization)

PR c++/65398
* constexpr.c (cxx_fold_indirect_ref): Don't perform the
 *(&A[i] p+ j) => A[i + j] transformation here.
(cxx_eval_pointer_plus_expression): New function.
(cxx_eval_constant_expression): Use it here.

* g++.dg/cpp0x/pr65398-2.C: New test.

From-SVN: r221777

9 years agore PR middle-end/65597 (ICE in build_outer_var_ref, at omp-low.c:1043)
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

9 years agore PR libstdc++/65630 (operator+ for new std::string not exported)
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

9 years agocompiler: implement Go 1 unsafe.Pointer conversion rules
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

9 years ago* c-c++-common/pr65556.c: Change the width of bit-fields.
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

9 years agolto-symtab.c (lto_symtab_merge_decls_2): Silence warning on DECL_ARTIFICAL symbols.
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

9 years agore PR ipa/65076 (16% tramp3d-v4.cpp compile time regression)
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

9 years agoDaily bump.
GCC Administrator [Mon, 30 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221768

9 years agore PR libffi/65567 (ERROR: tcl error sourcing /test/gnu/gcc/gcc/libffi/testsuite...
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

9 years agore PR ipa/65588 (lto1: internal compiler error: Segmentation fault)
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

9 years agore PR ipa/65478 (crafty performance regression)
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

9 years agore PR libfortran/65563 (Segfault on reopening fort.xxx file with explicit name)
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

9 years agore PR target/65564 (builtin-bnd-narrow-ptr-bounds-2-nov.c:15:1: internal compiler...
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

9 years agoDaily bump.
GCC Administrator [Sun, 29 Mar 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221760

9 years agore PR libstdc++/65500 (FAIL: 17_intro/headers/c++2014/all_attributes.cc (test for...
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

9 years agore PR fortran/65596 (NAMELIST bug with f2003: reads too far)
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

9 years agore PR fortran/65596 (NAMELIST bug with f2003: reads too far)
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

9 years agounlimited_polymorphic_24.f03: Fixing copyright statement to reflect new ownership.
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

9 years agore PR c++/42328 (rejects valid friend)
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

9 years agore PR libstdc++/65420 (Enumerators in std::regex_constants should be constexpr variab...
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

9 years agoDaily bump.
GCC Administrator [Sat, 28 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221749

9 years agore PR ipa/65588 (lto1: internal compiler error: Segmentation fault)
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

9 years agore PR c/65586 (-fopenmp-simd rejects valid input)
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

9 years agoAdd default_binds_local_p_2 and use it for x86
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

9 years agore PR target/65593 (internal compiler error: in extract_insn, at recog.c:2343)
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

9 years agore PR c++/59329 (Using `assert(...)` is not allowed in constexpr functions)
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

9 years agoInstall back PR target/47230 fix (Revert the revert).
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

9 years agore PR c++/65556 (ICE: verify_gimple failed (type precision mismatch in switch statement))
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

9 years agore PR c++/65509 ([C++11] GCC rejects operator== with two distinct pointers as not...
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

9 years agore PR target/65531 (ICE: symtab_node::verify failed: Two symbols with same comdat_gro...
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

9 years agore PR ipa/65600 (bost testsuite failure: ICE: Segmentation fault)
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

9 years agore PR target/65407 (Extra mask register move in gcc.target/i386/avx512f-kandnw-1.c)
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

9 years agoAllow misaligned volatile stores in C6X.
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

9 years agoFix c6x-uclinux build failure.
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

9 years agore PR libstdc++/65499 (Missing "using namespace literals::chrono_literals" in std...
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

9 years agounlimited_polymorphic_24.f03: Added copyright statement and cleanup.
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

9 years agoAdd verification to libgomp.graphite/force-parallel-6.c
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

9 years agoScale down libgomp.graphite/force-parallel-6.c
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

9 years agore PR middle-end/65595 (Linux kernel build failure: ICE: in as_a, at is-a.h:192)
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

9 years agore PR target/65495 (ICE: chkp_make_addressed_object_bounds: Unexpected tree code...
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

9 years ago* gimple-iterator.h (gsi_prev_nondebug): Fix typo.
Marek Polacek [Fri, 27 Mar 2015 10:21:26 +0000 (10:21 +0000)]
* gimple-iterator.h (gsi_prev_nondebug): Fix typo.

From-SVN: r221724

9 years agore PR sanitizer/65583 ([UBSAN] ICE segfault in inline_edge_summary)
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

9 years agolto-streamer.h (class lto_location_cache): Turn loc_cache into auto_vec.
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

9 years agolto-streamer.h (class lto_location_cache): New.
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

9 years agore PR lto/65536 (LTO line number information garbled)
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

9 years agore PR ipa/65076 (16% tramp3d-v4.cpp compile time regression)
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

9 years agoipa-inline-analysis.c (redirect_to_unreachable): Be prepared for edge to change by...
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

9 years agoDaily bump.
GCC Administrator [Fri, 27 Mar 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221717

9 years agoipa-inline.c (check_maybe_up, [...]): New macros.
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

9 years ago* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Deref>: New case.
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

9 years ago* cif-code.def (CILK_SPAWN): New code.
Jan Hubicka [Thu, 26 Mar 2015 21:10:28 +0000 (22:10 +0100)]
* cif-code.def (CILK_SPAWN): New code.

From-SVN: r221710

9 years agore PR target/65561 (avx512fintrin.h:5344:1: internal compiler error: in curr_insn_tra...
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

9 years agore PR libstdc++/58038 (std::this_thread::sleep_until can cause inifinite sleep)
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

9 years agocgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring dead calls back to...
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

9 years agoipa-inline-analysis.c (redirect_to_unreachable): New function.
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

9 years agore PR c++/65154 (ICE with {} initialized array with string)
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

9 years agore PR libstdc++/62259 (atomic class doesn't enforce required alignment on powerpc64)
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

9 years agore PR tree-optimization/65551 (FAIL: 26_numerics/complex/50880.cc execution test)
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

9 years agore PR libstdc++/65033 (C++11 atomics: is_lock_free result does not always match the...
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

9 years agore PR c++/65525 (ICE: sorry, unimplemented: unexpected AST of kind mem_ref (-std...
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

9 years agore PR go/65587 (C package incomplete/not working for powerpc-linux-gnu)
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

9 years agore PR middle-end/65555 (ICE: verify_gimple failed (LHS in noreturn call))
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

9 years agore PR tree-optimization/64715 (__builtin_object_size (..., 1) fails to locate subobject)
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

9 years agovar-tracking.c (variable_tracking_main_1): Don't track variables for targetm.no_regis...
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

9 years agore PR middle-end/65519 (unable to coalesce ssa_names 2 and 87 which are marked as...
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

9 years agoinstall.texi (Building a native compiler): Document new bootstrap-lto-noplugin config...
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

9 years agot-linux (DEFAULT_ENDIAN, [...]): Remove.
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

9 years agore PR target/65569 (Fix for PR target/65240 causes a regression in building Spec...
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