gcc.git
9 years agopass rtx_insn * more in gcse.c
Trevor Saunders [Sat, 9 May 2015 04:16:54 +0000 (04:16 +0000)]
pass rtx_insn * more in gcse.c

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* gcse.c: Change argument types to rtx_insn *.

From-SVN: r222949

9 years agocse_change_cc0_mode can take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:16:49 +0000 (04:16 +0000)]
cse_change_cc0_mode can take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.

From-SVN: r222948

9 years agomake emit_debug_insn_before take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:16:43 +0000 (04:16 +0000)]
make emit_debug_insn_before take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* emit-rtl.c (emit_debug_insn_before): Change argument type to
rtx_insn *.
* rtl.h: Adjust.

From-SVN: r222947

9 years agoemit_note_before can take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:16:38 +0000 (04:16 +0000)]
emit_note_before can take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
* rtl.h: Adjust.

From-SVN: r222946

9 years agoemit_note_after can take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:16:33 +0000 (04:16 +0000)]
emit_note_after can take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
* rtl.h: Adjust.

From-SVN: r222945

9 years agoprev_cc0_setter can take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:16:27 +0000 (04:16 +0000)]
prev_cc0_setter can take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
* rtl.h: Adjust.

From-SVN: r222944

9 years agomake noop_move_p take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:16:19 +0000 (04:16 +0000)]
make noop_move_p take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
* rtl.h: Adjust.

From-SVN: r222943

9 years agomake add_shallow_copy_of_reg_note take an rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:16:13 +0000 (04:16 +0000)]
make add_shallow_copy_of_reg_note take an rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
to rtx_insn *.
* rtl.h: Adjust.

From-SVN: r222942

9 years agomake remove_reg_equal_equiv_notes take an rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:16:08 +0000 (04:16 +0000)]
make remove_reg_equal_equiv_notes take an rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
to rtx_insn *.
* rtl.h: Likewise.

From-SVN: r222941

9 years agocan_nonlocal_goto can take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:16:03 +0000 (04:16 +0000)]
can_nonlocal_goto can take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* except.c (can_nonlocal_goto): Change type of argument to
rtx_insn *.
* rtl.h: Adjust.

From-SVN: r222940

9 years agocomputed_jump_p takes a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:15:57 +0000 (04:15 +0000)]
computed_jump_p takes a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
* rtl.h: Adjust.

From-SVN: r222939

9 years agochange in_expr_list_p to in_insn_list_p
Trevor Saunders [Sat, 9 May 2015 04:15:52 +0000 (04:15 +0000)]
change in_expr_list_p to in_insn_list_p

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
* cfgrtl.c (can_delete_label_p): Adjust.
* rtl.h: likewise.

From-SVN: r222938

9 years agomake stop_search_p take a rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:15:46 +0000 (04:15 +0000)]
make stop_search_p take a rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* reorg.c (stop_search_p): Change argument to rtx_insn *.

From-SVN: r222937

9 years agomake make_reg_eh_region_note and friend take rtx_insn *
Trevor Saunders [Sat, 9 May 2015 04:15:41 +0000 (04:15 +0000)]
make make_reg_eh_region_note and friend take rtx_insn *

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* except.c (make_reg_eh_region_note): Change argument to
rtx_insn *.
(make_reg_eh_region_note_nothrow_nononlocal): Likewise.
* except.h: Adjust.

From-SVN: r222936

9 years agouse rtx_insn * as the type of a local variable in mode-switching.c
Trevor Saunders [Sat, 9 May 2015 04:15:35 +0000 (04:15 +0000)]
use rtx_insn * as the type of a local variable in mode-switching.c

gcc/ChangeLog:

2015-05-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* mode-switching.c (commit_mode_sets): Change type of local
variable from rtx to rtx_insn *.

From-SVN: r222935

9 years agodecl2.c (mangling_aliases): New variable.
Jason Merrill [Sat, 9 May 2015 03:28:52 +0000 (23:28 -0400)]
decl2.c (mangling_aliases): New variable.

* decl2.c (mangling_aliases): New variable.
(note_mangling_alias, generate_mangling_aliases): New.
(cp_write_global_declarations): Call generate_mangling_aliases.
(generate_mangling_alias): Split out from...
* mangle.c (mangle_decl): ...here.
* cp-tree.h: Declare note_mangling_alias.

From-SVN: r222934

9 years agodecl2.c (collect_candidates_for_java_method_aliases): Remove.
Aldy Hernandez [Sat, 9 May 2015 03:28:40 +0000 (03:28 +0000)]
decl2.c (collect_candidates_for_java_method_aliases): Remove.

* decl2.c (collect_candidates_for_java_method_aliases): Remove.
(build_java_method_aliases): Adapt to use create_same_body_alias
instead of assemble_alias.  Move variable declarations to
definition and tidy up.
(cp_write_global_declarations): Call build_java_method_aliases
instead of collecting candidates first.

From-SVN: r222933

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

From-SVN: r222931

9 years agoinstall.texi (--enable-languages): Add missing jit and lto info.
Jim Wilson [Fri, 8 May 2015 19:56:13 +0000 (19:56 +0000)]
install.texi (--enable-languages): Add missing jit and lto info.

* doc/install.texi (--enable-languages): Add missing jit and lto info.
Add ^ to grep command.
* doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
arg to last gimple_simplify declaration.  Add missing gimple_build
declaration for built-in function case with four tree args.

From-SVN: r222923

9 years agolibiberty/mkstemps.c: Include <time.h> if <sys/time.h> not available.
Joel Brobecker [Fri, 8 May 2015 17:14:26 +0000 (17:14 +0000)]
libiberty/mkstemps.c: Include <time.h> if <sys/time.h> not available.

libiberty/ChangeLog:

        * mkstemps.c: #include <time.h> if HAVE_TIME_H is defined
        but not HAVE_SYS_TIME_H.

(fixes a build failure on LynxOS-178)

From-SVN: r222918

9 years ago[PATCH 6/13] mips musl support
Gregor Richards [Fri, 8 May 2015 15:16:50 +0000 (15:16 +0000)]
[PATCH 6/13] mips musl support

2015-05-08  Gregor Richards  <gregor.richards@uwaterloo.ca>
    Szabolcs Nagy  <szabolcs.nagy@arm.com>

* config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
(GNU_USER_DYNAMIC_LINKERN32): Update.

Co-Authored-By: Szabolcs Nagy <szabolcs.nagy@arm.com>
From-SVN: r222915

9 years agore PR tree-optimization/66036 (strided group loads are not vectorized)
Richard Biener [Fri, 8 May 2015 15:13:55 +0000 (15:13 +0000)]
re PR tree-optimization/66036 (strided group loads are not vectorized)

2015-05-08  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/66036
* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
Handle strided group loads.
(vect_verify_datarefs_alignment): Likewise.
(vect_enhance_data_refs_alignment): Likewise.
(vect_analyze_group_access): Likewise.
(vect_analyze_data_ref_access): Likewise.
(vect_analyze_data_ref_accesses): Likewise.
* tree-vect-stmts.c (vect_model_load_cost): Likewise.
(vectorizable_load): Likewise.

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

From-SVN: r222914

9 years agotrans-array.c (gfc_walk_elemental_function_args): Don't skip the advance to the next...
Mikael Morin [Fri, 8 May 2015 14:53:20 +0000 (14:53 +0000)]
trans-array.c (gfc_walk_elemental_function_args): Don't skip the advance to the next dummy argument when...

gcc/fortran/
* trans-array.c (gfc_walk_elemental_function_args):
Don't skip the advance to the next dummy argument when skipping
absent optional args.
gcc/testsuite/
* gfortran.dg/elemental_optional_args_7.f90: New.

From-SVN: r222913

9 years agors6000.md: Require operand inequality in one of the peepholes.
Segher Boessenkool [Fri, 8 May 2015 14:34:11 +0000 (16:34 +0200)]
rs6000.md: Require operand inequality in one of the peepholes.

* config/rs6000/rs6000.md: Require operand inequality in one
of the peepholes.

From-SVN: r222912

9 years agoFranz Sirl <Franz.Sirl-kernel@lauterbach.com>
Richard Sandiford [Fri, 8 May 2015 14:04:12 +0000 (14:04 +0000)]
Franz Sirl <Franz.Sirl-kernel@lauterbach.com>

gcc/
2015-05-08  Richard Sandiford  <richard.sandiford@arm.com>
    Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

* config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
from (set ...).
* config/rx/rx.md (movdi, movdf): Likewise.
Likewise for define_peephole2s.

Co-Authored-By: Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
From-SVN: r222911

9 years ago[AArch64] Idiomatic 64x1 comparisons in arm_neon.h
Alan Lawrence [Fri, 8 May 2015 12:00:10 +0000 (12:00 +0000)]
[AArch64] Idiomatic 64x1 comparisons in arm_neon.h

gcc/:

* config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
vtst_u64): Rewrite using gcc vector extensions.

gcc/testsuite/:

* gcc.target/aarch64/singleton_intrinsics_1.c: Generalize regex to
allow cmlt or sshr.

From-SVN: r222909

9 years ago[AArch64] Add vcond(u?)didi pattern
Alan Lawrence [Fri, 8 May 2015 11:49:02 +0000 (11:49 +0000)]
[AArch64] Add vcond(u?)didi pattern

* config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.

From-SVN: r222908

9 years agooptabs.c: Make vector_compare_rtx cope with VOID mode constants (e.g. const0_rtx)
Alan Lawrence [Fri, 8 May 2015 11:40:33 +0000 (11:40 +0000)]
optabs.c: Make vector_compare_rtx cope with VOID mode constants (e.g. const0_rtx)

* optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.

From-SVN: r222907

9 years ago[PATCH 0/13] Add musl support to GCC
Szabolcs Nagy [Fri, 8 May 2015 08:30:40 +0000 (08:30 +0000)]
[PATCH 0/13] Add musl support to GCC

2015-05-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>

* config/glibc-stdint.h (OPTION_MUSL): Define.
(INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
Change the definition based on OPTION_MUSL for 64 bit targets.
* config/linux.h (OPTION_MUSL): Redefine.
* config/alpha/linux.h (OPTION_MUSL): Redefine.
* config/rs6000/linux.h (OPTION_MUSL): Redefine.
* config/rs6000/linux64.h (OPTION_MUSL): Redefine.

From-SVN: r222905

9 years ago[PATCH 2/13] musl libc config
Gregor Richards [Fri, 8 May 2015 08:25:47 +0000 (08:25 +0000)]
[PATCH 2/13] musl libc config

2015-05-08  Gregor Richards  <gregor.richards@uwaterloo.ca>
    Szabolcs Nagy  <szabolcs.nagy@arm.com>

* config.gcc (LIBC_MUSL): New tm_defines macro.
* config/linux.h (OPTION_MUSL): Define.
(MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
(INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
(INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
(INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
* config/linux.opt (mmusl): New option.
* doc/invoke.texi (GNU/Linux Options): Document -mmusl.
* configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
(gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
* configure: Regenerate.

Co-Authored-By: Szabolcs Nagy <szabolcs.nagy@arm.com>
From-SVN: r222904

9 years agoPR target/48904 x86_64-knetbsd-gnu missing defs
H.J. Lu [Fri, 8 May 2015 07:33:42 +0000 (07:33 +0000)]
PR target/48904 x86_64-knetbsd-gnu missing defs

2015-05-08  H.J. Lu  <hongjiu.lu@intel.com>
            Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

        PR target/48904
        * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
        * config/i386/knetbsd-gnu64.h: New file.

Co-Authored-By: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
From-SVN: r222903

9 years agore PR c++/59012 (alignas does not support parameter pack expansions)
Jason Merrill [Fri, 8 May 2015 04:42:06 +0000 (00:42 -0400)]
re PR c++/59012 (alignas does not support parameter pack expansions)

PR c++/59012
* parser.c (cp_parser_std_attribute_list): Handle attribute expansion.
(cp_parser_std_attribute_spec): Handle alignas pack expansion.
* decl2.c (is_late_template_attribute): An attribute exp is dependent.
* pt.c (make_pack_expansion): Allow TREE_LIST for attribute expansion.
(apply_late_template_attributes): Handle attribute pack expansion.

From-SVN: r222902

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

From-SVN: r222901

9 years agore PR c/64918 (invalid (?) warning when initializing structure)
Marek Polacek [Thu, 7 May 2015 22:14:27 +0000 (22:14 +0000)]
re PR c/64918 (invalid (?) warning when initializing structure)

PR c/64918
* c.opt (Woverride-init-side-effects): New option.

* c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
(output_init_element): Likewise.

* doc/invoke.texi: Document -Woverride-init-side-effects.

* gcc.dg/Woverride-init-side-effects-1.c: New test.
* gcc.dg/Woverride-init-side-effects-2.c: New test.

From-SVN: r222894

9 years agore PR c/65179 (Introduce new C warning: -Wshift-negative-value)
Marek Polacek [Thu, 7 May 2015 19:36:31 +0000 (19:36 +0000)]
re PR c/65179 (Introduce new C warning: -Wshift-negative-value)

PR c/65179
* c-common.c (c_fully_fold_internal): Warn when left shifting a
negative value.
* c.opt (Wshift-negative-value): New option.
* c-opts.c (c_common_post_options): Set warn_shift_negative_value
when -Wextra and C99/C++11 mode.

* c-typeck.c (build_binary_op): Warn when left shifting a negative
value.

* typeck.c (cp_build_binary_op): Warn when left shifting a negative
value.

* doc/invoke.texi: Document -Wshift-negative-value.

* c-c++-common/Wshift-negative-value-1.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-2.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-3.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-4.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-5.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-6.c: New test.
* testsuite/gcc.dg/c90-left-shift-1.c: New test.
* testsuite/gcc.dg/c99-const-expr-7.c: Add dg-error.
* testsuite/gcc.dg/c99-left-shift-1.c: New test.

From-SVN: r222889

9 years agogcov-tool.c (do_merge): Refactore to remove int ret.
Aditya Kumar [Thu, 7 May 2015 17:57:11 +0000 (17:57 +0000)]
gcov-tool.c (do_merge): Refactore to remove int ret.

* gcov-tool.c (do_merge): Refactore to remove int ret.
* ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
!type == FUNC to type != FUNC.
* reload.h (struct target_reload): Changee to type of
x_spill_indirect_levels from bool to unsigned char.

From-SVN: r222884

9 years agortl.h (always_void_p): New function.
Richard Sandiford [Thu, 7 May 2015 16:58:46 +0000 (16:58 +0000)]
rtl.h (always_void_p): New function.

gcc/
* rtl.h (always_void_p): New function.
* gengenrtl.c (always_void_p): Likewise.
(genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
with code foo are always VOIDmode.
* genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
* builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
compare-elim.c, config/aarch64/aarch64.c,
config/aarch64/aarch64.md, config/alpha/alpha.c,
config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
config/ia64/vect.md, config/iq2000/iq2000.c,
config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
config/mep/mep.c, config/microblaze/microblaze.c,
config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
config/mn10300/mn10300.c, config/msp430/msp430.c,
config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
config/rs6000/altivec.md, config/rs6000/rs6000.c,
config/rs6000/rs6000.md, config/rs6000/vector.md,
config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
config/sh/sh.md, config/sh/sh_treg_combine.cc,
config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
config/spu/spu.md, config/stormy16/stormy16.c,
config/tilegx/tilegx.c, config/tilegx/tilegx.md,
config/tilepro/tilepro.c, config/tilepro/tilepro.md,
config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
var-tracking.c: Update calls accordingly.

From-SVN: r222883

9 years agoDR 1467 PR c++/51747
Jason Merrill [Thu, 7 May 2015 16:46:49 +0000 (12:46 -0400)]
DR 1467 PR c++/51747

DR 1467
PR c++/51747
* typeck2.c (digest_init_r): Fix single element list.

From-SVN: r222881

9 years agore PR middle-end/192 (String literals don't obey -fdata-sections)
Segher Boessenkool [Thu, 7 May 2015 15:51:01 +0000 (17:51 +0200)]
re PR middle-end/192 (String literals don't obey -fdata-sections)

PR middle-end/192
PR middle-end/54303
* varasm.c (function_mergeable_rodata_prefix): New function.
(mergeable_string_section): Use it.
(mergeable_constant_section): Use it.

gcc/testsuite/
* gcc.dg/fdata-sections-2.c: New file.

From-SVN: r222880

9 years agore PR testsuite/66046 (UBSan output pattern tests fail on target ARM board.)
Marek Polacek [Thu, 7 May 2015 14:44:26 +0000 (14:44 +0000)]
re PR testsuite/66046 (UBSan output pattern tests fail on target ARM board.)

PR testsuite/66046
* c-c++-common/ubsan/align-6.c: Don't match trailing newlines in the
last dg-output.
* c-c++-common/ubsan/align-7.c: Likewise.
* c-c++-common/ubsan/bounds-8.c: Likewise.
* c-c++-common/ubsan/float-cast-overflow-9.c: Likewise.
* c-c++-common/ubsan/load-bool-enum.c: Likewise.
* c-c++-common/ubsan/null-1.c: Likewise.
* c-c++-common/ubsan/null-10.c: Likewise.
* c-c++-common/ubsan/null-11.c: Likewise.
* c-c++-common/ubsan/null-2.c: Likewise.
* c-c++-common/ubsan/null-3.c: Likewise.
* c-c++-common/ubsan/null-4.c: Likewise.
* c-c++-common/ubsan/null-5.c: Likewise.
* c-c++-common/ubsan/null-6.c: Likewise.
* c-c++-common/ubsan/null-7.c: Likewise.
* c-c++-common/ubsan/null-8.c: Likewise.
* c-c++-common/ubsan/null-9.c: Likewise.
* c-c++-common/ubsan/object-size-1.c: Likewise.
* c-c++-common/ubsan/object-size-10.c: Likewise.
* c-c++-common/ubsan/object-size-4.c: Likewise.
* c-c++-common/ubsan/object-size-5.c: Likewise.
* c-c++-common/ubsan/object-size-7.c: Likewise.
* c-c++-common/ubsan/object-size-8.c: Likewise.
* c-c++-common/ubsan/object-size-9.c: Likewise.
* c-c++-common/ubsan/overflow-add-2.c: Likewise.
* c-c++-common/ubsan/overflow-int128.c: Likewise.
* c-c++-common/ubsan/overflow-mul-2.c: Likewise.
* c-c++-common/ubsan/overflow-mul-4.c: Likewise.
* c-c++-common/ubsan/overflow-negate-1.c: Likewise.
* c-c++-common/ubsan/overflow-negate-3.c: Likewise.
* c-c++-common/ubsan/overflow-sub-2.c: Likewise.
* c-c++-common/ubsan/overflow-sub-4.c: Likewise.
* c-c++-common/ubsan/pr59333.c: Likewise.
* c-c++-common/ubsan/pr59667.c: Likewise.
* c-c++-common/ubsan/pr60613-2.c: Likewise.
* c-c++-common/ubsan/pr60636.c: Likewise.
* c-c++-common/ubsan/pr63802.c: Likewise.
* c-c++-common/ubsan/recovery-1.c: Likewise.
* c-c++-common/ubsan/recovery-3.c: Likewise.
* c-c++-common/ubsan/shift-1.c: Likewise.
* c-c++-common/ubsan/shift-2.c: Likewise.
* c-c++-common/ubsan/shift-4.c: Likewise.
* c-c++-common/ubsan/shift-7.c: Likewise.
* c-c++-common/ubsan/undefined-2.c: Likewise.
* c-c++-common/ubsan/vla-1.c: Likewise.
* g++.dg/ubsan/null-1.C: Likewise.
* g++.dg/ubsan/null-3.C: Likewise.
* g++.dg/ubsan/null-4.C: Likewise.
* g++.dg/ubsan/vptr-8.C: Likewise.
* g++.dg/ubsan/vptr-9.C: Likewise.
* gcc.dg/ubsan/bounds-2.c: Likewise.
* gcc.dg/ubsan/object-size-9.c: Likewise.

From-SVN: r222878

9 years agomatch.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New simplifier to...
Jeff Law [Thu, 7 May 2015 13:18:07 +0000 (07:18 -0600)]
match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New simplifier to narrow arithmetic.

* match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
simplifier to narrow arithmetic.
* generic-match-head.c: (types_match, single_use): New functions.
* gimple-match-head.c: (types_match, single_use): New functions.

* gcc.dg/tree-ssa/shorten-1.c: New test.

From-SVN: r222877

9 years agocombine.c (make_compound_operation): Remove checks for PLUS/MINUS rtx type.
Venkataramanan Kumar [Thu, 7 May 2015 10:47:54 +0000 (10:47 +0000)]
combine.c (make_compound_operation): Remove checks for PLUS/MINUS rtx type.

2015-05-07  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
        rtx type.

From-SVN: r222874

9 years agore PR tree-optimization/66002 (paq8p benchmark 50% slower than clang on sandybridge)
Richard Biener [Thu, 7 May 2015 09:52:38 +0000 (09:52 +0000)]
re PR tree-optimization/66002 (paq8p benchmark 50% slower than clang on sandybridge)

2015-05-07  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66002
* passes.def: Schedule another pass_merge_phi after ifcombine, right
before phiopt.

* gcc.dg/vect/vect-125.c: New testcase.

From-SVN: r222873

9 years agoc-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting flexible member array...
Marek Polacek [Thu, 7 May 2015 08:08:57 +0000 (08:08 +0000)]
c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting flexible member array-like members if...

* c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
flexible member array-like members if SANITIZE_BOUNDS_STRICT.

* doc/invoke.texi: Document -fsanitize=bounds-strict.
* flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
into SANITIZE_NONDEFAULT.
* opts.c (common_handle_option): Handle -fsanitize=bounds-strict.

* c-c++-common/ubsan/bounds-10.c: New test.

From-SVN: r222871

9 years agore PR target/66015 (align directives not propagated after __attribute__ ((__optimize_...
Uros Bizjak [Thu, 7 May 2015 07:34:29 +0000 (09:34 +0200)]
re PR target/66015 (align directives not propagated after __attribute__ ((__optimize__ ("O2"))))

PR target/66015
* config/alpha/alpha.c (alpha_override_options_after_change): New.
(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
(alpha_override_options): Move align_loops, align_jumps and
align_functions handling into alpha_override_options_after_change.

From-SVN: r222870

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

From-SVN: r222869

9 years agocompiler: Analyze escape information of interface parameters.
Ian Lance Taylor [Wed, 6 May 2015 22:59:54 +0000 (22:59 +0000)]
compiler: Analyze escape information of interface parameters.

When analyzing function calls with interface parameters, all arguments
related to an interface parameter were assumed to escape via the
function arguments.  Now, if an argument is related to a non-escaping
parameter with an interface type, the argument may be stack-allocated.

From-SVN: r222865

9 years agore PR fortran/37131 (inline matmul for small matrix sizes)
Thomas Koenig [Wed, 6 May 2015 20:23:48 +0000 (20:23 +0000)]
re PR fortran/37131 (inline matmul for small matrix sizes)

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

PR fortran/37131
* gfortran.h (gfc_isym_id):  Add GFC_ISYM_FE_RUNTIME_ERROR.
(gfc_intrinsic_sym):  Add vararg.
* intrinsic.h (gfc_check_fe_runtime_error):  Add prototype.
(gfc_resolve_re_runtime_error):  Likewise.
Add prototype for gfc_is_reallocatable_lhs.
* trans-array.h (gfc_is_reallocatable_lhs):  Remove prototype.
* check.c (gfc_check_fe_runtime_error):  New function.
* intrinsic.c (add_sym_1p):  New function.
(make_vararg):  New function.
(add_subroutines):  Add fe_runtime_error.
(gfc_intrinsic_sub_interface): Skip sorting for variable number
of arguments.
* iresolve.c (gfc_resolve_fe_runtime_error):  New function.
* lang.opt (inline-matmul-limit):  New option.
(gfc_post_options): If no inline matmul limit has been set and
BLAS is called externally, use the BLAS limit.
* frontend-passes.c:  Include intrinsic.h.
(var_num):  New global counter for naming temporary variablbles.
(matrix_case):  Enum for differentiating the different matmul
cases.
(realloc_string_callback):  Add "trim" to the variable name.
(create_var): Add optional argument vname as part of the name.
Use var_num. Set dimension of result correctly. Split off block
creation into
(insert_block): New function.
(cfe_expr_0): Use "fcn" as part of temporary variable name.
(optimize_namesapce): Also set gfc_current_ns. Call
inline_matmul_assign.
(combine_array_constructor):  Use "constr" as part of
temporary name.
(get_array_inq_function):  New function.
(build_logical_expr):  New function.
(get_operand):  new function.
(inline_limit_check):  New function.
(runtime_error_ne):  New function.
(matmul_lhs_realloc):  New function.
(is_functino_or_op):  New function.
(has_function_or_op):  New function.
(freeze_expr):  New function.
(freeze_references):  New function.
(convert_to_index_kind):  New function.
(create_do_loop):  New function.
(get_size_m1):  New function.
(scalarized_expr):  New function.
(inline_matmul_assign):  New function.
* simplify.c (simplify_bound):  Simplify the case of the
lower bound of an assumed-shape argument.

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

PR fortran/37131
* gfortran.dg/dependency_26.f90: Add option to suppress inlining
matmul.
* gfortran.dg/function_optimize_1.f90:  Likewise.
* gfortran.dg/function_optimize_2.f90:  Likewise.
* gfortran.dg/function_optimize_5.f90:  Likewise.
* gfortran.dg/function_optimize_7.f90:  Likewise.
* gfortran.dg/inline_matmul_1.f90:  New test.
* gfortran.dg/inline_matmul_2.f90:  New test.
* gfortran.dg/inline_matmul_3.f90:  New test.
* gfortran.dg/inline_matmul_4.f90:  New test.
* gfortran.dg/inline_matmul_5.f90:  New test.
* gfortran.dg/inline_matmul_6.f90:  New test.

From-SVN: r222864

9 years agojit: add test-benchmark.c
David Malcolm [Wed, 6 May 2015 20:13:50 +0000 (20:13 +0000)]
jit: add test-benchmark.c

gcc/testsuite/ChangeLog:
* jit.dg/harness.h (set_options): Wrap with
#ifndef TEST_ESCHEWS_SET_OPTIONS.
* jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer):
Special-case test-benchmark.c as a negative.
* jit.dg/test-benchmark.c: New file.

From-SVN: r222863

9 years agooacc-init.c (acc_device_lock): Add explanatory comment.
Julian Brown [Wed, 6 May 2015 19:10:14 +0000 (19:10 +0000)]
oacc-init.c (acc_device_lock): Add explanatory comment.

* oacc-init.c (acc_device_lock): Add explanatory comment.
(resolve_device): Add comment about locking requirement.
(acc_init_1, acc_shutdown_1): Likewise. Add locking around
gomp_init_device and gomp_fini_device calls.
(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
(acc_get_device_num, acc_set_device_num): Add locking around
resolve_device and gomp_init_device calls.

From-SVN: r222862

9 years agooacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for goacc_thread_lock on error...
Julian Brown [Wed, 6 May 2015 16:45:49 +0000 (16:45 +0000)]
oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for goacc_thread_lock on error paths.

* oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
goacc_thread_lock on error paths.
* oacc-mem.c (lookup_host): Remove locking from function. Note
locking requirement for caller in function comment.
(lookup_dev): Likewise.
(acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
(acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
(update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
Add locking.

From-SVN: r222860

9 years agounknown-elf.h (STARTFILE_SPEC): Add conditional linking of crtfastmath.o.
Sandra Loosemore [Wed, 6 May 2015 16:01:05 +0000 (12:01 -0400)]
unknown-elf.h (STARTFILE_SPEC): Add conditional linking of crtfastmath.o.

2015-05-06  Sandra Loosemore  <sandra@codesourcery.com>
    Chris Jones  <chrisj@nvidia.com>
    Joshua Conner  <jconner@nvidia.com>

gcc/
* config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
linking of crtfastmath.o.
* config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.

libgcc/
* config.host (arm*-*-linux*): Add support for crtfastmath.o.
(arm*-*-uclinux*): Likewise.
(arm*-*-eabi* | arm*-*-rtems*): Likewise.
* config/arm/crtfastmath.c: New file.

Co-Authored-By: Chris Jones <chrisj@nvidia.com>
Co-Authored-By: Joshua Conner <jconner@nvidia.com>
From-SVN: r222857

9 years agors6000.md (cstore<mode>4_signed_imm): New expander.
Segher Boessenkool [Wed, 6 May 2015 15:55:10 +0000 (17:55 +0200)]
rs6000.md (cstore<mode>4_signed_imm): New expander.

* config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
(cstore<mode>4_unsigned_imm): New expander.
(cstore<mode>4): Remove empty constraint strings.  Use the new
expanders.

From-SVN: r222855

9 years agore PR target/64208 ([iwmmxt] ICE: internal compiler error: Max. number of generated...
Yvan Roux [Wed, 6 May 2015 14:23:57 +0000 (14:23 +0000)]
re PR target/64208 ([iwmmxt] ICE: internal compiler error: Max. number of generated reload insns per insn is achieved (90))

gcc/
2015-05-06  Yvan Roux  <yvan.roux@linaro.org>

PR target/64208
* config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
alternatives.

gcc/testsuite/
2015-05-06  Yvan Roux  <yvan.roux@linaro.org>

PR target/64208
* gcc.target/arm/pr64208.c: New test.

From-SVN: r222853

9 years ago[AArch64] Fix geniterators.sh to use standard BRE syntax in sed
Szabolcs Nagy [Wed, 6 May 2015 13:23:01 +0000 (13:23 +0000)]
[AArch64] Fix geniterators.sh to use standard BRE syntax in sed

On behalf of Szabolcs Nagy.

2015-05-06  Szabolcs Nagy  <szabolcs.nagy@arm.com>

* config/aarch64/geniterators.sh: Use standard BRE in sed.

From-SVN: r222852

9 years agore PR target/66033 (rs6000 nops removed by rtl_dce)
Alan Modra [Wed, 6 May 2015 13:12:19 +0000 (22:42 +0930)]
re PR target/66033 (rs6000 nops removed by rtl_dce)

PR target/66033
* config/rs6000/rs6000.md (nop): Use an unspec pattern.
(UNSPEC_NOP): Define.
(reload_vsx_from_gpr<mode>): Add missing DONE.
(reload_gpr_from_vsx<mode>): Likewise.
* config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
(vsx_div_v2di, vsx_udiv_v2di): Likewise.

From-SVN: r222851

9 years agore PR target/66020 (FAIL: gcc.target/powerpc/ppc64-abi-2.c execution test)
Alan Modra [Wed, 6 May 2015 13:10:59 +0000 (22:40 +0930)]
re PR target/66020 (FAIL: gcc.target/powerpc/ppc64-abi-2.c execution test)

PR target/66020
* gcc.target/powerpc/ppc64-abi-2.c (my_mcount): Rewrite.
(gparms): Make volatile.

From-SVN: r222850

9 years agore PR fortran/62283 (basic-block vectorization fails)
Richard Biener [Wed, 6 May 2015 12:21:01 +0000 (12:21 +0000)]
re PR fortran/62283 (basic-block vectorization fails)

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

PR tree-optimization/62283
* gcc.dg/vect/bb-slp-32.c: Remove XFAIL.

From-SVN: r222849

9 years agore PR target/66015 (align directives not propagated after __attribute__ ((__optimize_...
Christian Bruel [Wed, 6 May 2015 10:54:40 +0000 (12:54 +0200)]
re PR target/66015 (align directives not propagated after __attribute__ ((__optimize__ ("O2"))))

2015-05-06  Christian Bruel  <christian.bruel@st.com>

PR target/66015
* config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
align_jumps, align_functions into aarch64_override_options_after_change.

From-SVN: r222847

9 years agotree-vect-slp.c (vect_supported_load_permutation_p): Use vect_transform_slp_perm_load...
Richard Biener [Wed, 6 May 2015 10:49:35 +0000 (10:49 +0000)]
tree-vect-slp.c (vect_supported_load_permutation_p): Use vect_transform_slp_perm_load to check if...

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

* tree-vect-slp.c (vect_supported_load_permutation_p): Use
vect_transform_slp_perm_load to check if we support a permutation
for basic-block vectorization.

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

From-SVN: r222846

9 years agorl78.c (need_to_save): Save register 22 if it is used, even if it is not being used...
Nick Clifton [Wed, 6 May 2015 10:19:07 +0000 (10:19 +0000)]
rl78.c (need_to_save): Save register 22 if it is used, even if it is not being used as a frame pointer.

* config/rl78/rl78.c (need_to_save): Save register 22 if it is
used, even if it is not being used as a frame pointer.

From-SVN: r222845

9 years agore PR fortran/62283 (basic-block vectorization fails)
Richard Biener [Wed, 6 May 2015 06:47:38 +0000 (06:47 +0000)]
re PR fortran/62283 (basic-block vectorization fails)

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

PR tree-optimization/62283
* gcc.dg/vect/bb-slp-14.c: Adjust.

From-SVN: r222843

9 years agoc.opt (Wterminate): New.
Jason Merrill [Wed, 6 May 2015 02:25:01 +0000 (22:25 -0400)]
c.opt (Wterminate): New.

gcc/c-family/
* c.opt (Wterminate): New.
gcc/cp/
* cp-gimplify.c (cp_genericize_r): Track TRY_BLOCK and
MUST_NOT_THROW_EXPR, warn about a THROW_EXPR directly within a
MUST_NOT_THROW_EXPR.
(cp_genericize_data): Add try_block field.
(cp_genericize_tree): Initialize it.
* except.c (expand_end_catch_block): Set TREE_NO_WARNING on
implicit rethrow.

From-SVN: r222842

9 years agoFix obj-c++.dg/encode-10.mm with cxx_dialect == cxx11.
Jason Merrill [Wed, 6 May 2015 02:24:49 +0000 (22:24 -0400)]
Fix obj-c++.dg/encode-10.mm with cxx_dialect == cxx11.

* constexpr.c (potential_constant_expression_1) [AT_ENCODE_EXPR]:
Return false.

From-SVN: r222841

9 years agoFix g++.dg/torture/Wsizeof-pointer-memaccess2.C with -std=c++11
Jason Merrill [Wed, 6 May 2015 02:24:44 +0000 (22:24 -0400)]
Fix g++.dg/torture/Wsizeof-pointer-memaccess2.C with -std=c++11

Fix g++.dg/torture/Wsizeof-pointer-memaccess2.C with -std=c++11
* semantics.c (finish_call_expr): Check complain.

From-SVN: r222840

9 years agoFix gdb.cp/anon-struct.cc with -std=c++11.
Jason Merrill [Wed, 6 May 2015 02:24:38 +0000 (22:24 -0400)]
Fix gdb.cp/anon-struct.cc with -std=c++11.

gcc/
* dwarf2out.c (gen_member_die): Don't emit anything for an
anonymous class constructor.
gcc/cp/
* decl2.c (reset_type_linkage_2): Update the DECL_NAME of a
maybe-in-charge constructor.

From-SVN: r222839

9 years agodecl.c (start_decl): Don't push the plain VAR_DECL for a variable template.
Jason Merrill [Wed, 6 May 2015 02:07:40 +0000 (22:07 -0400)]
decl.c (start_decl): Don't push the plain VAR_DECL for a variable template.

* decl.c (start_decl): Don't push the plain VAR_DECL for a
variable template.

From-SVN: r222837

9 years agoDR 1518 DR 1630 PR c++/54835 PR c++/60417
Jason Merrill [Wed, 6 May 2015 02:07:34 +0000 (22:07 -0400)]
DR 1518 DR 1630 PR c++/54835 PR c++/60417

DR 1518
DR 1630
PR c++/54835
PR c++/60417
* call.c (convert_like_real): Check value-initialization before
explicit.
* typeck2.c (process_init_constructor_record): Don't set
CONSTRUCTOR_IS_DIRECT_INIT.
(process_init_constructor_array): Likewise.
* init.c (build_vec_init): Likewise.

From-SVN: r222836

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

From-SVN: r222834

9 years ago* sv.po: Update.
Joseph Myers [Tue, 5 May 2015 21:30:18 +0000 (22:30 +0100)]
* sv.po: Update.

From-SVN: r222829

9 years agocompiler: Don't make temporaries for constant string concatentation.
Ian Lance Taylor [Tue, 5 May 2015 20:56:59 +0000 (20:56 +0000)]
compiler: Don't make temporaries for constant string concatentation.

Fixes golang/go#10642.

From-SVN: r222828

9 years agoFix indentation issues seen by -Wmisleading-indentation
David Malcolm [Tue, 5 May 2015 19:41:11 +0000 (19:41 +0000)]
Fix indentation issues seen by -Wmisleading-indentation

gcc/ChangeLog:
* auto-profile.c (afdo_find_equiv_class): Fix indentation so
that it reflects the block structure.
(afdo_propagate_edge): Likewise.
(afdo_calculate_branch_prob): Likewise.
(afdo_annotate_cfg): Likewise.
* cfgcleanup.c (equal_different_set_p): Likewise.
(try_crossjump_to_edge): Likewise.
* cgraph.c (cgraph_node::verify_node): Likewise.
* cgraphunit.c (expand_all_functions): Likewise.
* config/i386/i386.c (ix86_expand_copysign): Likewise.
(exact_dependency_1): Likewise.
* dwarf2asm.c (dw2_output_indirect_constants): Likewise.
* dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
* gensupport.c (process_define_subst): Likewise.
* lto-wrapper.c (merge_and_complain): Likewise.
* tree-if-conv.c (if_convertible_bb_p): Likewise.
* tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
* tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
* tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
* tree-vect-loop.c (vectorizable_reduction): Likewise.
* tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
* tree-vect-stmts.c (vectorizable_shift): Likewise.
* tree-vrp.c (vrp_finalize): Likewise.
* tree.c (variably_modified_type_p): Likewise.

gcc/cp/ChangeLog:
* parser.c (cp_parser_asm_definition): Only test for
        error_mark_node if "outputs" was just set.
(cp_parser_asm_definition): Likewise for "inputs".

gcc/fortran/ChangeLog:
* expr.c (check_inquiry): Fix indentation so that it reflects the
block structure.
* interface.c (compare_parameter): Likewise.
* parse.c (parse_oacc_structured_block): Likewise.
* target-memory.c (expr_to_char): Likewise.
* trans-types.c (gfc_init_kinds): Likewise.

libcpp/ChangeLog:
* pch.c (cpp_valid_state): Fix indentation so that it reflects the
block structure.

From-SVN: r222823

9 years agoconfig.gcc: Use darwin9.h, darwin10.h and darwin12.h on darwin12 and later.
Jack Howarth [Tue, 5 May 2015 18:06:49 +0000 (18:06 +0000)]
config.gcc: Use darwin9.h, darwin10.h and darwin12.h on darwin12 and later.

2015-05-05  Jack Howarth  <howarth.at.gcc@gmail.com>

* config.gcc: Use darwin9.h, darwin10.h and darwin12.h
on darwin12 and later.
* config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
file to pass -rdynamic on darwin12 and later.
* config/darwin.opt (rdynamic): Add.

From-SVN: r222822

9 years agoextend.texi (C Extensions): Update menu for moved Variable Attributes and Type Attrib...
Uros Bizjak [Tue, 5 May 2015 17:36:40 +0000 (19:36 +0200)]
extend.texi (C Extensions): Update menu for moved Variable Attributes and Type Attributes sections.

        * doc/extend.texi (C Extensions): Update menu for moved Variable
        Attributes and Type Attributes sections.

From-SVN: r222819

9 years agore PR target/65990 (ICE: in extract_insn, at recog.c:2341 (unrecognizable insn) with...
Uros Bizjak [Tue, 5 May 2015 16:53:27 +0000 (18:53 +0200)]
re PR target/65990 (ICE: in extract_insn, at recog.c:2341 (unrecognizable insn) with -mmemcpy-strategy=rep_8byte:-1:noalign -m32 -mtune=btver2)

PR target/65990
* config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
if rep_8byte stringop strategy was specified for 32-bit target.

testsuite/ChangeLog:

PR target/65990
* gcc.target/i386/pr65990.c: New test.

From-SVN: r222817

9 years agore PR go/66016 (Accessing nil Func's name results in crash)
Ian Lance Taylor [Tue, 5 May 2015 16:38:57 +0000 (16:38 +0000)]
re PR go/66016 (Accessing nil Func's name results in crash)

PR go/66016
runtime: Don't crash in Func.Name if the Func is nil.

Related to Go issue 10696

From-SVN: r222816

9 years agore PR target/65915 (FAIL: gcc.target/i386/avx512f-vrndscalepd-2.c (internal compiler...
Ilya Tocar [Tue, 5 May 2015 15:43:13 +0000 (15:43 +0000)]
re PR target/65915 (FAIL: gcc.target/i386/avx512f-vrndscalepd-2.c (internal compiler error))

PR target/65915
* config/i386/i386.md (vector convert to float spltiter): Check for
xmm16+, when splitting scalar float conversion.
* config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.

testsuite/ChangeLog:

PR target/65915
* gcc.target/i386/pr65915.c: New.

From-SVN: r222811

9 years agomsp430-opts.h (enum msp430_regions): New.
Nick Clifton [Tue, 5 May 2015 15:15:13 +0000 (15:15 +0000)]
msp430-opts.h (enum msp430_regions): New.

* config/msp430/msp430-opts.h (enum msp430_regions): New.
* config/msp430/msp430.c (msp430_override_options): Complain if
-mcode-region or -mdata-region is used on a non MSP430X.
(msp430_section_attr): New function.  Checks lower, upper and
either attributes.
(msp430_attribute_table): Add lower, upper and either.
(gen_prefix): New function.  Generates a prefix for a section
name.
(msp430_select_section): New function - handles the choice of
section for an object.  Takes into account memory region
attributes and options.
(msp430_function_section): Use gen_prefix.
(TARGET_SECTION_TYPE_FLAGS): Define.
(msp430_section_type_flags): New function.
(TARGET_ASM_UNIQUE_SECTION): Define.
(msp430_unique_section): New function.
(msp430_output_aligned_decl_common): New function.
(msp430_do_not_relax_short_jumps): New function.
* config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
Define.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
* config/msp430/msp430-protos.h
(msp430_do_not_relax_short_jumps): New prototype.
(msp430_output_aligned_decl_common): New prototype.
* config/msp430/msp430.md (length): New attribute.
(cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
then use a long code sequence for short jumps.
* config/msp430/msp430.opt (mcode-region): New.
(mdata-region): New.
* doc/invoke.texi: Document new options.
* doc/extend.texi: Document new attributes.

From-SVN: r222810

9 years agolibcpp: Improvements to comments in line-map.h/c
David Malcolm [Tue, 5 May 2015 14:21:02 +0000 (14:21 +0000)]
libcpp: Improvements to comments in line-map.h/c

libcpp/ChangeLog:
* include/line-map.h: Fix comment at the top of the file.
(source_location): Rewrite and expand the comment for this
typedef, adding an ascii-art table to clarify how source_location
values are allocated.
* line-map.c: Fix comment at the top of the file.

From-SVN: r222806

9 years ago[AArch64] Add branch-cost to cpu tuning information.
Matthew Wahab [Tue, 5 May 2015 14:01:28 +0000 (14:01 +0000)]
[AArch64] Add branch-cost to cpu tuning information.

* gcc/config/aarch64-protos.h (struct cpu_branch_cost): New.
        (tune_params): Add field branch_costs.
(aarch64_branch_cost): Declare.
* gcc/config/aarch64.c (generic_branch_cost): New.
(generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(thunderx_tunings): Likewise.
(xgene1_tunings): Likewise.
(aarch64_branch_cost): Define.
* gcc/config/aarch64/aarch64.h (BRANCH_COST): Redefine.

From-SVN: r222805

9 years agoi386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1 and HOST_WIDE_INT_1U instead...
Uros Bizjak [Tue, 5 May 2015 11:02:49 +0000 (13:02 +0200)]
i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1 and HOST_WIDE_INT_1U instead...

* config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
* config/i386/i386.md: Ditto.
* config/i386/winnt.c: Ditto.

From-SVN: r222804

9 years ago[docs] Update __atomic builtins documentation.
Matthew Wahab [Tue, 5 May 2015 10:37:00 +0000 (10:37 +0000)]
[docs] Update __atomic builtins documentation.

* doc/extend.texi (__atomic Builtins): Move implementation details
to the end of the description, rewrite opening paragraphs, state
difference with __sync builtins, state C11/C++11 assumptions,
weaken itemized descriptions, add explanation of memory model
behaviour, expand description of compare-exchange, simplify text.

From-SVN: r222803

9 years agoXfail gcc.dg/tree-ssa/stdarg-2.c f15 scans
Tom de Vries [Tue, 5 May 2015 10:32:28 +0000 (10:32 +0000)]
Xfail gcc.dg/tree-ssa/stdarg-2.c f15 scans

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

* gcc.dg/tree-ssa/stdarg-2.c: Xfail f15 scans which test for presence of
'va_list escapes 0'.

From-SVN: r222802

9 years agoUndo incorrect fix in tree-ssa/stdarg-2.c f15 scans
Tom de Vries [Tue, 5 May 2015 10:32:18 +0000 (10:32 +0000)]
Undo incorrect fix in tree-ssa/stdarg-2.c f15 scans

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

* gcc.dg/tree-ssa/stdarg-2.c: Undo incorrect fix in f15 scans committed
in r222173.

From-SVN: r222801

9 years ago[PATCH][AARCH64]Use mov for add with large immediate.
Renlin Li [Tue, 5 May 2015 10:16:46 +0000 (10:16 +0000)]
[PATCH][AARCH64]Use mov for add with large immediate.

gcc/

2015-05-05  Renlin Li  <renlin.li@arm.com>

* config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.

From-SVN: r222800

9 years ago[PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests
Thomas Schwinge [Tue, 5 May 2015 09:39:29 +0000 (11:39 +0200)]
[PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests

In dg-output, don't expect "0x" prefix for "%p" format specifier, don't expect
"(nil)" for NULL pointer.

PR testsuite/65205
PR libgomp/65993
libgomp/
* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
don't expect "0x" prefix for "%p" format specifier, don't expect
"(nil)" for NULL pointer.
* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
accurately specify what we're looking for.
* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.

From-SVN: r222799

9 years agopr65067.c: Require Thumb2 effective target.
Yvan Roux [Tue, 5 May 2015 09:37:11 +0000 (09:37 +0000)]
pr65067.c: Require Thumb2 effective target.

gcc/testsuite/
2015-05-05  Yvan Roux  <yvan.roux@linaro.org>

* gcc.target/arm/pr65067.c: Require Thumb2 effective target.
* gcc.target/arm/pr65924.c: Likewise.

From-SVN: r222798

9 years agoaarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
Yvan Roux [Tue, 5 May 2015 09:31:11 +0000 (09:31 +0000)]
aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.

2015-05-05  Yvan Roux  <yvan.roux@linaro.org>

* config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
(LINK_SPEC): Include CA53_ERR_843419_SPEC.
* config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
(LINK_SPEC): Include CA53_ERR_843419_SPEC.
* config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
* configure: Regenerate.
* configure.ac: Add --enable-fix-cortex-a53-843419 option.
* doc/install.texi (aarch64*-*-*): Document new
--enable-fix-cortex-a53-843419 option.
* doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
and -mno-fix-cortex-a53-843419 options.

From-SVN: r222797

9 years agore PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn...
Uros Bizjak [Tue, 5 May 2015 04:36:19 +0000 (06:36 +0200)]
re PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn't set the ZF flag)

PR target/65871
* config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.

testsuite/ChangeLog:

PR target/65871
* gcc.target/i386/pr65871-3.c: New test.

From-SVN: r222795

9 years agoImprove the test in bitfields.m4
Trevor Saunders [Tue, 5 May 2015 03:41:53 +0000 (03:41 +0000)]
Improve the test in bitfields.m4

Using a named bitfield with a width more than 0 means we won't hit
weirdness caused by the bitfield not really needing to exist.  Changing
int to long long means we won't have trouble with some arch where size
of int is 1 or 2.

libobjc/ChangeLog:

2015-05-04  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* configure: Regenerate.

config/ChangeLog:

2015-05-04  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* bitfields.m4: Change int to long long, and use bitfields of
width 1 instead of 0.

From-SVN: r222794

9 years agore PR libstdc++/51617 ([C++0x] async(f) isn't.)
Jonathan Wakely [Tue, 5 May 2015 01:56:47 +0000 (02:56 +0100)]
re PR libstdc++/51617 ([C++0x] async(f) isn't.)

PR libstdc++/51617
* include/std/future (async): Change default policy to launch::async.

From-SVN: r222793

9 years agotree.c (verify_type): Check various uses of TYPE_MAXVAL...
Jan Hubicka [Tue, 5 May 2015 01:42:07 +0000 (03:42 +0200)]
tree.c (verify_type): Check various uses of TYPE_MAXVAL...

* tree.c (verify_type): Check various uses of TYPE_MAXVAL;
fix overactive TYPE_MIN_VALUE check and add FIXME for type
compatibility problems.

From-SVN: r222792

9 years agoThe changes are made in the patch for optimized usage of pcmpne/pcmpeq instructions.
Ajit Agarwal [Tue, 5 May 2015 01:08:45 +0000 (01:08 +0000)]
The changes are made in the patch for optimized usage of pcmpne/pcmpeq instructions.

The changes are made in the patch for optimized usage of pcmpne/pcmpeq
instructions. The xor with register to register is replaced with pcmpeq
/pcmpne instructions and for immediate check still the xori will be used.
The purpose of the change is to acheive the aggressive usage of pcmpne
/pcmpeq instructions instead of xor being used for comparison.

ChangeLog:
2015-05-04  Ajit Agarwal  <ajitkum@xilinx.com>

* config/microblaze/microblaze.md (cbranchsi4): Added immediate
constraints.
(cbranchsi4_reg): New.
* config/microblaze/microblaze.c
(microblaze_expand_conditional_branch_reg): New.
* config/microblaze/microblaze-protos.h
(microblaze_expand_conditional_branch_reg): New prototype.

From-SVN: r222791

9 years agoThe changes are made in the patch for optimized usage of fint instruction.
Ajit Agarwal [Tue, 5 May 2015 01:07:26 +0000 (01:07 +0000)]
The changes are made in the patch for optimized usage of fint instruction.

The sequence of fint/cond_branch is replaced with fcmp/cond_branch. The
fint instruction takes 6/7 cycles as compared to fcmp instruction which
takes 1 cycles. The conversion from float to int with fint instruction
is not required and can directly compared with fcmp instruction which
takes 1 cycle as compared to 6/7 cycles with fint instruction.

ChangeLog:
2015-03-04  Ajit Agarwal  <ajitkum@xilinx.com>

* config/microblaze/microblaze.md (peephole2): New.

From-SVN: r222790

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

From-SVN: r222788

9 years agoRevert:
Jeff Law [Mon, 4 May 2015 23:45:57 +0000 (17:45 -0600)]
Revert:

2015-05-04  Jeff Law  <law@redhat.com>

        * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
        simplifier to narrow arithmetic.
        * generic-match-head.c: (types_match, single_use): New functions.
        * gimple-match-head.c: (types_match, single_use): New functions.

Revert:
2015-05-04  Jeff Law  <law@redhat.com>
* gcc.dg/tree-ssa/shorten-1.c: New test.

From-SVN: r222784

9 years agore PR target/65987 ([SH] Wrong jump generated for gcc.dg/tree-prof/va-arg-pack-1...
Kaz Kojima [Mon, 4 May 2015 23:25:58 +0000 (23:25 +0000)]
re PR target/65987 ([SH] Wrong jump generated for gcc.dg/tree-prof/va-arg-pack-1.c with -fprofile-use)

PR target/65987
* config/sh/sh.c (output_far_jump, split_branches): Take into account
  sectiion crossing jumps.

From-SVN: r222783

9 years agore PR c++/66007 (Narrowing conversion inside { } results in all zero elements in...
Paolo Carlini [Mon, 4 May 2015 20:58:33 +0000 (20:58 +0000)]
re PR c++/66007 (Narrowing conversion inside { } results in all zero elements in C++11 mode with -Wno-error=narrowing)

/cp
2015-05-04  Paolo Carlini  <paolo.carlini@oracle.com>
    Jakub Jelinek  <jakub@redhat.com>

PR c++/66007
* typeck2.c (check_narrowing): Check by-hand that the pedwarn didn't
result in an actual error.

/testsuite
2015-05-04  Paolo Carlini  <paolo.carlini@oracle.com>
    Jakub Jelinek  <jakub@redhat.com>

PR c++/66007
* g++.dg/cpp0x/Wnarrowing4.C: New.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r222778

9 years agocommon.opt (fdelete-null-pointer-checks): Init to -1.
Sandra Loosemore [Mon, 4 May 2015 19:55:06 +0000 (15:55 -0400)]
common.opt (fdelete-null-pointer-checks): Init to -1.

2015-05-04  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* common.opt (fdelete-null-pointer-checks): Init to -1.
* config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
override flag_delete_null_pointer_checks default.
* doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
behavior re address zero.  Better document target-specific behavior.
(-fisolate-errneous-paths-dereference): Mention relationship to
-fdelete-null-pointer-checks.

gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_keeps_null_pointer_checks): Clarify that
this is for targets that disable -fdelete-null-pointer-checks,
not default it to off.
* gcc.dg/ipa/ipa-pta-14.c: Make dependence on
-fdelete-null-pointer-checks explicit.
* gcc.dg/tree-ssa/20030730-1.c: Likewise.
* gcc.dg/tree-ssa/20030730-2.c: Likewise.
* gcc.dg/tree-ssa/isolate-1.c: Likewise.
* gcc.dg/tree-ssa/isolate-2.c: Likewise.
* gcc.dg/tree-ssa/isolate-3.c: Likewise.
* gcc.dg/tree-ssa/isolate-4.c: Likewise.
* gcc.dg/tree-ssa/isolate-5.c: Likewise.
* gcc.dg/tree-ssa/nonzero-1.c: Likewise.
* gcc.dg/tree-ssa/pr20318.c: Likewise.
* gcc.dg/tree-ssa/pr20701.c: Likewise.
* gcc.dg/tree-ssa/pr20702.c: Likewise.
* gcc.dg/tree-ssa/pr21086.c: Likewise.
* gcc.dg/tree-ssa/pr21090.c: Likewise.
* gcc.dg/tree-ssa/pr58480.c: Likewise.
* gcc.dg/tree-ssa/pta-escape-1.c: Likewise.
* gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
* gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Likewise.
* gcc.dg/tree-ssa/unreachable.c: Likewise.
* gcc.dg/tree-ssa/vrp02.c: Likewise.
* gcc.dg/tree-ssa/vrp07.c: Likewise.
* gcc.dg/tree-ssa/vrp08.c: Likewise.
* gcc.dg/tree-ssa/vrp55.c: Likewise.
* g++.dg/cpp0x/static_assert9.C: Likewise.
* g++.dg/tree-ssa/nonzero-1.C: Likewise.
* g++.dg/tree-ssa/pr19476-1.C: Likewise.
* g++.dg/tree-ssa/pr19476-2.C: Likewise.
* g++.dg/tree-ssa/pr19476-5.C: Likewise.
* g++.dg/tree-ssa/pr26406.C: Likewise.

From-SVN: r222777

9 years agore PR middle-end/65984 (ICE: definition in block 4 does not dominate use in block...
Jakub Jelinek [Mon, 4 May 2015 19:52:33 +0000 (21:52 +0200)]
re PR middle-end/65984 (ICE: definition in block 4 does not dominate use in block 2 with -fnon-call-exceptions -fsanitize=enum)

PR tree-optimization/65984
* ubsan.c: Include tree-cfg.h.
(instrument_bool_enum_load): Use stmt_ends_bb_p instead of
stmt_could_throw_p test, rename can_throw variable to ends_bb.

* c-c++-common/ubsan/pr65984.c: New test.

From-SVN: r222775