platform/upstream/gcc.git
9 years agoAdd Init_priority support.
Ajit Agarwal [Mon, 18 Aug 2014 17:04:41 +0000 (17:04 +0000)]
Add Init_priority support.

Added TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros. These
macros allows users to control the order of initialization of objects
defined at namespace scope with the init_priority attribute by
specifying a relative priority.

ChangeLog:
2014-07-28  Ajit Agarwal  <ajitkum@xilinx.com>

* config/microblaze/microblaze.c (microblaze_elf_asm_cdtor): New.
(microblaze_elf_asm_constructor,microblaze_elf_asm_destructor): New.
* config/microblaze/microblaze.h
(TARGET_ASM_CONSTRUCTOR,TARGET_ASM_DESTRUCTOR): New Macros.

From-SVN: r214110

9 years agoSet install_gold_as_default to no for --enable-gold=no
H.J. Lu [Mon, 18 Aug 2014 15:49:16 +0000 (15:49 +0000)]
Set install_gold_as_default to no for --enable-gold=no

PR other/62168
* configure.ac: Set install_gold_as_default to no for
 --enable-gold=no.
 * configure: Regenerated.

From-SVN: r214108

9 years agoconfigure.ac: Eliminate ClooG installation dependency.
Roman Gareev [Mon, 18 Aug 2014 15:42:11 +0000 (15:42 +0000)]
configure.ac: Eliminate ClooG installation dependency.

* configure.ac: Eliminate ClooG installation dependency.
* configure: Regenerate.
* Makefile.tpl: Add definition of ISLLIBS and HOST_ISLLIBS.
* Makefile.in: Regenerate.

[config/]

* cloog.m4: Remove the path to isllibs from clooglibs.
* isl.m4: Add paths to islinc, isllibs.

[gcc/]

* Makefile.in: Add definition of ISLLIBS, HOST_ISLLIBS.
* config.in: Add undef of HAVE_isl.
* configure: Regenerate.
* configure.ac: Add definition of HAVE_isl.
* graphite-blocking.c: Add checking of HAVE_isl.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-isl-ast-to-gimple.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* toplev.c: Replace the checking of HAVE_cloog with the checking
of HAVE_isl.

From-SVN: r214106

9 years agore PR middle-end/62090 (ice in compute_may_aliases)
Richard Biener [Mon, 18 Aug 2014 14:51:04 +0000 (14:51 +0000)]
re PR middle-end/62090 (ice in compute_may_aliases)

2014-08-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62090
* builtins.c (fold_builtin_snprintf): Move to gimple-fold.c.
(fold_builtin_3): Do not fold snprintf.
(fold_builtin_4): Likewise.
* gimple-fold.c (gimple_fold_builtin_snprintf): New function
moved from builtins.c.
(gimple_fold_builtin_with_strlen): Fold snprintf and sprintf.
(gimple_fold_builtin): Do not fold sprintf here.

* gcc.dg/pr62090-2.c: New testcase.

From-SVN: r214105

9 years agogimple-fold.c (maybe_fold_reference): Move re-gimplification code to ...
Richard Biener [Mon, 18 Aug 2014 14:30:30 +0000 (14:30 +0000)]
gimple-fold.c (maybe_fold_reference): Move re-gimplification code to ...

2014-08-18  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (maybe_fold_reference): Move re-gimplification
code to ...
(maybe_canonicalize_mem_ref_addr): ... this function.
(fold_stmt_1): Apply it here before all simplification.

From-SVN: r214103

9 years agore PR ipa/61800 (ICE: Segmentation fault during Firefox build)
Ilya Enkovich [Mon, 18 Aug 2014 13:26:06 +0000 (13:26 +0000)]
re PR ipa/61800 (ICE: Segmentation fault during Firefox build)

PR ipa/61800

gcc/
* cgraph.h (cgraph_node::create_indirect_edge): Add
compute_indirect_info param.
* cgraph.c (cgraph_node::create_indirect_edge): Compute
indirect_info only when it is required.
* cgraphclones.c (cgraph_clone_edge): Do not recompute
indirect_info fore cloned indirect edge.

gcc/testsuite/
* g++.dg/ipa/pr61800.C: New.

From-SVN: r214099

9 years agosse.md (define_mode_iterator VI8_AVX2_AVX512BW): New.
Alexander Ivchenko [Mon, 18 Aug 2014 11:07:27 +0000 (11:07 +0000)]
sse.md (define_mode_iterator VI8_AVX2_AVX512BW): New.

gcc/
* config/i386/sse.md
(define_mode_iterator VI8_AVX2_AVX512BW): New.
(define_insn "<sse2_avx2>_psadbw"): Add evex version.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r214094

9 years agosse.md (define_mode_iterator VF1_AVX512VL): New.
Alexander Ivchenko [Mon, 18 Aug 2014 11:04:38 +0000 (11:04 +0000)]
sse.md (define_mode_iterator VF1_AVX512VL): New.

gcc/
* config/i386/sse.md
(define_mode_iterator VF1_AVX512VL): New.
(define_insn "ufloatv16siv16sf2<mask_name><round_name>"): Delete.
(define_insn "ufloat<sseintvecmodelower><mode>2<mask_name><round_name>"):
New.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r214092

9 years agoi386.c: Rename ufloatv8siv8df_mask to ufloatv8siv8df2_mask.
Alexander Ivchenko [Mon, 18 Aug 2014 11:02:31 +0000 (11:02 +0000)]
i386.c: Rename ufloatv8siv8df_mask to ufloatv8siv8df2_mask.

gcc/
* config/i386/i386.c: Rename ufloatv8siv8df_mask to ufloatv8siv8df2_mask.
* config/i386/i386.md
(define_code_iterator any_float): New.
(define_code_attr floatsuffix): New.
* config/i386/sse.md
(define_mode_iterator VF1_128_256VL): New.
(define_mode_iterator VF2_512_256VL): New.
(define_insn "float<si2dfmodelower><mode>2<mask_name>"): Remove unnecessary
TARGET check.
(define_insn "ufloatv8siv8df<mask_name>"): Delete.
(define_insn "<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>"):
New.
(define_mode_attr qq2pssuff): New.
(define_mode_attr sselongvecmode): New.
(define_mode_attr sselongvecmodelower): New.
(define_mode_attr sseintvecmode3): New.
(define_insn "<floatsuffix>float<sselongvecmodelower><mode>2<mask_name><round_name>"):
New.
(define_insn "*<floatsuffix>floatv2div2sf2"): New.
(define_insn "<floatsuffix>floatv2div2sf2_mask"): New.
(define_insn "ufloat<si2dfmodelower><mode>2<mask_name>"): New.
(define_insn "ufloatv2siv2df2<mask_name>"): New.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r214091

9 years agosse.md (define_mode_iterator VF2_AVX512VL): New.
Alexander Ivchenko [Mon, 18 Aug 2014 10:59:46 +0000 (10:59 +0000)]
sse.md (define_mode_iterator VF2_AVX512VL): New.

gcc/
* config/i386/sse.md
(define_mode_iterator VF2_AVX512VL): New.
(define_mode_attr sseintvecmode2): New.
(define_insn "ufix_truncv2dfv2si2<mask_name>"): Add masking.
(define_insn "fix_truncv4dfv4si2<mask_name>"): New.
(define_insn "ufix_truncv4dfv4si2<mask_name>"): Ditto.
(define_insn
"<fixsuffix>fix_trunc<mode><sseintvecmodelower>2<mask_name><round_saeonly_name>"):
Ditto.
(define_insn "fix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
Ditto.
(define_insn "ufix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r214090

9 years agoi386.md (define_insn "*movoi_internal_avx"): Add evex version.
Alexander Ivchenko [Mon, 18 Aug 2014 10:50:35 +0000 (10:50 +0000)]
i386.md (define_insn "*movoi_internal_avx"): Add evex version.

gcc/
* config/i386/i386.md
(define_insn "*movoi_internal_avx"): Add evex version.
(define_insn "*movti_internal"): Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r214089

9 years agoi386.md (define_attr "isa"): Add avx512dq, noavx512dq.
Alexander Ivchenko [Mon, 18 Aug 2014 10:47:48 +0000 (10:47 +0000)]
i386.md (define_attr "isa"): Add avx512dq, noavx512dq.

gcc/
* config/i386/i386.md
(define_attr "isa"): Add avx512dq, noavx512dq.
(define_attr "enabled"): Ditto.
* config/i386/sse.md
(define_insn "vec_extract_hi_<mode><mask_name>"): Support masking.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r214088

9 years agogcc/
Alexander Ivchenko [Mon, 18 Aug 2014 10:45:23 +0000 (10:45 +0000)]
gcc/
* config/i386/i386.c
(ix86_expand_special_args_builtin): Handle avx512vl_storev8sf_mask,
avx512vl_storev8si_mask, avx512vl_storev4df_mask, avx512vl_storev4di_mask,
avx512vl_storev4sf_mask, avx512vl_storev4si_mask, avx512vl_storev2df_mask,
avx512vl_storev2di_mask, avx512vl_loadv8sf_mask, avx512vl_loadv8si_mask,
avx512vl_loadv4df_mask, avx512vl_loadv4di_mask, avx512vl_loadv4sf_mask,
avx512vl_loadv4si_mask, avx512vl_loadv2df_mask, avx512vl_loadv2di_mask,
avx512bw_loadv64qi_mask, avx512vl_loadv32qi_mask, avx512vl_loadv16qi_mask,
avx512bw_loadv32hi_mask, avx512vl_loadv16hi_mask, avx512vl_loadv8hi_mask.
* config/i386/i386.md (define_mode_attr ssemodesuffix): Allow V32HI mode.
* config/i386/sse.md
(define_mode_iterator VMOVE): Allow V4TI mode.
(define_mode_iterator V_AVX512VL): New.
(define_mode_iterator V): New handling for AVX512VL.
(define_insn "avx512f_load<mode>_mask"): Delete.
(define_insn "<avx512>_load<mode>_mask"): New.
(define_insn "avx512f_store<mode>_mask"): Delete.
(define_insn "<avx512>_store<mode>_mask"): New.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r214087

9 years agore PR sanitizer/62089 (Sanitizer may fail to instrument struct accesses)
Yury Gribov [Mon, 18 Aug 2014 08:23:47 +0000 (08:23 +0000)]
re PR sanitizer/62089 (Sanitizer may fail to instrument struct accesses)

2014-08-18  Yury Gribov  <y.gribov@samsung.com>

PR sanitizer/62089

gcc/
* asan.c (instrument_derefs): Fix bitfield check.

gcc/testsuite/
* c-c++-common/asan/pr62089.c: New test.
* c-c++-common/asan/bitfield-1.c: New test.
* c-c++-common/asan/bitfield-2.c: New test.
* c-c++-common/asan/bitfield-3.c: New test.
* c-c++-common/asan/bitfield-4.c: New test.

From-SVN: r214086

9 years agore PR tree-optimization/52904 (-Wstrict-overflow false alarm with bounded loop)
Kugan Vivekanandarajah [Mon, 18 Aug 2014 06:28:35 +0000 (06:28 +0000)]
re PR tree-optimization/52904 (-Wstrict-overflow false alarm with bounded loop)

gcc/testsuite
2014-08-18  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR tree-optimization/52904
* gcc.dg/pr52904.c: New test.

From-SVN: r214084

9 years agoDaily bump.
GCC Administrator [Mon, 18 Aug 2014 00:17:39 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r214083

9 years agoconstraints.md ("S"): Require TARGET_POWERPC64.
Segher Boessenkool [Sun, 17 Aug 2014 23:39:53 +0000 (01:39 +0200)]
constraints.md ("S"): Require TARGET_POWERPC64.

2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/constraints.md ("S"): Require TARGET_POWERPC64.
* config/rs6000/htm.md (ttest): Remove clobber.
* config/rs6000/predicates.md (any_mask_operand): New predicate.
(and_operand): Reformat.
(and_2rld_operand): New predicate.
* config/rs6000/rs6000-protos.h (rs6000_split_logical): Remove last
parameter.
* config/rs6000/rs6000.c (rs6000_split_logical_inner): Remove last
parameter.  Handle AND directly.
(rs6000_split_logical_di): Remove last parameter.
(rs6000_split_logical): Remove last parameter.  Remove obsolete
comment.
* config/rs6000/rs6000.md (BOOL_REGS_AND_CR0): Delete.
(one_cmpl<mode>2): Adjust call of rs6000_split_logical.
(ctz<mode>2, ffs<mode>2): Delete clobber.  Reformat.
(andsi3, andsi3_mc, andsi3_nomc, *andsi3_internal2_mc,
*andsi3_internal3_mc, *andsi3_internal4, *andsi3_internal5_mc,
and 5 anonymous splitters):  Delete.
(and<mode>3): New expander.
(*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): New.
(and<mode>3_imm, *and<mode>3_imm_dot, *and<mode>3_imm_dot2): New.
(*and<mode>3_mask, *and<mode>3_mask_dot, *and<mode>3_mask_dot2): New.
(ior<mode>, xor<mode>3): Adjust call of rs6000_split_logical.
(floatdisf2_internal1): Remove clobbers.
(anddi3, anddi3_mc, anddi3_nomc, anddi3_internal2_mc,
*anddi3_internal3_mc, and 4 anonymous splitters): Delete.
(*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): New.
(and<mode>3 for BOOL_128): Remove clobber.
(*and<mode>3_internal for BOOL_128): Remove clobber.  Adjust call of
rs6000_split_logical.
(*bool<mode>3_internal for BOOL_128): Adjust call of
rs6000_split_logical.
(*boolc<mode>3_internal1 for BOOL_128,
*boolc<mode>3_internal2 for BOOL_128,
*boolcc<mode>3_internal1 for BOOL_128,
*boolcc<mode>3_internal2 for BOOL_128,
*eqv<mode>3_internal1 for BOOL_128,
*eqv<mode>3_internal2 for BOOL_128,
*one_cmpl<mode>3_internal for BOOL_128): Ditto.
* config/rs6000/vector.md (*vec_reload_and_plus_<mptrsize): Remove
clobber.
(*vec_reload_and_reg_<mptrsize>): Delete.

From-SVN: r214080

9 years agors6000.md (*boolccsi3_internal1, [...]): Delete.
Segher Boessenkool [Sun, 17 Aug 2014 23:38:16 +0000 (01:38 +0200)]
rs6000.md (*boolccsi3_internal1, [...]): Delete.

2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (*boolccsi3_internal1, *boolccsi3_internal2
and split, *boolccsi3_internal3 and split): Delete.
(*boolccdi3_internal1, *boolccdi3_internal2 and split,
*boolccdi3_internal3 and split): Delete.
(*boolcc<mode>3, *boolcc<mode>3_dot, *boolcc<mode>3_dot2): New.
(*eqv<mode>3): Move.  Add TODO comment.  Fix attributes.

From-SVN: r214079

9 years agors6000.md (*boolcsi3_internal1, [...]): Delete.
Segher Boessenkool [Sun, 17 Aug 2014 23:36:53 +0000 (01:36 +0200)]
rs6000.md (*boolcsi3_internal1, [...]): Delete.

2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (*boolcsi3_internal1, *boolcsi3_internal2
and split, *boolcsi3_internal3 and split): Delete.
(*boolcdi3_internal1, *boolcdi3_internal2 and split,
*boolcdi3_internal3 and split): Delete.
(*boolc<mode>3, *boolc<mode>3_dot, *boolc<mode>3_dot2): New.

From-SVN: r214078

9 years agors6000.c (print_operand): New.
Segher Boessenkool [Sun, 17 Aug 2014 23:35:30 +0000 (01:35 +0200)]
rs6000.c (print_operand): New.

2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.c (print_operand) <'e'>: New.
<'u'>: Also support printing the low-order 16 bits.
* config/rs6000/rs6000.md (iorsi3, xorsi3, *boolsi3_internal1,
*boolsi3_internal2 and split, *boolsi3_internal3 and split): Delete.
(iordi3, xordi3, *booldi3_internal1, *booldi3_internal2 and split,
*booldi3_internal3 and split): Delete.
(ior<mode>3, xor<mode>3, *bool<mode>3, *bool<mode>3_dot,
*bool<mode>3_dot2): New.
(two anonymous define_splits for non_logical_cint_operand): Merge.

From-SVN: r214077

9 years agoresolve.c (gfc_resolve_finalizers): Ensure that parents are resolved first.
Tobias Burnus [Sun, 17 Aug 2014 16:42:19 +0000 (18:42 +0200)]
resolve.c (gfc_resolve_finalizers): Ensure that parents are resolved first.

2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (gfc_resolve_finalizers): Ensure that parents are
        resolved first.

2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/finalize_27.f90: New.

From-SVN: r214076

9 years agotrans-io.c (gfc_build_io_library_fndecls): Fix decl of IOCALL_SET_NML_VAL.
Tobias Burnus [Sun, 17 Aug 2014 16:40:04 +0000 (18:40 +0200)]
trans-io.c (gfc_build_io_library_fndecls): Fix decl of IOCALL_SET_NML_VAL.

2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * trans-io.c (gfc_build_io_library_fndecls): Fix decl of
        IOCALL_SET_NML_VAL.
        (transfer_namelist_element): Use proper int type as argument.

From-SVN: r214075

9 years agore PR c/62059 (signed integer overflow in diagnostic.c adjust_line)
Marek Polacek [Sun, 17 Aug 2014 16:19:43 +0000 (16:19 +0000)]
re PR c/62059 (signed integer overflow in diagnostic.c adjust_line)

PR c/62059
* diagnostic.c (adjust_line): Add gcc_checking_assert.
(diagnostic_show_locus): Don't print caret diagnostic
if a column is larger than the line_width.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r214074

9 years ago20140816-1.c: New testcase.
Andrew Pinski [Sun, 17 Aug 2014 05:20:42 +0000 (05:20 +0000)]
20140816-1.c: New testcase.

2014-08-16  Andrew Pinski  <apinski@cavium.com>

* gcc.c-torture/compile/20140816-1.c: New testcase.

From-SVN: r214073

9 years agoDaily bump.
GCC Administrator [Sun, 17 Aug 2014 00:16:25 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r214072

9 years agocommon.opt: Make the ISL AST generator to be the main code generator of Graphite.
Roman Gareev [Sat, 16 Aug 2014 21:18:24 +0000 (21:18 +0000)]
common.opt: Make the ISL AST generator to be the main code generator of Graphite.

[gcc/]

* common.opt: Make the ISL AST generator to be the main code generator
of Graphite.

From-SVN: r214069

9 years ago* wide-int.h (generic_wide_int): Declare as class instead of struct.
Gerald Pfeifer [Sat, 16 Aug 2014 19:27:54 +0000 (19:27 +0000)]
* wide-int.h (generic_wide_int): Declare as class instead of struct.

From-SVN: r214068

9 years agore PR target/61641 (undefined label in jump_table_data)
John David Anglin [Sat, 16 Aug 2014 16:36:33 +0000 (16:36 +0000)]
re PR target/61641 (undefined label in jump_table_data)

PR target/61641
* config/pa/pa-protos.h (pa_output_addr_vec, pa_output_addr_diff_vec):
Declare.
* config/pa/pa.c (pa_reorg): Remove code to insert brtab marker insns.
(pa_output_addr_vec, pa_output_addr_diff_vec): New.
* config/pa/pa.h (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC):
Define.
* config/pa/pa.md (begin_brtab): Delete insn.
(end_brtab): Likewise.

From-SVN: r214064

9 years agocppopts.texi (ftrack-macro-expansion): Add missing @code.
Manuel López-Ibáñez [Sat, 16 Aug 2014 14:19:38 +0000 (14:19 +0000)]
cppopts.texi (ftrack-macro-expansion): Add missing @code.

2014-08-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * doc/cppopts.texi (ftrack-macro-expansion): Add missing @code.

From-SVN: r214063

9 years agore PR c++/52819 (ICE: tree check: expected tree that contains 'decl minimal' structur...
Paolo Carlini [Sat, 16 Aug 2014 10:07:41 +0000 (10:07 +0000)]
re PR c++/52819 (ICE: tree check: expected tree that contains 'decl minimal' structure, have 'nop_expr' in decl_linkage, at cp/tree.c:3136)

2014-08-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52819
* g++.dg/template/pr52819.C: New.

From-SVN: r214062

9 years agoipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
Jan Hubicka [Sat, 16 Aug 2014 09:10:23 +0000 (11:10 +0200)]
ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.

* ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
(possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets,
possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify.
(get_dynamic_type): Remove.
* ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove.
(clear_speculation): Bring to ipa-deivrt.h
(get_class_context): Rename to ...
(ipa_polymorphic_call_context::restrict_to_inner_class): ... this one.
(contains_type_p): Update.
(get_dynamic_type): Rename to ...
ipa_polymorphic_call_context::get_dynamic_type(): ... this one.
(possible_polymorphic_call_targets): UPdate.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update.
* ipa-prop.c (ipa_analyze_call_uses): Update.

From-SVN: r214060

9 years agocompiler: Pass initialization of frame temporary to backend.
Ian Lance Taylor [Sat, 16 Aug 2014 00:54:32 +0000 (00:54 +0000)]
compiler: Pass initialization of frame temporary to backend.

From-SVN: r214057

9 years agoDaily bump.
GCC Administrator [Sat, 16 Aug 2014 00:18:18 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r214056

9 years agoinvoke.texi (SH options): Document missing processor variant options.
Oleg Endo [Fri, 15 Aug 2014 22:55:47 +0000 (22:55 +0000)]
invoke.texi (SH options): Document missing processor variant options.

gcc/
* doc/invoke.texi (SH options): Document missing processor variant
options.  Remove references to Hitachi.  Undocument deprecated mspace
option.

From-SVN: r214050

9 years agore PR c++/61566 (ICE in write_unscoped_name)
Jason Merrill [Fri, 15 Aug 2014 22:27:06 +0000 (18:27 -0400)]
re PR c++/61566 (ICE in write_unscoped_name)

PR c++/61566
* pt.c (lookup_template_class_1): Revert recent change.
* mangle.c (CLASSTYPE_TEMPLATE_ID_P): Revert recent change.

From-SVN: r214049

9 years agoruntime: Don't get confused if m changes during runtime_gc.
Ian Lance Taylor [Fri, 15 Aug 2014 22:16:55 +0000 (22:16 +0000)]
runtime: Don't get confused if m changes during runtime_gc.

From-SVN: r214048

9 years agore PR c++/61566 (ICE in write_unscoped_name)
Jason Merrill [Fri, 15 Aug 2014 21:59:40 +0000 (17:59 -0400)]
re PR c++/61566 (ICE in write_unscoped_name)

PR c++/61566
* pt.c (instantiate_class_template_1): Ignore lambda on
CLASSTYPE_DECL_LIST.
(push_template_decl_real): A lambda is not primary.
(lookup_template_class_1): Don't look for a lambda partial
instantiation.
* lambda.c (maybe_add_lambda_conv_op): Distinguish between being
currently in a function and the lambda living in a function.
* mangle.c (CLASSTYPE_TEMPLATE_ID_P): False for lambda.

From-SVN: r214046

9 years agore PR fortran/62142 (internal compiler error: Segmentation fault (X = X - L*floor...
Thomas Koenig [Fri, 15 Aug 2014 21:19:33 +0000 (21:19 +0000)]
re PR fortran/62142 (internal compiler error: Segmentation fault (X = X - L*floor(X/L)))

2014-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/62142
* trans-expr.c (is_runtime_conformable):  Add NULL pointer checks.

2014-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/62142
* gfortran.dg/realloc_on_assign_24.f90:  New test.

From-SVN: r214043

9 years agore PR bootstrap/62077 (--with-build-config=bootstrap-lto fails)
Jason Merrill [Fri, 15 Aug 2014 17:27:58 +0000 (13:27 -0400)]
re PR bootstrap/62077 (--with-build-config=bootstrap-lto fails)

PR bootstrap/62077
gcc/
* tree.c (type_hash_canon): Uncomment assert.
gcc/cp/
* tree.c (build_min_array_type, set_array_type_canon): Split out...
(build_cplus_array_type): ...from here.  Only call build_array_type
for main variants.

From-SVN: r214030

9 years agoresolve.c (resolve_critical): Fix name mangling.
Tobias Burnus [Fri, 15 Aug 2014 16:33:08 +0000 (18:33 +0200)]
resolve.c (resolve_critical): Fix name mangling.

2014-08-15  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (resolve_critical): Fix name mangling.
        * trans-stmt.c (gfc_trans_critical): Fix lock call.

From-SVN: r214029

9 years agoinput.h (in_system_header_at): Add comment.
Manuel López-Ibáñez [Fri, 15 Aug 2014 16:27:38 +0000 (16:27 +0000)]
input.h (in_system_header_at): Add comment.

2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* input.h (in_system_header_at): Add comment.

From-SVN: r214028

9 years agore PR c++/62072 (No SFINAE performed for function type)
Paolo Carlini [Fri, 15 Aug 2014 16:23:47 +0000 (16:23 +0000)]
re PR c++/62072 (No SFINAE performed for function type)

/cp
2014-08-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62072
Revert:
2014-07-09  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1584
PR c++/57466
* pt.c (check_cv_quals_for_unify): Implement resolution, disregard
cv-qualifiers of function types.

/testsuite
2014-08-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62072
Revert:
2014-07-09  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1584
PR c++/57466
* g++.dg/template/pr57466.C: New.
* g++.dg/cpp0x/pr57466.C: Likewise.
* g++.dg/template/unify6.C: Update.

* g++.dg/cpp0x/sfinae52.C: New.

From-SVN: r214027

9 years agocall.c (build_conditional_expr_1): Use OPT_Wextra in warning.
Manuel López-Ibáñez [Fri, 15 Aug 2014 16:14:50 +0000 (16:14 +0000)]
call.c (build_conditional_expr_1): Use OPT_Wextra in warning.

2014-08-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

gcc/cp/:
* call.c (build_conditional_expr_1): Use OPT_Wextra in warning.

From-SVN: r214026

9 years agore PR libstdc++/62154 (std::throw_with_nested should not require a polymorphic type)
Jonathan Wakely [Fri, 15 Aug 2014 15:22:44 +0000 (16:22 +0100)]
re PR libstdc++/62154 (std::throw_with_nested should not require a polymorphic type)

PR libstdc++/62154
* libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
Rewrite to conform to C++11 requirements.
* testsuite/18_support/nested_exception/62154.cc: New.

From-SVN: r214025

9 years agore PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagn...
Manuel López-Ibáñez [Fri, 15 Aug 2014 15:10:15 +0000 (15:10 +0000)]
re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)

2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
gcc/
* diagnostic.c (build_message_string): Make it extern.
* diagnostic.h (build_message_string): Make it extern.
c-family/
* c-format.c: Handle Fortran flags.
fortran/
* gfortran.h: Define GCC_DIAG_STYLE.
(gfc_diagnostics_init,gfc_warning_cmdline): Declare.
* trans-array.c: Include gfortran.h before diagnostic-core.h.
* trans-expr.c: Likewise.
* trans-openmp.c: Likewise.
* trans-const.c: Likewise.
* trans.c: Likewise.
* trans-types.c: Likewise.
* f95-lang.c: Likewise.
* trans-decl.c: Likewise.
* trans-io.c: Likewise.
* trans-intrinsic.c: Likewise.
* error.c: Include diagnostic.h and diagnostic-color.h.
(gfc_diagnostic_build_prefix): New.
(gfc_diagnostic_starter): New.
(gfc_diagnostic_finalizer): New.
(gfc_warning_cmdline): New.
(gfc_diagnostics_init): New.
* gfc-diagnostic.def: New.
* options.c (gfc_init_options): Call gfc_diagnostics_init.
(gfc_post_options): Use gfc_warning_cmdline.

From-SVN: r214024

9 years agors6000.c (rs6000_emit_move): Use SDmode for load/store from/to non-floating class...
Vladimir Makarov [Fri, 15 Aug 2014 14:16:56 +0000 (14:16 +0000)]
rs6000.c (rs6000_emit_move): Use SDmode for load/store from/to non-floating class pseudo.

2014-08-15  Vladimir Makarov  <vmakarov@redhat.com>

* config/rs6000/rs6000.c (rs6000_emit_move): Use SDmode for
load/store from/to non-floating class pseudo.

From-SVN: r214023

9 years agoinput.c (diagnostic_file_cache_fini): Fix typo in comment.
Manuel López-Ibáñez [Fri, 15 Aug 2014 14:07:19 +0000 (14:07 +0000)]
input.c (diagnostic_file_cache_fini): Fix typo in comment.

2014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* input.c (diagnostic_file_cache_fini): Fix typo in comment.

From-SVN: r214022

9 years agotree-ssa-structalias.c (readonly_id): Rename to string_id.
Richard Biener [Fri, 15 Aug 2014 12:54:28 +0000 (12:54 +0000)]
tree-ssa-structalias.c (readonly_id): Rename to string_id.

2014-08-15  Richard Biener  <rguenther@suse.de>

* tree-ssa-structalias.c (readonly_id): Rename to string_id.
(get_constraint_for_ssa_var): Remove dead code.
(get_constraint_for_1): Adjust.
(find_what_var_points_to): Likewise.
(init_base_vars): Likewise.  STRING_CSTs do not contain pointers.

From-SVN: r214020

9 years agogcc/
Ilya Tocar [Fri, 15 Aug 2014 12:47:41 +0000 (16:47 +0400)]
gcc/

PR target/61878
* config/i386/avx512fintrin.h (_mm512_mask_cmpge_epi32_mask): New.
(_mm512_mask_cmpge_epu32_mask): Ditto.
(_mm512_cmpge_epu32_mask): Ditto.
(_mm512_mask_cmpge_epi64_mask): Ditto.
(_mm512_cmpge_epi64_mask): Ditto.
(_mm512_mask_cmpge_epu64_mask): Ditto.
(_mm512_cmpge_epu64_mask): Ditto.
(_mm512_mask_cmple_epi32_mask): Ditto.
(_mm512_cmple_epi32_mask): Ditto.
(_mm512_mask_cmple_epu32_mask): Ditto.
(_mm512_cmple_epu32_mask): Ditto.
(_mm512_mask_cmple_epi64_mask): Ditto.
(_mm512_cmple_epi64_mask): Ditto.
(_mm512_mask_cmple_epu64_mask): Ditto.
(_mm512_cmple_epu64_mask): Ditto.
(_mm512_mask_cmplt_epi32_mask): Ditto.
(_mm512_cmplt_epi32_mask): Ditto.
(_mm512_mask_cmplt_epu32_mask): Ditto.
(_mm512_cmplt_epu32_mask): Ditto.
(_mm512_mask_cmplt_epi64_mask): Ditto.
(_mm512_cmplt_epi64_mask): Ditto.
(_mm512_mask_cmplt_epu64_mask): Ditto.
(_mm512_cmplt_epu64_mask): Ditto.
(_mm512_mask_cmpneq_epi32_mask): Ditto.
(_mm512_mask_cmpneq_epu32_mask): Ditto.
(_mm512_cmpneq_epu32_mask): Ditto.
(_mm512_mask_cmpneq_epi64_mask): Ditto.
(_mm512_cmpneq_epi64_mask): Ditto.
(_mm512_mask_cmpneq_epu64_mask): Ditto.
(_mm512_cmpneq_epu64_mask): Ditto.
(_mm512_castpd_ps): Ditto.
(_mm512_castpd_si512): Ditto.
(_mm512_castps_pd): Ditto.
(_mm512_castps_si512): Ditto.
(_mm512_castsi512_ps): Ditto.
(_mm512_castsi512_pd): Ditto.
(_mm512_castpd512_pd128): Ditto.
(_mm512_castps512_ps128): Ditto.
(_mm512_castsi512_si128): Ditto.
(_mm512_castpd512_pd256): Ditto.
(_mm512_castps512_ps256): Ditto.
(_mm512_castsi512_si256): Ditto.
(_mm512_castpd128_pd512): Ditto.
(_mm512_castps128_ps512): Ditto.
(_mm512_castsi128_si512): Ditto.
(_mm512_castpd256_pd512): Ditto.
(_mm512_castps256_ps512): Ditto.
(_mm512_castsi256_si512): Ditto.
(_mm512_cmpeq_epu32_mask): Ditto.
(_mm512_mask_cmpeq_epu32_mask): Ditto.
(_mm512_mask_cmpeq_epu64_mask): Ditto.
(_mm512_cmpeq_epu64_mask): Ditto.
(_mm512_cmpgt_epu32_mask): Ditto.
(_mm512_mask_cmpgt_epu32_mask): Ditto.
(_mm512_mask_cmpgt_epu64_mask): Ditto.
(_mm512_cmpgt_epu64_mask): Ditto.
* config/i386/i386-builtin-types.def: Add V16SF_FTYPE_V8SF,
V16SI_FTYPE_V8SI, V16SI_FTYPE_V4SI, V8DF_FTYPE_V2DF.
* config/i386/i386.c (enum ix86_builtins): Add
IX86_BUILTIN_SI512_SI256, IX86_BUILTIN_PD512_PD256,
IX86_BUILTIN_PS512_PS256, IX86_BUILTIN_SI512_SI,
IX86_BUILTIN_PD512_PD, IX86_BUILTIN_PS512_PS.
(bdesc_args): Add __builtin_ia32_si512_256si,
__builtin_ia32_ps512_256ps, __builtin_ia32_pd512_256pd,
__builtin_ia32_si512_si, __builtin_ia32_ps512_ps,
__builtin_ia32_pd512_pd.
(ix86_expand_args_builtin): Handle new FTYPEs.
* config/i386/sse.md (castmode): Add 512-bit modes.
(AVX512MODE2P): New.
(avx512f_<castmode><avxsizesuffix>_<castmode): New.
(avx512f_<castmode><avxsizesuffix>_256<castmode): Ditto.

gcc/testsuite/

PR target/61878
* gcc.target/i386/avx512f-typecast-1.c: New test.
* gcc.target/i386/avx512f-vpcmpequd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpequd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpequq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpequq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpged-1.c: Add new intrinsic.
* gcc.target/i386/avx512f-vpcmpged-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgtud-1.c: New test.
* gcc.target/i386/avx512f-vpcmpgtud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgtuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgtuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpled-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpled-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequq-2.c: Ditto.

From-SVN: r214019

9 years agoMAINTAINERS (Write After Approval): Add myself.
Ilya Verbin [Fri, 15 Aug 2014 12:33:03 +0000 (12:33 +0000)]
MAINTAINERS (Write After Approval): Add myself.

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r214017

9 years agofold-const.c (tree_swap_operands_p): Put all constants last...
Richard Biener [Fri, 15 Aug 2014 11:42:01 +0000 (11:42 +0000)]
fold-const.c (tree_swap_operands_p): Put all constants last...

2014-08-15  Richard Biener  <rguenther@suse.de>

* fold-const.c (tree_swap_operands_p): Put all constants
last, also strip sign-changing NOPs when considering further
canonicalization.  Canonicalize also when optimizing for size.

From-SVN: r214013

9 years agoMAINTAINERS (Write After Approval): Add myself.
Ilya Tocar [Fri, 15 Aug 2014 10:35:03 +0000 (14:35 +0400)]
MAINTAINERS (Write After Approval): Add myself.

         * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r214012

9 years agore PR fortran/62131 (OpenMP: Subobject of an allocatable array not allowed in OMP...
Jakub Jelinek [Fri, 15 Aug 2014 10:23:13 +0000 (12:23 +0200)]
re PR fortran/62131 (OpenMP: Subobject of an allocatable array not allowed in OMP ATOMIC)

PR fortran/62131
* openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
is allocatable, rather than whenever var->attr.allocatable.

* gfortran.dg/gomp/pr62131.f90: New test.

Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r214010

9 years ago[AArch64] Move one_match > zero_match case to just before simple_sequence.
Kyrylo Tkachov [Fri, 15 Aug 2014 09:02:27 +0000 (09:02 +0000)]
[AArch64] Move one_match > zero_match case to just before simple_sequence.

* config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Move
one_match > zero_match case to just before simple_sequence.

From-SVN: r214008

9 years agodata-streamer.h (streamer_string_index, [...]): Remove.
Richard Biener [Fri, 15 Aug 2014 07:51:35 +0000 (07:51 +0000)]
data-streamer.h (streamer_string_index, [...]): Remove.

2014-08-15  Richard Biener  <rguenther@suse.de>

* data-streamer.h (streamer_string_index, string_for_index):
Remove.
* data-streamer-out.c (streamer_string_index): Make static.
* data-streamer-in.c (string_for_index): Likewise.
* lto-streamer-out.c (lto_output_location): Use bp_pack_string.
* lto-streamer-in.c (lto_input_location): Use bp_unpack_string.

From-SVN: r214007

9 years agore PR tree-optimization/62031 (Different results between O2 and O2 -fpredictive-commo...
Richard Biener [Fri, 15 Aug 2014 07:50:40 +0000 (07:50 +0000)]
re PR tree-optimization/62031 (Different results between O2 and O2 -fpredictive-commoning)

2014-08-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

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

From-SVN: r214006

9 years agore PR fortran/62107 (libgomp.fortran/target2.f90 error while compiling for OpenMP...
Jakub Jelinek [Fri, 15 Aug 2014 07:41:06 +0000 (09:41 +0200)]
re PR fortran/62107 (libgomp.fortran/target2.f90 error while compiling for OpenMP 4.0 offload target)

PR fortran/62107
* trans-openmp.c (gfc_omp_finish_clause): Handle scalar pointer
or allocatable passed by reference.
(gfc_trans_omp_clauses) <case OMP_LIST_MAP>: Likewise.

From-SVN: r214003

9 years agore PR middle-end/62092 (libgomp.c++/target-2.C FAIL while compiling for OpenMP 4...
Jakub Jelinek [Fri, 15 Aug 2014 07:40:03 +0000 (09:40 +0200)]
re PR middle-end/62092 (libgomp.c++/target-2.C FAIL while compiling for OpenMP 4.0 offload target)

PR middle-end/62092
* gimplify.c (gimplify_adjust_omp_clauses_1): Don't remove
OMP_CLAUSE_SHARED for global vars if the global var is mentioned
in OMP_CLAUSE_MAP in some outer target region.

From-SVN: r214001

9 years agorl78-real.md (addqi3_real): Allow adding global variables to the accumulator.
DJ Delorie [Fri, 15 Aug 2014 02:52:55 +0000 (22:52 -0400)]
rl78-real.md (addqi3_real): Allow adding global variables to the accumulator.

* config/rl78/rl78-real.md (addqi3_real): Allow adding global
variables to the accumulator.

From-SVN: r213999

9 years agopredicates.md (rl78_near_mem_operand): New.
DJ Delorie [Fri, 15 Aug 2014 02:48:03 +0000 (22:48 -0400)]
predicates.md (rl78_near_mem_operand): New.

* config/rl78/predicates.md (rl78_near_mem_operand): New.
* config/rl78/rl78-virt.md (movqi_virt_mm, movqi_virt)
(movhi_virt_mm): Split out near mem-mem moves to avoid problems
with far-far moves.

From-SVN: r213998

9 years agotree-ssa-loop-ivopts.c (ivopts_data): New field name_expansion_cache.
Bin Cheng [Fri, 15 Aug 2014 02:42:33 +0000 (02:42 +0000)]
tree-ssa-loop-ivopts.c (ivopts_data): New field name_expansion_cache.

* tree-ssa-loop-ivopts.c (ivopts_data): New field
name_expansion_cache.
(tree_ssa_iv_optimize_init): Initialize name_expansion_cache.
(tree_ssa_iv_optimize_finalize): Free name_expansion_cache.
(strip_wrap_conserving_type_conversions, expr_equal_p): Delete.
(difference_cannot_overflow_p): New parameter.  Use affine
expansion for equality check.
(iv_elimination_compare_lt): Pass new argument.

testsuite/ChangeLog
* gcc.dg/tree-ssa/ivopts-lt-2.c: New test.

From-SVN: r213997

9 years agorl78-expand.md (umulqihi3): Disable for G10.
DJ Delorie [Fri, 15 Aug 2014 02:30:22 +0000 (22:30 -0400)]
rl78-expand.md (umulqihi3): Disable for G10.

* config/rl78/rl78-expand.md (umulqihi3): Disable for G10.
* config/rl78/rl78-virt.md (umulhi3_shift_virt): Likewise.
(umulqihi3_virt): Likewise.
* config/rl78/rl78-real.md (umulhi3_shift_real): Likewise.
(umulqihi3_real): Likewise.

From-SVN: r213996

9 years ago* config/rl78/rl78-virt.md (movhi_virt): Allow const->far moves.
DJ Delorie [Fri, 15 Aug 2014 00:23:38 +0000 (20:23 -0400)]
* config/rl78/rl78-virt.md (movhi_virt): Allow const->far moves.

From-SVN: r213995

9 years agoDaily bump.
GCC Administrator [Fri, 15 Aug 2014 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213994

9 years agore PR tree-optimization/62091 (ice in before_dom_children)
Jan Hubicka [Thu, 14 Aug 2014 23:36:22 +0000 (01:36 +0200)]
re PR tree-optimization/62091 (ice in before_dom_children)

PR tree-optimization/62091
* g++.dg/ipa/devirt-38.C: New testcase.
* tree-ssa-alias.c (walk_aliased_vdefs_1): Do not clear
function_entry_reached.
(walk_aliased_vdefs): Clear it here.
* ipa-devirt.c (check_stmt_for_type_change): Handle static storage.

From-SVN: r213991

9 years agoipa-utils.h (compare_virtual_tables): Declare.
Jan Hubicka [Thu, 14 Aug 2014 23:30:46 +0000 (01:30 +0200)]
ipa-utils.h (compare_virtual_tables): Declare.

* ipa-utils.h (compare_virtual_tables): Declare.
* ipa-devirt.c (odr_subtypes_equivalent_p): New function

* lto-symtab.c (lto_varpool_replace_node): Call compare_virtual_tables.

From-SVN: r213990

9 years agotypeck.c (composite_pointer_type, [...]): When a pedwarn is suppressed under SFINAE...
Paolo Carlini [Thu, 14 Aug 2014 20:12:32 +0000 (20:12 +0000)]
typeck.c (composite_pointer_type, [...]): When a pedwarn is suppressed under SFINAE, return error_mark_node.

2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

* typeck.c (composite_pointer_type, cxx_sizeof_or_alignof_type,
cp_build_array_ref, cp_build_function_call_vec): When a
pedwarn is suppressed under SFINAE, return error_mark_node.

* typeck.c (cxx_sizeof_or_alignof_type): Fix complain &
tf_warning_or_error, where complain is a bool, glitch.

From-SVN: r213983

9 years agoDR 458
Marek Polacek [Thu, 14 Aug 2014 18:56:10 +0000 (18:56 +0000)]
DR 458

DR 458
* ginclude/stdatomic.h (__atomic_type_lock_free): Remove.
(ATOMIC_*_LOCK_FREE): Map to __GCC_ATOMIC_*_LOCK_FREE.

* gcc.dg/c11-stdatomic-2.c: New test.

From-SVN: r213981

9 years agore PR fortran/62106 (Adding a scalar variable to an array constructor gives wrong...
Thomas Koenig [Thu, 14 Aug 2014 18:52:12 +0000 (18:52 +0000)]
re PR fortran/62106 (Adding a scalar variable to an array constructor gives wrong result)

2014-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/62106
* gfortran.h (symbol_attribute):  Add fe_temp flag.
* frontend-passes.c (is_fe_temp):  New function.
(create_var):  Don't add a temporary for an already
created variable or for a constant.
(combine_ARRAY_constructor):  Remove special handling
for constants.

2014-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/62106
* gfortran.dg/array_constructor_49.f90:  New test.

From-SVN: r213980

9 years agogfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.
Tobias Burnus [Thu, 14 Aug 2014 18:39:15 +0000 (20:39 +0200)]
gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.

gcc/fortran/
2014-08-14  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.
        (_gfortran_caf_register): Update for locking/critical.
        (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
        * resolve.c (resolve_critical): New.
        (gfc_resolve_code): Call it.
        * trans-decl.c (gfor_fndecl_caf_critical,
        gfor_fndecl_caf_end_critical): Remove.
        (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.
        (gfc_build_builtin_function_decls): Remove critical,
        assign locking declarations.
        (generate_coarray_sym_init): Handle locking and
        critical variables.
        * trans-stmt.c (gfc_trans_critical): Add calls to
        lock/unlock libcaf functions.
        * trans.h (gfc_coarray_type): Update locking, add
        critical enum values.
        (gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical): Remove.
        (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add.

libgfortran/
2014-08-14  Tobias Burnus  <burnus@net-b.de>

        * caf/libcaf.h (caf_register_t): Update for critical.
        (_gfortran_caf_critical, _gfortran_caf_end_critical): Remove.
        (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
        * caf/single.c (_gfortran_caf_register): Handle locking
        variables.
        (_gfortran_caf_sendget): Re-name args for consistency.
        (_gfortran_caf_lock, _gfortran_caf_unlock): Add.

From-SVN: r213979

9 years agogfortran.texi (Coarray Programming): Add first ABI documentation.
Tobias Burnus [Thu, 14 Aug 2014 18:35:01 +0000 (20:35 +0200)]
gfortran.texi (Coarray Programming): Add first ABI documentation.

2014-08-14  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (Coarray Programming): Add first ABI
        documentation.

From-SVN: r213978

9 years agoFix ChangeLog entry
Tom de Vries [Thu, 14 Aug 2014 17:56:18 +0000 (17:56 +0000)]
Fix ChangeLog entry

From-SVN: r213976

9 years agoRemove duplicate declaration of mem_attrs_eq_p
Tom de Vries [Thu, 14 Aug 2014 17:41:44 +0000 (17:41 +0000)]
Remove duplicate declaration of mem_attrs_eq_p

2014-08-14  Tom de Vries  <tom@codesourcery.com>

* emit-rtl.h (mem_attrs_eq_p): Remove duplicate declaration.

From-SVN: r213975

9 years agore PR c++/62101 (deleted definitions of friend functions are rejected)
Ville Voutilainen [Thu, 14 Aug 2014 17:11:26 +0000 (20:11 +0300)]
re PR c++/62101 (deleted definitions of friend functions are rejected)

PR c++/62101
* decl.c (grokdeclarator): Move the check for friend initializers..
* decl2.c (grokfield) ..here. Postpone early return for friends
until after the initializer check.

From-SVN: r213974

9 years agore PR c++/54377 (Consider default arguments in "wrong number of template arguments...
Paolo Carlini [Thu, 14 Aug 2014 17:00:45 +0000 (17:00 +0000)]
re PR c++/54377 (Consider default arguments in "wrong number of template arguments" diagnostic)

/cp
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54377
* pt.c (coerce_template_parms): Improve error message vs default
arguments.

/testsuite
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54377
* g++.dg/template/pr54377.C: New.
* g++.dg/cpp0x/pr54377.C: Likewise.
* g++.dg/cpp0x/alias-decl-2.C: Adjust.
* g++.dg/cpp0x/pr51226.C: Likewise.
* g++.dg/cpp0x/variadic2.C: Likewise.
* g++.dg/parse/too-many-tmpl-args1.C: Likewise.
* g++.dg/template/dtor3.C: Likewise.
* g++.dg/template/qualttp4.C: Likewise.
* g++.dg/template/spec28.C: Likewise.
* g++.old-deja/g++.brendan/crash8.C: Likewise.
* g++.old-deja/g++.pt/ttp7.C: Likewise.

From-SVN: r213973

9 years agore PR fortran/62076 (testsuite failure in udr2.90)
Jakub Jelinek [Thu, 14 Aug 2014 16:39:07 +0000 (18:39 +0200)]
re PR fortran/62076 (testsuite failure in udr2.90)

PR fortran/62076
* openmp.c (gfc_match_omp_clauses): When failed to match
operator name, defined op name or name, set buffer to
empty string.  Don't call gfc_find_omp_udr if buffer is empty
string.
(gfc_match_omp_declare_reduction): Call gfc_undo_symbols ()
before calling gfc_free_omp_udr.

From-SVN: r213971

9 years agoFix if-conversion pass for dead type-unsafe code
Tom de Vries [Thu, 14 Aug 2014 16:13:59 +0000 (16:13 +0000)]
Fix if-conversion pass for dead type-unsafe code

2014-08-14  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/62004
PR rtl-optimization/62030
* ifcvt.c (rtx_interchangeable_p): New function.
(noce_try_move, noce_process_if_block): Use rtx_interchangeable_p.
* emit-rtl.h (mem_attrs_eq_p): Declare.

* gcc.dg/pr62004.c: New test.
* gcc.dg/pr62030.c: Same.
* gcc.target/mips/pr62030-octeon.c: Same.

From-SVN: r213970

9 years agographite-scop-detection.c: Add inclusion of cp-tree.h.
Roman Gareev [Thu, 14 Aug 2014 14:53:59 +0000 (14:53 +0000)]
graphite-scop-detection.c: Add inclusion of cp-tree.h.

[gcc/]

* graphite-scop-detection.c:
Add inclusion of cp-tree.h.
(graphite_can_represent_scev): Disables the handling of SSA_NAME nodes
in case they are pointers to object types

From-SVN: r213969

9 years agoBASE-VER: Change to 5.0.0
Richard Biener [Thu, 14 Aug 2014 13:58:50 +0000 (13:58 +0000)]
BASE-VER: Change to 5.0.0

2014-08-14  Richard Biener  <rguenther@suse.de>

* BASE-VER: Change to 5.0.0

From-SVN: r213968

9 years agocrontab: Change trunk snapshots from 4.10 to 5.
Richard Biener [Thu, 14 Aug 2014 13:58:16 +0000 (13:58 +0000)]
crontab: Change trunk snapshots from 4.10 to 5.

2014-08-14  Richard Biener  <rguenther@suse.de>

* crontab: Change trunk snapshots from 4.10 to 5.

From-SVN: r213967

9 years agosse.md (define_mode_attr avx512): New.
Alexander Ivchenko [Thu, 14 Aug 2014 13:39:50 +0000 (13:39 +0000)]
sse.md (define_mode_attr avx512): New.

gcc/
        * config/i386/sse.md (define_mode_attr avx512): New.
(define_mode_attr sse2_avx_avx512f): Allow V8HI, V16HI, V32HI, V2DI,
V4DI modes.
(define_mode_attr sse2_avx2): Allow V64QI, V32HI, V4TI modes.
(define_mode_attr ssse3_avx2): Ditto.
(define_mode_attr sse4_1_avx2): Allow V64QI, V32HI, V8DI modes.
(define_mode_attr avx2_avx512bw): New.
(define_mode_attr ssedoublemodelower): New.
(define_mode_attr ssedoublemode): Allow V8SF, V8SI, V4DI, V4DF, V4SI,
V32HI, V64QI modes.
(define_mode_attr ssebytemode): Allow V8DI modes.
(define_mode_attr sseinsnmode): Allow V4TI, V32HI, V64QI modes.
(define_mode_attr sseintvecmodelower): Allow V8DF, V4TI modes.
(define_mode_attr ssePSmode2): New.
(define_mode_attr ssescalarsize): Allow V64QI, V32QI, V16QI, V8HI,
V16HI, V32HI modes.
(define_mode_attr dbpsadbwmode): New.
(define_mode_attr bcstscalarsuff): Allow V64QI, V32QI, V16QI, V32HI,
V16HI, V8HI, V8SI, V4SI, V4DI, V2DI, V8SF, V4SF, V4DF, V2DF modes.
(vi8_sse4_1_avx2_avx512): New.
(define_insn <sse4_1_avx2>_movntdqa): Use <vi8_sse4_1_avx2_avx512>
mode attribute.
(define_mode_attr blendbits): Move before its immediate use.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213966

9 years agosse.md: Allow V64QI, V32QI, V32HI, V4HI modes.
Alexander Ivchenko [Thu, 14 Aug 2014 13:30:51 +0000 (13:30 +0000)]
sse.md: Allow V64QI, V32QI, V32HI, V4HI modes.

gcc/
* config/i386/sse.md: Allow V64QI, V32QI, V32HI, V4HI modes.
* config/i386/subst.md
(define_mode_iterator SUBST_V): Update.
(define_mode_iterator SUBST_A): Ditto.
(define_subst_attr "mask_operand7"): New.
(define_subst_attr "mask_operand10"): New.
(define_subst_attr "mask_operand_arg34") : New.
(define_subst_attr "mask_expand_op3"): New.
(define_subst_attr "mask_mode512bit_condition"): Handle TARGET_AVX512VL.
(define_subst_attr "sd_mask_mode512bit_condition"): Ditto.
(define_subst_attr "mask_avx512vl_condition"): New.
(define_subst_attr "round_mask_operand4"): Ditto.
(define_subst_attr "round_mask_scalar_op3"): Delete.
(define_subst_attr "round_mask_op4"): New.
(define_subst_attr "round_mode512bit_condition"): Allow V8DImode,
V16SImode.
(define_subst_attr "round_modev8sf_condition"): New.
(define_subst_attr "round_modev4sf_condition"): GET_MODE instead of
<MODE>mode.
(define_subst_attr "round_saeonly_mask_operand4"): New.
(define_subst_attr "round_saeonly_mask_op4"): New.
(define_subst_attr "round_saeonly_mode512bit_condition"): Allow
V8DImode, V16SImode.
(define_subst_attr "round_saeonly_modev8sf_condition"): New.
(define_subst_attr "mask_expand4_name" "mask_expand4"): New.
(define_subst_attr "mask_expand4_args"): New.
(define_subst "mask_expand4"): New.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213965

9 years agoi386.md (define_attr "isa"): Add avx512bw,noavx512bw.
Alexander Ivchenko [Thu, 14 Aug 2014 13:25:36 +0000 (13:25 +0000)]
i386.md (define_attr "isa"): Add avx512bw,noavx512bw.

gcc/
        * config/i386/i386.md
(define_attr "isa"): Add avx512bw,noavx512bw.
(define_attr "enabled"): Ditto.
(define_split): Add 32/64-bit mask logic.
(define_insn "*k<logic>qi"): New.
(define_insn "*k<logic>hi"): New.
(define_insn "*anddi_1"): Add mask version.
(define_insn "*andsi_1"): Ditto.
(define_insn "*<code><mode>_1"): Ditto.
(define_insn "*<code>hi_1"): Ditto.
(define_insn "kxnor<mode>"): New.
(define_insn "kunpcksi"): New.
(define_insn "kunpckdi"): New.
(define_insn "*one_cmpl<mode>2_1"): Add mask version.
(define_insn "*one_cmplhi2_1"): Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213964

9 years agoi386.c (ix86_preferred_simd_mode): Allow V64QImode and V32HImode.
Alexander Ivchenko [Thu, 14 Aug 2014 13:20:25 +0000 (13:20 +0000)]
i386.c (ix86_preferred_simd_mode): Allow V64QImode and V32HImode.

gcc/
* config/i386/i386.c (ix86_preferred_simd_mode): Allow V64QImode and
V32HImode.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213963

9 years agoi386.c (print_reg): Сorrectly print 64-bit mask registers.
Alexander Ivchenko [Thu, 14 Aug 2014 13:18:42 +0000 (13:18 +0000)]
i386.c (print_reg): Сorrectly print 64-bit mask registers.

gcc/
* config/i386/i386.c (print_reg): Сorrectly print 64-bit mask
registers.
(inline_secondary_memory_needed): Allow 64 bit wide mask registers.
(ix86_hard_regno_mode_ok): Allow 32/64-bit mask registers and
xmm/ymm16+ when availble.
* config/i386/i386.h
(HARD_REGNO_NREGS): Add mask regs.
(VALID_AVX512F_REG_MODE): Ditto.
(VALID_AVX512F_REG_MODE) : Define.
(VALID_MASK_AVX512BW_MODE): Ditto.
(reg_class) (MASK_REG_P(X)): Define.
* config/i386/i386.md: Do not split long moves with mask register,
use kmovb if avx512bw is availible.
(movdi_internal): Handle mask registers.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r213962

9 years agore PR tree-optimization/62081 (ICE: in fix_loop_structure, at loop-init.c:208 with...
Richard Biener [Thu, 14 Aug 2014 13:14:24 +0000 (13:14 +0000)]
re PR tree-optimization/62081 (ICE: in fix_loop_structure, at loop-init.c:208 with -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts -fno-tree-reassoc -fno-tree-sink)

2014-08-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62081
* tree-ssa-loop.c (pass_fix_loops): New pass.
(pass_tree_loop::gate):  Do not fixup loops here.
* tree-pass.h (make_pass_fix_loops): Declare.
* passes.def: Schedule pass_fix_loops before GIMPLE loop passes.

From-SVN: r213961

9 years agore PR lto/62067 (lto-lang.c:549: too many calls to va_end on some code paths ?)
Richard Biener [Thu, 14 Aug 2014 13:13:41 +0000 (13:13 +0000)]
re PR lto/62067 (lto-lang.c:549: too many calls to va_end on some code paths ?)

2014-08-14  Richard Biener  <rguenther@suse.de>

PR lto/62067
* lto-lang.c (def_fn_type): Fix error handling wrt va_end.

From-SVN: r213960

9 years agorequirements: Remove empty directory.
Matthias Klose [Thu, 14 Aug 2014 11:37:20 +0000 (11:37 +0000)]
requirements: Remove empty directory.

2014-08-14  Matthias Klose  <doko@ubuntu.com>

        * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
        Remove empty directory.

From-SVN: r213958

9 years agotree.c (type_hash_lookup, [...]): Merge into ...
Richard Biener [Thu, 14 Aug 2014 11:15:41 +0000 (11:15 +0000)]
tree.c (type_hash_lookup, [...]): Merge into ...

2014-08-14  Richard Biener  <rguenther@suse.de>

* tree.c (type_hash_lookup, type_hash_add): Merge into ...
(type_hash_canon): ... this and avoid 2nd lookup for the add.

From-SVN: r213956

9 years agoparser.c (cp_parser_init_declarator): Remove redundant check of decl_specifiers-...
Paolo Carlini [Thu, 14 Aug 2014 09:15:11 +0000 (09:15 +0000)]
parser.c (cp_parser_init_declarator): Remove redundant check of decl_specifiers->type.

/gcc/cp
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

* parser.c (cp_parser_init_declarator): Remove redundant check of
decl_specifiers->type.

/gcc/testsuite
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/alias-decl-4.C: Adjust for parser change.
* g++.dg/cpp0x/decltype2.C: Likewise.
* g++.dg/cpp0x/decltype3.C: Likewise.
* g++.dg/cpp0x/pr60249.C: Likewise.
* g++.dg/cpp0x/variadic-ex10.C: Likewise.
* g++.dg/cpp0x/variadic-ex14.C: Likewise.
* g++.dg/cpp0x/variadic2.C: Likewise.
* g++.dg/cpp0x/variadic74.C: Likewise.
* g++.dg/parse/error10.C: Likewise.
* g++.dg/parse/error15.C: Likewise.
* g++.dg/parse/error2.C: Likewise.
* g++.dg/template/crash106.C: Likewise.
* g++.dg/template/crash89.C: Likewise.
* g++.dg/template/nontype7.C: Likewise.
* g++.dg/template/void3.C: Likewise.
* g++.dg/template/void7.C: Likewise.

/libstdc++-v3
2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/26_numerics/random/linear_congruential_engine/
requirements/non_uint_neg.cc: Adjust for parser change.
* testsuite/tr1/5_numerical_facilities/random/linear_congruential/
requirements/non_uint_neg.cc: Likewise.

From-SVN: r213952

9 years agore PR middle-end/62090 (ice in compute_may_aliases)
Richard Biener [Thu, 14 Aug 2014 09:02:18 +0000 (09:02 +0000)]
re PR middle-end/62090 (ice in compute_may_aliases)

2014-08-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62090
* builtins.c (fold_builtin_sprintf): Move to gimple-fold.c.
(fold_builtin_2): Do not fold sprintf.
(fold_builtin_3): Likewise.
* gimple-fold.c (gimple_fold_builtin_sprintf): New function
moved from builtins.c.
(gimple_fold_builtin): Fold sprintf.

* gcc.dg/pr62090.c: New testcase.

From-SVN: r213951

9 years agore PR tree-optimization/62079 (ICE: in calc_dfs_tree, at dominance.c:401 with -fnon...
Richard Biener [Thu, 14 Aug 2014 08:56:49 +0000 (08:56 +0000)]
re PR tree-optimization/62079 (ICE: in calc_dfs_tree, at dominance.c:401 with -fnon-call-exceptions)

2014-08-14  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/62079
* recog.c (peephole2_optimize): If peep2_do_cleanup_cfg
run cleanup_cfg.

* g++.dg/pr62079.C: New testcase.

From-SVN: r213950

9 years agoipa-devirt.c (get_polymorphic_call_info): Use fndecl instead of current_function_decl.
Ilya Enkovich [Thu, 14 Aug 2014 08:46:44 +0000 (08:46 +0000)]
ipa-devirt.c (get_polymorphic_call_info): Use fndecl instead of current_function_decl.

gcc/
* ipa-devirt.c (get_polymorphic_call_info): Use fndecl instead of
current_function_decl.

From-SVN: r213947

9 years agocgraph.c (cgraph_node::function_symbol): Fix wrong cgraph_function_node to cgraph_nod...
Ilya Enkovich [Thu, 14 Aug 2014 08:45:45 +0000 (08:45 +0000)]
cgraph.c (cgraph_node::function_symbol): Fix wrong cgraph_function_node to cgraph_node::function_symbol refactoring.

gcc/
* cgraph.c (cgraph_node::function_symbol): Fix wrong
cgraph_function_node to cgraph_node::function_symbol
refactoring.

From-SVN: r213946

9 years agoarm.c (arm_option_override): Set max_insns_skipped to MAX_INSN_PER_IT_BLOCK when...
Zhenqiang Chen [Thu, 14 Aug 2014 04:47:43 +0000 (04:47 +0000)]
arm.c (arm_option_override): Set max_insns_skipped to MAX_INSN_PER_IT_BLOCK when optimize_size for THUMB2.

ChangeLog:
2014-08-14  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* config/arm/arm.c (arm_option_override): Set max_insns_skipped
to MAX_INSN_PER_IT_BLOCK when optimize_size for THUMB2.

testsuite/ChangeLog:
2014-08-14  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* gcc.target/arm/max-insns-skipped.c: New test.

From-SVN: r213939

9 years agoaddrtmp.c: Add bind_pic_locally option.
Bin Cheng [Thu, 14 Aug 2014 02:10:05 +0000 (02:10 +0000)]
addrtmp.c: Add bind_pic_locally option.

testcases
* c-c++-common/addrtmp.c: Add bind_pic_locally option.

From-SVN: r213937

9 years agoDaily bump.
GCC Administrator [Thu, 14 Aug 2014 00:16:55 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213936

9 years agocompiler, runtime: Fix unexpected GC interfering with closure passing.
Ian Lance Taylor [Wed, 13 Aug 2014 22:31:44 +0000 (22:31 +0000)]
compiler, runtime: Fix unexpected GC interfering with closure passing.

The Go frontend passes closures through to functions using the
functions __go_set_closure and __go_get_closure.  The
expectation is that there are no function calls between
set_closure and get_closure.  However, it turns out that there
can be function calls if some of the function arguments
require type conversion to an interface type.  Converting to
an interface type can allocate memory, and that can in turn
trigger a garbage collection, and that can in turn call pool
cleanup functions that may call __go_set_closure.  So the
called function can see the wrong closure value, which is bad.

This patch fixes the problem in two different ways.  First, we
move all type conversions in function arguments into temporary
variables so that they can not appear before the call to
__go_set_closure.  (This required shifting the flatten phase
after the simplify_thunk phase, since the latter expects to
work with unconverted argument types.)  Second, we fix the
memory allocation function to preserve the closure value
across any possible garbage collection.

A test case is the libgo database/sql check run with the
environment variable GOGC set to 1.

From-SVN: r213932

9 years agocrtstuff.c: Undef caddr_t.
Steve Ellcey [Wed, 13 Aug 2014 22:23:16 +0000 (22:23 +0000)]
crtstuff.c: Undef caddr_t.

2014-08-13  Steve Ellcey  <sellcey@mips.com>

* crtstuff.c: Undef caddr_t.

From-SVN: r213931

9 years agore PR libstdc++/61841 (broken std::thread on Hurd)
Jonathan Wakely [Wed, 13 Aug 2014 18:40:10 +0000 (19:40 +0100)]
re PR libstdc++/61841 (broken std::thread on Hurd)

PR libstdc++/61841
* include/std/thread (thread::_M_start_thread): Declare new overload.
(thread::thread<_Callable, _Args...>): Call new overload with an
explicit reference to pthread_create.
* src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
* config/abi/pre/gnu.ver: Export new function.

From-SVN: r213922