gcc.git
9 years agoescape: Analyze binary expressions.
Ian Lance Taylor [Mon, 15 Jun 2015 22:45:02 +0000 (22:45 +0000)]
escape: Analyze binary expressions.

Binary expressions might contain function calls that cause an object
to escape.  Previously, there were not analyzed.

Reviewed-on: https://go-review.googlesource.com/10660

From-SVN: r224496

9 years agoaltivec.md: Delete UNSPEC_VMLADDUHM.
David Edelsohn [Mon, 15 Jun 2015 22:17:47 +0000 (22:17 +0000)]
altivec.md: Delete UNSPEC_VMLADDUHM.

        * altivec.md: Delete UNSPEC_VMLADDUHM.
        (mulv4si3_p8): New pattern.
        (mulv4si3): Use it for POWER8.
        (mulv8hi3): Use vmladduhm with zero addend.
        (altivec_vmladduhm): Descriptive RTL.

From-SVN: r224494

9 years agoaarch64.md (mov<mode>_aarch64): Change alternative 2 to use neon_move instead of...
Jim Wilson [Mon, 15 Jun 2015 19:35:40 +0000 (19:35 +0000)]
aarch64.md (mov<mode>_aarch64): Change alternative 2 to use neon_move instead of mov_imm.

gcc/
* config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
to use neon_move instead of mov_imm.
(movdi_aarch64): Change alternative 14 to use neon_move not fmov.
(movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
* config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
aarch64_float_const_zero_rtx_p check before TFmode check.
* config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
an fp zero.
(movtf_aarch64): Separate ?rY alternative into two.  Adjust assembly
code and attributes to match.  Change condition from register_operand
to aarch64_reg_or_fp_zero for op1.  Change type for ldp from
neon_load1_2reg to load2.  Change type for stp from neon_store1_2reg
to store2.

From-SVN: r224493

9 years agore PR c++/51048 (Class template inheritance doesn't work well with function-local...
Paolo Carlini [Mon, 15 Jun 2015 19:26:27 +0000 (19:26 +0000)]
re PR c++/51048 (Class template inheritance doesn't work well with function-local types)

/cp
2015-06-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51048
* decl2.c (no_linkage_error): Do not issue a permerror if the DECL
using a local type is pure virtual.

/testsuite
2015-06-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51048
* g++.dg/cpp0x/local-type1.C: New.

From-SVN: r224492

9 years agoRemove dg-options -O2 in libgomp.c
Tom de Vries [Mon, 15 Jun 2015 18:10:51 +0000 (18:10 +0000)]
Remove dg-options -O2 in libgomp.c

2015-06-15  Tom de Vries  <tom@codesourcery.com>

* testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
dg-additional-options for any remaining options.
* testsuite/libgomp.c/atomic-2.c: Same.
* testsuite/libgomp.c/atomic-4.c: Same.
* testsuite/libgomp.c/atomic-5.c: Same.
* testsuite/libgomp.c/atomic-6.c: Same.
* testsuite/libgomp.c/autopar-1.c: Same.
* testsuite/libgomp.c/copyin-1.c: Same.
* testsuite/libgomp.c/copyin-2.c: Same.
* testsuite/libgomp.c/copyin-3.c: Same.
* testsuite/libgomp.c/examples-4/e.53.5.c: Same.
* testsuite/libgomp.c/nestedfn-5.c: Same.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
* testsuite/libgomp.c/pr32362-1.c: Same.
* testsuite/libgomp.c/pr32362-2.c: Same.
* testsuite/libgomp.c/pr32362-3.c: Same.
* testsuite/libgomp.c/pr39591-1.c: Same.
* testsuite/libgomp.c/pr39591-2.c: Same.
* testsuite/libgomp.c/pr39591-3.c: Same.
* testsuite/libgomp.c/pr58392.c: Same.
* testsuite/libgomp.c/pr58756.c: Same.
* testsuite/libgomp.c/simd-1.c: Same.
* testsuite/libgomp.c/simd-10.c: Same.
* testsuite/libgomp.c/simd-11.c: Same.
* testsuite/libgomp.c/simd-12.c: Same.
* testsuite/libgomp.c/simd-13.c: Same.
* testsuite/libgomp.c/simd-14.c: Same.
* testsuite/libgomp.c/simd-15.c: Same.
* testsuite/libgomp.c/simd-2.c: Same.
* testsuite/libgomp.c/simd-3.c: Same.
* testsuite/libgomp.c/simd-4.c: Same.
* testsuite/libgomp.c/simd-5.c: Same.
* testsuite/libgomp.c/simd-6.c: Same.
* testsuite/libgomp.c/simd-7.c: Same.
* testsuite/libgomp.c/simd-8.c: Same.
* testsuite/libgomp.c/simd-9.c: Same.

From-SVN: r224489

9 years agoAdd MERGE file to track the git revision of the most recent change in
Ian Lance Taylor [Mon, 15 Jun 2015 17:56:25 +0000 (17:56 +0000)]
Add MERGE file to track the git revision of the most recent change in
the master gofrontend repository.

From-SVN: r224488

9 years agocompiler: Don't crash when dumping ast of empty block.
Ian Lance Taylor [Mon, 15 Jun 2015 17:43:02 +0000 (17:43 +0000)]
compiler: Don't crash when dumping ast of empty block.

Fixes golang/go#10420.

From-SVN: r224487

9 years agore PR debug/66535 (segfault in gen_subprogram_die after debug-early merge)
Aldy Hernandez [Mon, 15 Jun 2015 16:34:53 +0000 (16:34 +0000)]
re PR debug/66535 (segfault in gen_subprogram_die after debug-early merge)

PR debug/66535
* dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
there is no parent.

From-SVN: r224486

9 years agoFix typo in libgomp/testsuite/libgomp.c/pr35625.c
Tom de Vries [Mon, 15 Jun 2015 13:57:04 +0000 (13:57 +0000)]
Fix typo in libgomp/testsuite/libgomp.c/pr35625.c

2015-06-15  Tom de Vries  <tom@codesourcery.com>

* testsuite/libgomp.c/pr35625.c: Fix typo.

From-SVN: r224483

9 years agoRemove -fopenmp in dg-options in libgomp.c
Tom de Vries [Mon, 15 Jun 2015 13:26:12 +0000 (13:26 +0000)]
Remove -fopenmp in dg-options in libgomp.c

2015-06-15  Tom de Vries  <tom@codesourcery.com>

* testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
in dg-options.
* testsuite/libgomp.c/atomic-3.c: Same.
* testsuite/libgomp.c/debug-1.c: Same.
* testsuite/libgomp.c/nqueens-1.c: Same.
* testsuite/libgomp.c/pr26171.c: Same.
* testsuite/libgomp.c/pr48591.c: Same.
* testsuite/libgomp.c/pr64824.c: Same.
* testsuite/libgomp.c/pr64868.c: Same.
* testsuite/libgomp.c/pr66133.c: Same.
* testsuite/libgomp.c/pr66199-1.c: Same.
* testsuite/libgomp.c/pr66199-2.c: Same.
* testsuite/libgomp.c/target-8.c: Same.

From-SVN: r224480

9 years agoUse dg-additional-options for -std={gnu99,c99}
Tom de Vries [Mon, 15 Jun 2015 13:26:03 +0000 (13:26 +0000)]
Use dg-additional-options for -std={gnu99,c99}

2015-06-15  Tom de Vries  <tom@codesourcery.com>

* testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
-std={gnu99,c99}.
* testsuite/libgomp.c/for-1.c: Same.
* testsuite/libgomp.c/for-2.c: Same.
* testsuite/libgomp.c/for-3.c: Same.
* testsuite/libgomp.c/pr35625.c: Same.
* testsuite/libgomp.c/pr39154.c: Same.
* testsuite/libgomp.c/simd-16.c: Same.
* testsuite/libgomp.c/simd-17.c: Same.

From-SVN: r224479

9 years agore PR fortran/44672 ([F08] ALLOCATE with SOURCE and no array-spec)
Andre Vehreschild [Mon, 15 Jun 2015 10:08:04 +0000 (12:08 +0200)]
re PR fortran/44672 ([F08] ALLOCATE with SOURCE and no array-spec)

gcc/testsuite/ChangeLog:

2015-06-15  Andre Vehreschild  <vehre@gmx.de>

PR fortran/44672
PR fortran/45440
PR fortran/57307
* gfortran.dg/allocate_with_source_3.f90: Removed check for
unimplemented error.
* gfortran.dg/allocate_with_source_7.f08: New test.
* gfortran.dg/allocate_with_source_8.f08: New test.

gcc/fortran/ChangeLog:

2015-06-15  Andre Vehreschild  <vehre@gmx.de>

PR fortran/44672
PR fortran/45440
PR fortran/57307
* gfortran.h: Extend gfc_code.ext.alloc to carry a
flag indicating that the array specification has to be
taken from expr3.
* resolve.c (resolve_allocate_expr): Add F2008 notify
and flag indicating source driven array spec.
(resolve_allocate_deallocate): Check for source driven
array spec, when array to allocate has no explicit
array spec.
* trans-array.c (gfc_array_init_size): Get lower and
upper bound from a tree array descriptor, except when
the source expression is an array-constructor which is
fixed to be one-based.
(retrieve_last_ref): Extracted from gfc_array_allocate().
(gfc_array_allocate): Enable allocate(array, source=
array_expression) as specified by F2008:C633.
(gfc_conv_expr_descriptor): Add class tree expression
into the saved descriptor for class arrays.
* trans-array.h: Add temporary array descriptor to
gfc_array_allocate ().
* trans-expr.c (gfc_conv_procedure_call): Special handling
for _copy() routine translation, that comes without an
interface. Third and fourth argument are now passed by value.
* trans-stmt.c (gfc_trans_allocate): Get expr3 array
descriptor for temporary arrays to allow allocate(array,
source = array_expression) for array without array
specification.

From-SVN: r224477

9 years ago[AArch64] Change %ld to %wd for HOST_WIDE_INT parameter.
Shiva Chen [Mon, 15 Jun 2015 09:58:42 +0000 (09:58 +0000)]
[AArch64] Change %ld to %wd for HOST_WIDE_INT parameter.

From-SVN: r224476

9 years agoDaily bump.
GCC Administrator [Mon, 15 Jun 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224475

9 years agore PR ipa/66181 (/usr/include/bits/types.h:134:16: ICE: verify_type failed)
Jan Hubicka [Sun, 14 Jun 2015 23:40:12 +0000 (01:40 +0200)]
re PR ipa/66181 (/usr/include/bits/types.h:134:16: ICE: verify_type failed)

PR ipa/66181
* lto.c (compare_tree_sccs_1): Do not compare TYPE_NO_FORCE_BLK.
* lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
* tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
TYPE_NO_FORCE_BLK.
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.

From-SVN: r224471

9 years agortl.h (classify_insn): Declare.
Richard Sandiford [Sun, 14 Jun 2015 20:25:40 +0000 (20:25 +0000)]
rtl.h (classify_insn): Declare.

gcc/
* rtl.h (classify_insn): Declare.
* emit-rtl.c (classify_insn): Move to...
* rtl.c: ...here and add generator support.
* gensupport.h (get_emit_function, needs_barrier_p): Declare.
* gensupport.c (get_emit_function, needs_barrier_p): New functions.
* genemit.c (gen_emit_seq): New function.
(gen_expand, gen_split): Use it.

From-SVN: r224470

9 years ago* sv.po: Update.
Joseph Myers [Sun, 14 Jun 2015 17:01:10 +0000 (18:01 +0100)]
* sv.po: Update.

From-SVN: r224468

9 years agocrontab: Disable snapshots from the 4.8 branch.
Richard Biener [Sun, 14 Jun 2015 10:21:05 +0000 (10:21 +0000)]
crontab: Disable snapshots from the 4.8 branch.

2015-06-14  Richard Biener  <rguenther@suse.de>

* crontab: Disable snapshots from the 4.8 branch.

From-SVN: r224466

9 years agore PR middle-end/66325 (ICE in gcc.c-torture/execute/930408-1.c, verify_type fails...
Jan Hubicka [Sun, 14 Jun 2015 07:05:03 +0000 (09:05 +0200)]
re PR middle-end/66325 (ICE in gcc.c-torture/execute/930408-1.c, verify_type fails with --enable-checking=yes on arm-none-eabi)

PR middle-end/66325
* c-decl.c (start_enum): Set TYPE_PACKED consistently among type
variants.

From-SVN: r224463

9 years agointrinsic.texi: Change \leq to < in descrition of imaginary part in argument to log.
Thomas Koenig [Sun, 14 Jun 2015 07:05:00 +0000 (07:05 +0000)]
intrinsic.texi: Change \leq to < in descrition of imaginary part in argument to log.

2015-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

* intrinsic.texi:  Change \leq to < in descrition of imaginary
part in argument to log.

From-SVN: r224462

9 years agoDaily bump.
GCC Administrator [Sun, 14 Jun 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224461

9 years agoFix comment documenting make_vector_stat
Patrick Palka [Sat, 13 Jun 2015 16:29:47 +0000 (16:29 +0000)]
Fix comment documenting make_vector_stat

* tree.c (make_vector_stat): Fix comment to state that the
function returns a VECTOR_CST.

From-SVN: r224457

9 years agoRemove stale commentary in cp/call.c
Patrick Palka [Sat, 13 Jun 2015 16:22:19 +0000 (16:22 +0000)]
Remove stale commentary in cp/call.c

* call.c: Remove comment documenting the long-deleted
function build_method_call.

From-SVN: r224456

9 years agoEmit -Waddress warnings for comparing address of reference against NULL
Patrick Palka [Sat, 13 Jun 2015 16:11:15 +0000 (16:11 +0000)]
Emit -Waddress warnings for comparing address of reference against NULL

gcc/c-family/ChangeLog:

PR c++/65168
* c-common.c (c_common_truthvalue_conversion): Warn when
converting an address of a reference to a truth value.

gcc/cp/ChangeLog:

PR c++/65168
* typeck.c (cp_build_binary_op): Warn when comparing an address
of a reference against NULL.

gcc/testsuite/ChangeLog:

PR c++/65168
g++.dg/warn/Walways-true-3.C: New test.

From-SVN: r224455

9 years agogensupport.h (add_implicit_parallel): Declare.
Richard Sandiford [Sat, 13 Jun 2015 09:48:35 +0000 (09:48 +0000)]
gensupport.h (add_implicit_parallel): Declare.

gcc/
* gensupport.h (add_implicit_parallel): Declare.
* genrecog.c (add_implicit_parallel): Move to...
* gensupport.c (add_implicit_parallel): ...here.
(process_one_cond_exec): Use it.
* genemit.c (gen_insn): Likewise.

From-SVN: r224454

9 years agoAdd gcc.dg/parloops-exit-first-loop-alt-4.c
Tom de Vries [Sat, 13 Jun 2015 08:05:54 +0000 (08:05 +0000)]
Add gcc.dg/parloops-exit-first-loop-alt-4.c

2015-06-13  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/parloops-exit-first-loop-alt-4.c: New test.

* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.

From-SVN: r224453

9 years agoUpdate parloops-exit-first-loop-alt{,-2,-3}.c
Tom de Vries [Sat, 13 Jun 2015 08:05:44 +0000 (08:05 +0000)]
Update parloops-exit-first-loop-alt{,-2,-3}.c

2015-06-13  Tom de Vries  <tom@codesourcery.com>

* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
(N): Define.
(main): Use N instead of hardcoded constants.

* gcc.dg/parloops-exit-first-loop-alt-2.c: Add comment.
(main): Remove superfluous attributes.
* gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
* gcc.dg/parloops-exit-first-loop-alt.c: Same.

From-SVN: r224452

9 years agore PR bootstrap/66448 (Bootstrap fails on darwin after r224161)
Iain Sandoe [Sat, 13 Jun 2015 07:55:05 +0000 (07:55 +0000)]
re PR bootstrap/66448 (Bootstrap fails on darwin after r224161)

gcc:
PR bootstrap/66448
* passes.c (rest_of_decl_compilation): Do not register globals for
early debug if they are declared in built-ins.

From-SVN: r224451

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

From-SVN: r224450

9 years agore PR c++/65719 (Link error with constexpr variable template)
Jason Merrill [Fri, 12 Jun 2015 18:16:22 +0000 (14:16 -0400)]
re PR c++/65719 (Link error with constexpr variable template)

PR c++/65719
* pt.c (tsubst_decl) [VAR_DECL]: Mark namespace-scope
variables as DECL_NOT_REALLY_EXTERN.

From-SVN: r224442

9 years ago* dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
Aldy Hernandez [Fri, 12 Jun 2015 13:44:15 +0000 (13:44 +0000)]
* dwarf2out.c (check_die): Protect with ENABLE_CHECKING.

From-SVN: r224431

9 years ago[ifcvt][obvious] Use std::swap instead of manually swapping
Kyrylo Tkachov [Fri, 12 Jun 2015 13:18:17 +0000 (13:18 +0000)]
[ifcvt][obvious] Use std::swap instead of manually swapping

* ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
manually swapping.
(noce_try_cmove_arith): Likewise.
(noce_get_alt_condition): Likewise.

From-SVN: r224429

9 years ago* include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>.
Jonathan Wakely [Fri, 12 Jun 2015 12:27:06 +0000 (13:27 +0100)]
* include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>.

From-SVN: r224425

9 years agoFix whitespace in changelog.
Jonathan Wakely [Fri, 12 Jun 2015 10:26:10 +0000 (11:26 +0100)]
Fix whitespace in changelog.

From-SVN: r224416

9 years agore PR libstdc++/66464 (codecvt_utf16 max_length returning incorrect value)
Jonathan Wakely [Fri, 12 Jun 2015 10:26:05 +0000 (11:26 +0100)]
re PR libstdc++/66464 (codecvt_utf16 max_length returning incorrect value)

PR libstdc++/66464
* src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
Return 4 not 3.

From-SVN: r224415

9 years agogcc/
Venkataramanan Kumar [Fri, 12 Jun 2015 10:02:25 +0000 (10:02 +0000)]
gcc/
2015-06-12  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        * common/config/i386/i386-common.c
        (OPTION_MASK_ISA_MWAITX_SET): New.
        (ix86_handle_option): Handle mwaitx.
        * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
        (x86_64-*-*): Likewise.
        * config/i386/mwaitxintrin.h: New header.
        * config/i386/cpuid.h (bit_MWAITX):  Define.
        * config/i386/driver-i386.c (host_detect_local_cpu): Detect
        MWAITX support.
        * config/i386/i386.opt (mwaitx): New.
        * config/i386/i386-builtin-types.def
        (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
        * config/i386/i386-c.c: Define __MWAITX__ if needed.
        * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
        (PTA_MWAITX): New.
        (ix86_option_override_internal): Handle new option.
        (processor_alias_table): Added PTA_MWAITX.
        (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
        (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
        (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
        IX86_BUILTIN_MONITORX  built-ins.
        * config/i386/i386.h (TARGET_MWAITX): New.
        * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
        UNSPEC_MONITORX.
        (mwaitx):  New pattern.
        (monitorx_<mode>): New pattern.
        * config/i386/x86intrin.h: Include mwaitxintrin.h.
        * doc/extend.texi: Document monitorx and mwaitx builtins.
        * doc/invoke.texi: Document -mmwaitx option.

gcc/testsuite

2015-06-12  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

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

From-SVN: r224414

9 years agoUse atomics in guard.cc / remove special casing in targets.
Ramana Radhakrishnan [Fri, 12 Jun 2015 09:55:38 +0000 (09:55 +0000)]
Use atomics in guard.cc / remove special casing in targets.

The PowerPC, AIX, Alpha, IA64  implementations of atomic_word.h are in no
way different from what can be achieved with the generic rewrite in
Patch 1 of this series - delete these.

2015-06-12  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/cpu/alpha/atomic_word.h: Remove.
        * config/cpu/ia64/atomic_word.h: Remove.
        * config/cpu/powerpc/atomic_word.h: Remove.
        * config/os/aix/atomic_word.h: Remove.
        * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
        Use generic definition.

From-SVN: r224413

9 years agoUse atomics in guard.cc / remove special casing in targets.
Ramana Radhakrishnan [Fri, 12 Jun 2015 09:53:24 +0000 (09:53 +0000)]
Use atomics in guard.cc / remove special casing in targets.

The PowerPC, AIX, Alpha, IA64  implementations of atomic_word.h are in no
way different from what can be achieved with the generic rewrite in
Patch 1 of this series - delete these.

2015-06-12  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/cpu/alpha/atomic_word.h: Remove.
        * config/cpu/ia64/atomic_word.h: Remove.
        * config/cpu/powerpc/atomic_word.h: Remove.
        * config/os/aix/atomic_word.h: Remove.
        * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
        Use generic definition.

From-SVN: r224412

9 years agoUse atomics in guard.cc.
Ramana Radhakrishnan [Fri, 12 Jun 2015 09:49:41 +0000 (09:49 +0000)]
Use atomics in guard.cc.

This provides proper definitions for _GLIBCXX_READ_MEM_BARRIER and
_GLIBCXX_WRITE_MEM_BARRIER, rewrites the guards in terms of proper
atomic extensions and removes internal uses of
_GLIBCXX_READ_MEM_BARRIER and _GLIBCXX_WRITE_MEM_BARRIER and replaces
them with equivalent atomics.

2015-06-12  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/66200
PR c++/66192
* * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define
        (_GLIBCXX_WRITE_MEM_BARRIER): Likewise
        * include/bits/shared_ptr_base.h: Use ACQ_REL barrier.
        * include/ext/atomicity.h: Likewise.
        * include/tr1/shared_ptr.h: Likewise.
        * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics.
        Update comment.
        (__set_and_release): Likewise.
        * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for
line numbers.
        * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
        * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
Likewise.

From-SVN: r224411

9 years agoemit-rtl.c (need_atomic_barrier_p): Mask model with MEMMODEL_BASE_MASK.
Uros Bizjak [Fri, 12 Jun 2015 09:06:27 +0000 (11:06 +0200)]
emit-rtl.c (need_atomic_barrier_p): Mask model with MEMMODEL_BASE_MASK.

* emit-rtl.c (need_atomic_barrier_p): Mask model with
MEMMODEL_BASE_MASK.  Remove MEMMODEL_SYNC_* cases.

From-SVN: r224410

9 years agolto-lang.c (lto_type_for_size): Include intN types.
DJ Delorie [Fri, 12 Jun 2015 05:59:31 +0000 (01:59 -0400)]
lto-lang.c (lto_type_for_size): Include intN types.

* lto-lang.c (lto_type_for_size): Include intN types.
(lto_type_for_mode): Likewise.

From-SVN: r224408

9 years agodbxout.c (xcoff_debug_hooks): Provide a function for register_main_translation_unit...
David Edelsohn [Fri, 12 Jun 2015 00:32:08 +0000 (00:32 +0000)]
dbxout.c (xcoff_debug_hooks): Provide a function for register_main_translation_unit hook.

* dbxout.c (xcoff_debug_hooks): Provide a function for
register_main_translation_unit hook.

From-SVN: r224407

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

From-SVN: r224406

9 years agore PR sanitizer/65479 (sanitizer stack trace missing frames past #0 on powerpc64)
Martin Sebor [Fri, 12 Jun 2015 00:01:50 +0000 (00:01 +0000)]
re PR sanitizer/65479 (sanitizer stack trace missing frames past #0 on powerpc64)

2015-06-11  Martin Sebor  <msebor@redhat.com>

PR sanitizer/65479
* dwarf.c (struct line): Add new field idx.
(line_compare): Use it.
(add_line): Set it.
(read_line_info): Reset it.

From-SVN: r224402

9 years agors6000.c (rs6000_pre_atomic_barrier): Remove SYNC variants cases from switch.
David Edelsohn [Fri, 12 Jun 2015 00:00:53 +0000 (00:00 +0000)]
rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC variants cases from switch.

       * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
        variants cases from switch.
        (rs6000_post_atomic_barrier): Same.
        (rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
        (rs6000_expand_atomic_exchange): Same.
        (rs6000_expand_atomic_op): Same.
        * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
        SYNC variants cases from switch.
        (atomic_load): Same.
        (atomic_store): Same.

From-SVN: r224401

9 years agotuple (__is_tuple_like_impl): Disambiguate array in debug and profile modes.
Jonathan Wakely [Thu, 11 Jun 2015 23:22:19 +0000 (00:22 +0100)]
tuple (__is_tuple_like_impl): Disambiguate array in debug and profile modes.

* include/std/tuple (__is_tuple_like_impl): Disambiguate array in
debug and profile modes.
* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests
for swap in C++11 and later.

From-SVN: r224397

9 years agopa.c (pa_output_global_address): Handle LABEL_REF plus CONST_INT for goto.
John David Anglin [Thu, 11 Jun 2015 23:20:33 +0000 (23:20 +0000)]
pa.c (pa_output_global_address): Handle LABEL_REF plus CONST_INT for goto.

* config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
CONST_INT for goto.

From-SVN: r224396

9 years agostringop-2.c: Fix ifdef __mips.
Steve Ellcey [Thu, 11 Jun 2015 21:53:44 +0000 (21:53 +0000)]
stringop-2.c: Fix ifdef __mips.

2015-06-11  Steve Ellcey  <sellcey@imgtec.com>

* gcc.dg/tree-prof/stringop-2.c: Fix ifdef __mips.

From-SVN: r224394

9 years agore PR bootstrap/66448 (Bootstrap fails on darwin after r224161)
Aldy Hernandez [Thu, 11 Jun 2015 20:46:46 +0000 (20:46 +0000)]
re PR bootstrap/66448 (Bootstrap fails on darwin after r224161)

PR bootstrap/66448
* dwarf2out.c (check_die): Check for common duplicate attributes.
(add_location_or_const_value_attribute): Do not add duplicate
attributes.
(gen_formal_parameter_die): Do not add DW_AT_artificial the second
time around.
(gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
(gen_type_die_with_usage): Call check_die.
(dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.

From-SVN: r224393

9 years agodwarf2out.c (prune_unused_types): Handle unused top-level limbo dies.
Jason Merrill [Thu, 11 Jun 2015 17:33:40 +0000 (13:33 -0400)]
dwarf2out.c (prune_unused_types): Handle unused top-level limbo dies.

* dwarf2out.c (prune_unused_types): Handle unused top-level limbo
dies.

From-SVN: r224391

9 years ago* match.pd ((x & y) ^ (x | y)): Don't check for single_use.
Marek Polacek [Thu, 11 Jun 2015 17:18:34 +0000 (17:18 +0000)]
* match.pd ((x & y) ^ (x | y)): Don't check for single_use.

From-SVN: r224390

9 years agoFix misplaced ChangeLog entries
Pierre-Marie de Rodat [Thu, 11 Jun 2015 16:03:47 +0000 (16:03 +0000)]
Fix misplaced ChangeLog entries

From-SVN: r224387

9 years agore PR bootstrap/66252 (bootstrap comparison failures on sparc-linux)
Eric Botcazou [Thu, 11 Jun 2015 15:56:30 +0000 (15:56 +0000)]
re PR bootstrap/66252 (bootstrap comparison failures on sparc-linux)

PR bootstrap/66252
* config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
* config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
(*addx_extend_sp32): Fix pasto.
(*subx_extend): Rename into...
(*subx_extend_sp32): ...this.
(*adddi3_extend_sp32): Add earlyclobber.
(*subdi3_insn_sp32): Likewise.
(*subdi3_extend_sp32): Likewise.
(*and_not_di_sp32): Likewise.
(*or_not_di_sp32): Likewise.
(*xor_not_di_sp32): Likewise.
(*negdi2_sp32): Likewise.
(*one_cmpldi2_sp32): Likewise.

From-SVN: r224384

9 years agore PR fortran/66079 (memory leak with source allocation in internal subprogram)
Paul Thomas [Thu, 11 Jun 2015 15:49:32 +0000 (15:49 +0000)]
re PR fortran/66079 (memory leak with source allocation in internal subprogram)

2015-06-11  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/66079
* trans-expr.c (gfc_conv_procedure_call): Allocatable scalar
function results must be freed and nullified after use. Create
a temporary to hold the result to prevent duplicate calls.
* trans-stmt.c (gfc_trans_allocate): Rename temporary variable
as 'source'. Deallocate allocatable components of non-variable
'source's.

2015-06-11  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/66079
* gfortran.dg/allocatable_scalar_13.f90: New test

From-SVN: r224383

9 years agore PR c++/66445 (ICE with lambda in stmt expression in a template)
Jason Merrill [Thu, 11 Jun 2015 15:45:08 +0000 (11:45 -0400)]
re PR c++/66445 (ICE with lambda in stmt expression in a template)

PR c++/66445
* constexpr.c (potential_constant_expression_1): Handle a
DECL_EXPR of TYPE_DECL.

From-SVN: r224382

9 years agore PR c++/66450 ([C++11][constexpr] Issues when delegating implicit copy constructor...
Jason Merrill [Thu, 11 Jun 2015 15:45:01 +0000 (11:45 -0400)]
re PR c++/66450 ([C++11][constexpr] Issues when delegating implicit copy constructor in constexpr function)

PR c++/66450
* constexpr.c (cxx_eval_store_expression): Avoid messing up outer
ctx->ctor.

From-SVN: r224381

9 years agoRestore DW_AT_abstract_origin for cross-unit call sites
Pierre-Marie de Rodat [Thu, 11 Jun 2015 12:40:10 +0000 (12:40 +0000)]
Restore DW_AT_abstract_origin for cross-unit call sites

PR debug/66503

gcc/ChangeLog:
* debug.h (struct gcc_debug_hooks): Add a
register_main_translation_unit hook.
* debug.c (do_nothing_debug_hooks): Provide a function for this
new hook.
* dbxout.c (dbx_debug_hooks): Likewise.
* sdbout.c (sdb_debug_hooks): Likewise.
* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
* dwarf2out.c (main_translation_unit): New global variable.
(dwarf2out_register_main_translation_unit): New function
implementing the new hook.
(dwarf2_debug_hooks): Assign
dwarf2out_register_main_translation_unit to this new hook.
(dwarf2out_init): Associate any main translation unit to
comp_unit_die ().
* c/c-decl.c (pop_scope): Register the main translation unit
through the new debug hook.
* cp/decl.c (cxx_init_decl_processing): Likewise.

gcc/ada/ChangeLog:
* gcc-interface/utils.c (get_global_context): Register the main
translation unit through the new debug hook.

gcc/fortran/ChangeLog:
* f95-lang.c (gfc_create_decls): Register the main translation
unit through the new debug hook.

From-SVN: r224371

9 years agomatch.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
Marek Polacek [Thu, 11 Jun 2015 12:37:37 +0000 (12:37 +0000)]
match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.

* match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.

* gcc.dg/fold-xor-3.c: New test.

From-SVN: r224370

9 years ago* match.pd: Use single_use throughout.
Marek Polacek [Thu, 11 Jun 2015 10:42:44 +0000 (10:42 +0000)]
* match.pd: Use single_use throughout.

From-SVN: r224368

9 years ago[ARM] Restrict MAX_CONDITIONAL_EXECUTE when -mrestrict-it is in place
Kyrylo Tkachov [Thu, 11 Jun 2015 10:01:11 +0000 (10:01 +0000)]
[ARM] Restrict MAX_CONDITIONAL_EXECUTE when -mrestrict-it is in place

* config/arm/arm.c (arm_option_params_internal): When optimising
for speed set max_insns_skipped when arm_restrict_it.

* gcc.target/arm/short-it-ifcvt-1.c: New test.
* gcc.target/arm/short-it-ifcvt-2.c: Likewise.

From-SVN: r224367

9 years agos/recogniwed/recognized
Christian Bruel [Thu, 11 Jun 2015 09:06:26 +0000 (11:06 +0200)]
s/recogniwed/recognized

From-SVN: r224366

9 years agoAdd ARM/thumb pragma target
Christian Bruel [Thu, 11 Jun 2015 08:51:17 +0000 (10:51 +0200)]
Add ARM/thumb pragma target

PR target/52144
* config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
 macros in ...
(arm_cpu_builtins): New function.
(arm_pragma_target_parse): Call arm_cpu_builtins.
* config/arm/arm-protos.h (arm_cpu_builtins): Declare.
(arm_register_target_pragmas): Likewise.
* config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
 Call arm_register_target_pragmas.
* config/arm/arm-c.c (arm_register_target_pragmas): New function.
(arm_pragma_target_parse): Likewise.

PR target/52144
* gcc.target/arm/pragma_attribute.c: New test.

From-SVN: r224365

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

From-SVN: r224363

9 years agosh.md (tstsi_t): Add '?' modifier to 'r' alternative of the 2nd operand to fix failur...
Kaz Kojima [Wed, 10 Jun 2015 21:45:37 +0000 (21:45 +0000)]
sh.md (tstsi_t): Add '?' modifier to 'r' alternative of the 2nd operand to fix failures for...

* config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative of
  the 2nd operand to fix failures for gcc.target/sh/pr49263-2.c with -mlra.

From-SVN: r224349

9 years agomangle-regparm.C (dg-optiond): Add -save-temps.
Uros Bizjak [Wed, 10 Jun 2015 18:28:58 +0000 (20:28 +0200)]
mangle-regparm.C (dg-optiond): Add -save-temps.

* g++.dg/abi/mangle-regparm.C (dg-optiond): Add -save-temps.

From-SVN: r224341

9 years agore PR target/66473 (ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with...
Uros Bizjak [Wed, 10 Jun 2015 18:23:31 +0000 (20:23 +0200)]
re PR target/66473 (ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with -mavx512f)

PR target/66473
* config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
to prepare mask operand for AVX512 modes.

testsuite/ChangeLog:

PR target/66473
* gcc.target/i386/pr66473.c: New test.

From-SVN: r224340

9 years agore PR target/66474 (Document the use of %x in powerpc asm statements)
Michael Meissner [Wed, 10 Jun 2015 16:51:49 +0000 (16:51 +0000)]
re PR target/66474 (Document the use of %x in powerpc asm statements)

2015-06-10  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/66474
* doc/md.texi (Machine Constraints): Document that on the PowerPC
if you use a constraint that targets a VSX register, you must use
%x<n> in the template.

From-SVN: r224332

9 years agore PR c++/66289 ("error: ambiguous template instantiation" with partial specializatio...
Jason Merrill [Wed, 10 Jun 2015 15:17:57 +0000 (11:17 -0400)]
re PR c++/66289 ("error: ambiguous template instantiation" with partial specialization defined in terms of alias template)

PR c++/66289
* cp-tree.h (TEMPLATE_DECL_COMPLEX_ALIAS_P): New.
* pt.c (push_template_decl_real): Set it.
(dependent_alias_template_spec_p): Use it.
(dependent_type_p_r): Use dependent_alias_template_spec_p.
(uses_all_template_parms_data, uses_all_template_parms_r)
(complex_alias_template_p): New.
(get_template_parm_index): Handle BOUND_TEMPLATE_TEMPLATE_PARM.

From-SVN: r224331

9 years agoxtensa: implement trap pattern
Max Filippov [Wed, 10 Jun 2015 15:07:40 +0000 (15:07 +0000)]
xtensa: implement trap pattern

2015-06-10  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
* config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
* config/xtensa/xtensa.md (define_attr "type"): New type "trap".
(define_insn "trap"): New definition.

From-SVN: r224330

9 years agotree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split out from ...
Richard Biener [Wed, 10 Jun 2015 10:39:31 +0000 (10:39 +0000)]
tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split out from ...

2015-06-10  Richard Biener  <rguenther@suse.de>

* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
out from ...
(vect_supported_load_permutation_p): ... here.  Handle
supportable permutations in reductions.
* tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
for vectorizing strided group loads.

From-SVN: r224324

9 years agore PR target/66470 (TLS ICE due to ix86_split_long_move)
Jakub Jelinek [Wed, 10 Jun 2015 09:12:53 +0000 (11:12 +0200)]
re PR target/66470 (TLS ICE due to ix86_split_long_move)

PR target/66470
* config/i386/i386.c (ix86_split_long_move): For collisions
involving direct tls segment refs, move the UNSPEC_TP possibly
wrapped in ZERO_EXTEND out of the address for lea, to each of
the memory loads.

* gcc.dg/tls/pr66470.c: New test.
* gcc.target/i386/pr66470.c: New test.

From-SVN: r224319

9 years agoUse dmb ish instead of dmb sy for ARM.
Ramana Radhakrishnan [Wed, 10 Jun 2015 08:56:07 +0000 (08:56 +0000)]
Use dmb ish instead of dmb sy for ARM.

2015-06-10  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/sync.md (*memory_barrier): Use dmb ish instead of
dmb sy. Adjust tabs.

From-SVN: r224317

9 years agoFix build for ENABLE_OFFLOADING in expand_omp_target
Tom de Vries [Wed, 10 Jun 2015 08:20:50 +0000 (08:20 +0000)]
Fix build for ENABLE_OFFLOADING in expand_omp_target

2015-06-10  Tom de Vries  <tom@codesourcery.com>

* omp-low.c (expand_omp_target): Remove duplicate declaration of node.

From-SVN: r224316

9 years agoFix BITMAP identifier clash.
Martin Liska [Wed, 10 Jun 2015 07:57:34 +0000 (09:57 +0200)]
Fix BITMAP identifier clash.

PR bootstrap/66471
* mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
all enum values in mem_alloc_origin.
* alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
name.
* alloc-pool.h (pool_allocator::pool_allocator): Likewise.
* bitmap.c (bitmap_register): Likewise.
(dump_bitmap_statistics): Likewise.
* ggc-common.c (dump_ggc_loc_statistics): Likewise.
(ggc_record_overhead): Likewise.
* hash-map.h: Likewise.
* hash-set.h: Likewise.
* hash-table.c (void dump_hash_table_loc_statistics): Likewise.
* hash-table.h: Likewise.
* vec.c (vec_prefix::register_overhead): Likewise.
(vec_prefix::release_overhead): Likewise.
(dump_vec_loc_statistics): Likewise.

From-SVN: r224315

9 years agoAdd ARM/thumb attribute target
Christian Bruel [Wed, 10 Jun 2015 07:50:59 +0000 (09:50 +0200)]
Add ARM/thumb attribute target

PR target/52144

* config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
* config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
(arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
* config/arm/arm.h (SWITCHABLE_TARGET): Define.
* config/arm/arm.c (arm_reset_previous_fndecl): New functions.
(arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
(arm_valid_target_attribute_p): Likewise.
(arm_set_current_function, arm_can_inline_p): Likewise.
(arm_valid_target_attribute_rec): Likewise.
(arm_previous_fndecl): New variable.
(TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
(TARGET_CAN_INLINE_P): Define.
(arm_asm_trampoline_template): Emit mode.
(arm_file_start): Don't set unified syntax.
(arm_declare_function_name): Set unified syntax and mode.
(arm_option_override): Init target_option_default_node.
and target_option_current_node.
* config/arm/arm.md (*call_value_symbol): Set mode when possible.
(*call_symbol): Likewise.
* doc/extend.texi: Document ARM/Thumb target attribute.
* doc/invoke.texi: Likewise.

* gcc.target/arm/attr_arm.c: New test
* gcc.target/arm/attr_arm-err.c: New test
* gcc.target/arm/attr_thumb.c: New test
* gcc.target/arm/attr_thumb-static.c: New test

From-SVN: r224314

9 years agoHandle aarch64_guard1.C test
Ramana Radhakrishnan [Wed, 10 Jun 2015 07:43:31 +0000 (07:43 +0000)]
Handle aarch64_guard1.C test

Sorry about missing this hunk in the original submission, was in my tree but I hadn't spotted this as I was playing between the original AArch64 TARGET_RELAXED_ORDER and this patch.

Applied as obvious.

2015-06-09  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/66200
PR target/66428
PR c++/66192
* g++.dg/abi/aarch64_guard1.C: Adjust test.

From-SVN: r224313

9 years ago[Patch testsuite obvious] gcc.target/arm/pr65710.c should not unconditionally set...
James Greenhalgh [Wed, 10 Jun 2015 07:41:26 +0000 (07:41 +0000)]
[Patch testsuite obvious] gcc.target/arm/pr65710.c should not unconditionally set -mfloat-abi=soft

gcc/testsuite/

* gcc.target/arm/pr65710.c: Do not override -mfloat-abi directives
passed by the testsuite driver.

From-SVN: r224312

9 years agoRevert "[PR64164] Drop copyrename, use coalescible partition as base when optimizing."
Alexandre Oliva [Wed, 10 Jun 2015 00:37:39 +0000 (00:37 +0000)]
Revert "[PR64164] Drop copyrename, use coalescible partition as base when optimizing."

This reverts commit c66acc7cedd89bfd22124caec44b8427c9082dac.

Conflicts:
gcc/ChangeLog
gcc/testsuite/ChangeLog

From-SVN: r224310

9 years agoDaily bump.
GCC Administrator [Wed, 10 Jun 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224309

9 years agoMake-lang.in (jit.install-common): Install headers using INSTALL_DATA.
Matthias Klose [Tue, 9 Jun 2015 21:34:18 +0000 (21:34 +0000)]
Make-lang.in (jit.install-common): Install headers using INSTALL_DATA.

2015-06-09  Matthias Klose  <doko@ubuntu.com>

        * Make-lang.in (jit.install-common): Install headers using INSTALL_DATA.

From-SVN: r224305

9 years agoMark offloaded functions as parallelized
Tom de Vries [Tue, 9 Jun 2015 21:14:46 +0000 (21:14 +0000)]
Mark offloaded functions as parallelized

2015-06-09  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65460
* omp-low.c (expand_omp_target): Set parallelized_function on
cgraph_node for child_fn.

From-SVN: r224303

9 years agoMark function parallelized_function before add_new_function
Tom de Vries [Tue, 9 Jun 2015 21:14:38 +0000 (21:14 +0000)]
Mark function parallelized_function before add_new_function

2015-06-09  Tom de Vries  <tom@codesourcery.com>

* omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
parallelized_function before add_new_function.

From-SVN: r224302

9 years agogcc-plugin.h: Move decls to plugin.h and include it.
Andrew MacLeod [Tue, 9 Jun 2015 17:53:24 +0000 (17:53 +0000)]
gcc-plugin.h: Move decls to plugin.h and include it.

* gcc-plugin.h: Move decls to plugin.h and include it.
* plugin.h: Relocate decls from gcc-plugin.h
* ggc-page.c: Include required header files.
* passes.c: Likewise.
* cgraphunit.c: Likewise.

From-SVN: r224293

9 years agoDR 1467 PR c++/51747
Jason Merrill [Tue, 9 Jun 2015 16:56:12 +0000 (12:56 -0400)]
DR 1467 PR c++/51747

DR 1467
PR c++/51747
* typeck2.c (digest_init_r): Replace previous change with
gcc_unreachable.

From-SVN: r224289

9 years agoHandle location in expand_ifn_va_arg_1
Tom de Vries [Tue, 9 Jun 2015 15:46:30 +0000 (15:46 +0000)]
Handle location in expand_ifn_va_arg_1

2015-06-09  Tom de Vries  <tom@codesourcery.com>

* tree-stdarg.c (expand_ifn_va_arg_1): Handle location.

* gcc.target/i386/vararg-loc.c: New test.

From-SVN: r224288

9 years agore PR c++/66387 (ICE in make_decl_rtl with lambda)
Jason Merrill [Tue, 9 Jun 2015 15:27:01 +0000 (11:27 -0400)]
re PR c++/66387 (ICE in make_decl_rtl with lambda)

PR c++/66387
* semantics.c (process_outer_var_ref): Make sure the value is
actually constant before returning it.
* typeck.c (cp_build_array_ref): Allow subscripting non-lvalue
array.

From-SVN: r224287

9 years agore PR c++/65815 (brace elision doesn't work in NSDMI)
Paolo Carlini [Tue, 9 Jun 2015 14:59:08 +0000 (14:59 +0000)]
re PR c++/65815 (brace elision doesn't work in NSDMI)

/cp
2015-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65815
* typeck2.c (digest_nsdmi_init): On aggregates use reshape_init.
* init.c (expand_default_init): Likewise.

/testsuite
2015-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65815
* g++.dg/cpp0x/nsdmi-aggr1.C: New.
* g++.dg/cpp0x/mem-init-aggr1.C: Likewise.

From-SVN: r224286

9 years agore PR bootstrap/66448 (Bootstrap fails on darwin after r224161)
Jason Merrill [Tue, 9 Jun 2015 14:51:30 +0000 (10:51 -0400)]
re PR bootstrap/66448 (Bootstrap fails on darwin after r224161)

PR bootstrap/66448
* toplev.c (check_global_declaration): Don't warn about a clone.

From-SVN: r224285

9 years agore PR tree-optimization/66299 (more optimize opportunity)
Marek Polacek [Tue, 9 Jun 2015 14:24:04 +0000 (14:24 +0000)]
re PR tree-optimization/66299 (more optimize opportunity)

PR tree-optimization/66299
* match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
patterns.

* gcc.dg/pr66299-1.c: New test.
* gcc.dg/pr66299-2.c: New test.
* gcc.dg/pr66299-3.c: New test.

From-SVN: r224283

9 years agore PR c++/66383 (ICE in gimplify_expr on this passed in inline initialization)
Jason Merrill [Tue, 9 Jun 2015 14:13:22 +0000 (10:13 -0400)]
re PR c++/66383 (ICE in gimplify_expr on this passed in inline initialization)

PR c++/66383
* tree.c (replace_placeholders_r): Handle placeholders for an
outer object.
* typeck2.c (store_init_value): Only replace_placeholders for
objects of class type.

From-SVN: r224282

9 years agotree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
Richard Biener [Tue, 9 Jun 2015 14:13:09 +0000 (14:13 +0000)]
tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.

2015-06-09  Richard Biener  <rguenther@suse.de>

* tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
(vect_analyze_slp_instance): Instead do not falsely drop
load permutations.

From-SVN: r224281

9 years ago[Patch testsuite obvious] g++.dg/ext/pr57735.C should not run if the
James Greenhalgh [Tue, 9 Jun 2015 13:06:14 +0000 (13:06 +0000)]
[Patch testsuite obvious] g++.dg/ext/pr57735.C should not run if the
 testsuite is explicitly passing -mfloat-abi=hard

gcc/testsuite/

2015-06-09  James Greenhalgh  <james.greenhalgh@arm.com>

* g++.dg/ext/pr57735.C: Do not override -mfloat-abi directives
passed by the testsuite driver.

From-SVN: r224280

9 years agore PR tree-optimization/66423 (a % (1 << b) no longer gets folded to a & (1 << b...
Richard Biener [Tue, 9 Jun 2015 12:31:43 +0000 (12:31 +0000)]
re PR tree-optimization/66423 (a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a)

2015-06-09  Richard Biener  <rguenther@suse.de>

PR middle-end/66423
* match.pd: Handle A % (unsigned)(1 << B).

* gcc.dg/fold-modpow2.c: New testcase.

From-SVN: r224279

9 years agovarasm.c (output_object_block_htab): Remove.
Aldy Hernandez [Tue, 9 Jun 2015 09:43:07 +0000 (09:43 +0000)]
varasm.c (output_object_block_htab): Remove.

* varasm.c (output_object_block_htab): Remove.
(output_object_block_compare): New.
(output_object_blocks): Sort named object_blocks before outputting
them.

From-SVN: r224274

9 years agore PR libstdc++/66030 ([5.1.0] std::codecvt_byname missing from libstdc++ DLL)
Jonathan Wakely [Tue, 9 Jun 2015 08:50:00 +0000 (09:50 +0100)]
re PR libstdc++/66030 ([5.1.0] std::codecvt_byname missing from libstdc++ DLL)

PR libstdc++/66030
* config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
for mingw32.

From-SVN: r224273

9 years agomisc.c: Remove duplicate include directives.
Eric Botcazou [Tue, 9 Jun 2015 08:33:07 +0000 (08:33 +0000)]
misc.c: Remove duplicate include directives.

* gcc-interface/misc.c: Remove duplicate include directives.
* gcc-interface/trans.c: Likewise.
* gcc-interface/utils.c: Likewise.

From-SVN: r224272

9 years agore PR tree-optimization/66419 (FAIL: gcc.target/aarch64/aapcs64/va_arg-6.c execution...
Richard Biener [Tue, 9 Jun 2015 08:22:20 +0000 (08:22 +0000)]
re PR tree-optimization/66419 (FAIL: gcc.target/aarch64/aapcs64/va_arg-6.c execution,  -O3 -g)

2015-06-09  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66419
* tree-vect-slp.c (vect_supported_load_permutation_p): Properly
consider GROUP_GAP when detecting a perfect subchain.

* gcc.dg/vect/bb-slp-37.c: New testcase.

From-SVN: r224271

9 years agorl78.c (rl78_select_section): When -mes0 is active place read only data in the .froda...
Nick Clifton [Tue, 9 Jun 2015 08:17:06 +0000 (08:17 +0000)]
rl78.c (rl78_select_section): When -mes0 is active place read only data in the .frodata section.

* config/rl78/rl78.c (rl78_select_section): When -mes0 is active
place read only data in the .frodata section.

From-SVN: r224270

9 years ago[GCC, ARM] armv8 linux toolchain asan testcase fail due to stl missing conditional...
Shiva Chen [Tue, 9 Jun 2015 08:15:23 +0000 (08:15 +0000)]
[GCC, ARM] armv8 linux toolchain asan testcase fail due to stl missing conditional code

On behalf of Shiva Chen

2015-06-09  Shiva Chen  <shiva0217@gmail.com>

* sync.md (atomic_load<mode>): Add conditional code for lda/ldr
(atomic_store<mode>): Likewise.

2015-06-09  Shiva Chen  <shiva0217@gmail.com>

* gcc.target/arm/stl-cond.c: New test.

From-SVN: r224269

9 years agocfgloop.c (get_loop_body_in_bfs_order): Fix assert.
Richard Biener [Tue, 9 Jun 2015 08:09:00 +0000 (08:09 +0000)]
cfgloop.c (get_loop_body_in_bfs_order): Fix assert.

2015-06-09  Richard Biener  <rguenther@suse.de>

* cfgloop.c (get_loop_body_in_bfs_order): Fix assert.

From-SVN: r224268