platform/upstream/gcc.git
10 years agore PR c++/11006 ([CNI] ICE with use of __java_boolean)
Paolo Carlini [Wed, 6 Nov 2013 20:19:10 +0000 (20:19 +0000)]
re PR c++/11006 ([CNI] ICE with use of __java_boolean)

/cp
2013-11-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/11006
* init.c (build_new_1): Don't call build_java_class_ref on non-class
types.

/testsuite
2013-11-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/11006
* g++.dg/other/java3.C: New.

From-SVN: r204469

10 years agolibgo: Update to October 24 version of master library.
Ian Lance Taylor [Wed, 6 Nov 2013 19:49:01 +0000 (19:49 +0000)]
libgo: Update to October 24 version of master library.

From-SVN: r204466

10 years agotree-pass.h (make_pass_live_range_shrinkage): New external.
Vladimir Makarov [Wed, 6 Nov 2013 19:46:39 +0000 (19:46 +0000)]
tree-pass.h (make_pass_live_range_shrinkage): New external.

2013-11-06  Vladimir Makarov  <vmakarov@redhat.com>

* tree-pass.h (make_pass_live_range_shrinkage): New external.
* timevar.def (TV_LIVE_RANGE_SHRINKAGE): New.
* sched-rgn.c (gate_handle_live_range_shrinkage): New.
(rest_of_handle_live_range_shrinkage): Ditto
(class pass_live_range_shrinkage): Ditto.
(pass_data_live_range_shrinkage): Ditto.
(make_pass_live_range_shrinkage): Ditto.
* sched-int.h (initialize_live_range_shrinkage): New prototype.
(finish_live_range_shrinkage): Ditto.
* sched-deps.c (create_insn_reg_set): Make void return value.
* passes.def: Add pass_live_range_shrinkage.
* ira.c (update_equiv_regs): Don't move if
flag_live_range_shrinkage.
* haifa-sched.c (live_range_shrinkage_p): New.
(initialize_live_range_shrinkage, finish_live_range_shrinkage):
New functions.
(rank_for_schedule): Add code for pressure relief through live
range shrinkage.
(schedule_insn): Print more debug info.
(sched_init): Setup SCHED_PRESSURE_WEIGHTED for pressure relief
through live range shrinkage.
* doc/invoke.texi (-flive-range-shrinkage): New.
* common.opt (flive-range-shrinkage): New.

From-SVN: r204465

10 years agore PR target/59021 (new vzeroupper instructions generated with -mavx)
Uros Bizjak [Wed, 6 Nov 2013 19:37:12 +0000 (20:37 +0100)]
re PR target/59021 (new vzeroupper instructions generated with -mavx)

PR target/59021
* config/i386/i386.c (ix86_avx_u128_mode_needed): Require
AVX_U128_DIRTY mode for call_insn RTXes that use AVX256 registers.
(ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY mode for call_insn
RTXes that return in AVX256 register.

testsuite/ChangeLog:

PR target/59021
* gcc.target/i386/pr59021.c: New test.

From-SVN: r204464

10 years agogcc-defs.exp (dg-additional-files-options): Extend regsub for dg-additional-files...
James Lemke [Wed, 6 Nov 2013 18:10:34 +0000 (18:10 +0000)]
gcc-defs.exp (dg-additional-files-options): Extend regsub for dg-additional-files to also match BOL.

2013-11-06  James Lemke  <jwlemke@codesourcery.com>

* lib/gcc-defs.exp (dg-additional-files-options): Extend regsub for
dg-additional-files to also match BOL.

From-SVN: r204462

10 years agoc-opts.c (c_common_post_options): Set -ffp-contract=off in C standards modes.
Joseph Myers [Wed, 6 Nov 2013 16:52:47 +0000 (16:52 +0000)]
c-opts.c (c_common_post_options): Set -ffp-contract=off in C standards modes.

c-family:
* c-opts.c (c_common_post_options): Set -ffp-contract=off in C
standards modes.
* c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
to mean lack of IEEE 754 support.

testsuite:
* gcc.dg/torture/c99-contract-1.c: New test.

From-SVN: r204460

10 years agogo-lang.c (go_langhook_post_options): If -fisolate-erroneous-paths was turned on...
Ian Lance Taylor [Wed, 6 Nov 2013 15:14:28 +0000 (15:14 +0000)]
go-lang.c (go_langhook_post_options): If -fisolate-erroneous-paths was turned on by an optimization option, turn it off.

* go-lang.c (go_langhook_post_options): If
-fisolate-erroneous-paths was turned on by an optimization option,
turn it off.

From-SVN: r204459

10 years agore PR tree-optimization/58653 (wrong code (segfaults) at -O3 on x86_64-linux-gnu...
Richard Biener [Wed, 6 Nov 2013 15:00:16 +0000 (15:00 +0000)]
re PR tree-optimization/58653 (wrong code (segfaults) at -O3 on x86_64-linux-gnu in 64-bit mode (affecting gcc 4.6 to trunk))

2013-11-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58653
* tree-predcom.c (ref_at_iteration): Rewrite to generate
a MEM_REF.
(prepare_initializers_chain): Adjust.

* gcc.dg/tree-ssa/predcom-6.c: New testcase.
* gcc.dg/tree-ssa/predcom-7.c: Likewise.

From-SVN: r204458

10 years agofib.c: Reduced the iteration from 40 to 30.
Balaji V. Iyer [Wed, 6 Nov 2013 14:55:46 +0000 (14:55 +0000)]
fib.c: Reduced the iteration from 40 to 30.

2013-11-05  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * c-c++-common/cilk-plus/CK/fib.c: Reduced the iteration from
        40 to 30.  Replaced iteration variable with a #define.  Instead of
        returning non-zero value for error, called __builtin_abort ().  Fixed
        a bug of calling fib_serial in serial case instead of fib.
        * c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Likewise.
        * c-c++-common/cilk-plus/CK/fib_no_return.c: Likewise.
        * c-c++-common/cilk-plus/CK/fib_no_sync.c: Likewise.
        * gcc.dg/cilk-plus/cilk-plus.exp: Removed duplicate/un-necessary
        compiler flag testing.

From-SVN: r204457

10 years agotypo
Jason Merrill [Wed, 6 Nov 2013 14:37:46 +0000 (09:37 -0500)]
typo

From-SVN: r204456

10 years agogimple.h (block_in_transaction): Move to basic-block.h and rename.
Andrew MacLeod [Wed, 6 Nov 2013 13:11:14 +0000 (13:11 +0000)]
gimple.h (block_in_transaction): Move to basic-block.h and rename.

* gimple.h (block_in_transaction): Move to basic-block.h and rename.
(gimple_in_transaction): Use bb_in_transaction.
* basic-block.h (bb_in_transaction): Relocate here and rename.
* tree-ssa-loop-im.c (execute_sm): Use bb_in_transaction.

From-SVN: r204455

10 years agotree.c (drop_tree_overflow): New function.
Richard Biener [Wed, 6 Nov 2013 13:08:06 +0000 (13:08 +0000)]
tree.c (drop_tree_overflow): New function.

2013-11-06  Richard Biener  <rguenther@suse.de>

* tree.c (drop_tree_overflow): New function.
* tree.h (drop_tree_overflow): Declare.
* gimplify.c (gimplify_expr): Drop TREE_OVERFLOW.
* tree-vrp.c (range_int_cst_singleton_p): Use
is_overflow_infinity instead of testing TREE_OVERFLOW.
(extract_range_from_assert): Likewise.
(zero_nonzero_bits_from_vr): Likewise.
(extract_range_basic): Likewise.
(register_new_assert_for): Use drop_tree_overflow.
(vrp_visit_phi_node): Likewise.

From-SVN: r204454

10 years agopreprocessor/58580 - preprocessor goes OOM with warning for zero literals
Dodji Seketeli [Wed, 6 Nov 2013 11:33:52 +0000 (11:33 +0000)]
preprocessor/58580 - preprocessor goes OOM with warning for zero literals

In this problem report, the compiler is fed a (bogus) translation unit
in which some literals contain bytes whose value is zero.  The
preprocessor detects that and proceeds to emit diagnostics for that
king of bogus literals.  But then when the diagnostics machinery
re-reads the input file again to display the bogus literals with a
caret, it attempts to calculate the length of each of the lines it got
using fgets.  The line length calculation is done using strlen.  But
that doesn't work well when the content of the line can have several
zero bytes.  The result is that the read_line never sees the end of
the line because strlen repeatedly reports that the line ends before
the end-of-line character; so read_line thinks its buffer for reading
the line is too small; it thus increases the buffer, leading to a huge
memory consumption, pain and disaster.

The patch below introduces a new get_line function that returns the
next line of a file and return the length of that line even if the
line contains zero bytes.  That get_line function has been adapted
from the getline function from the GNU C Library because getline being
a GNU extension it is not necessarily supported on all platforms.
read_line is then modified to return the length of the line along with
the line itself, as the line can now contain zero bytes.  Callers of
read_line are adjusted consequently.

diagnostic_show_locus() is modified to consider that a line can have
characters of value zero, and so just shows a white space when
instructed to display one of these characters.

gcc/ChangeLog:

* input.h (location_get_source_line): Take an additional line_size
parameter.
* input.c (get_line): New static function definition.
(read_line): Take an additional line_length output parameter to be
set to the size of the line.  Use the new get_line function do the
actual line reading.
(location_get_source_line): Take an additional output line_len
parameter.  Update the use of read_line to pass it the line_len
parameter.
* diagnostic.c (adjust_line): Take an additional input parameter
for the length of the line, rather than calculating it with
strlen.
(diagnostic_show_locus): Adjust the use of
location_get_source_line and adjust_line with respect to their new
signature.  While displaying a line now, do not stop at the first
null byte.  Rather, display the zero byte as a space and keep
going until we reach the size of the line.

gcc/testsuite/ChangeLog:

* c-c++-common/cpp/warning-zero-in-literals-1.c: New test file.

From-SVN: r204453

10 years agoFix formatting
Eric Botcazou [Wed, 6 Nov 2013 11:22:59 +0000 (11:22 +0000)]
Fix formatting

From-SVN: r204452

10 years agoi386.c (ix86_expand_prologue): Optimize stack checking for leaf functions without...
Eric Botcazou [Wed, 6 Nov 2013 10:55:13 +0000 (10:55 +0000)]
i386.c (ix86_expand_prologue): Optimize stack checking for leaf functions without dynamic stack allocation.

* config/i386/i386.c (ix86_expand_prologue): Optimize stack checking for
leaf functions without dynamic stack allocation.
* config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust.
(ia64_expand_prologue): Likewise.
* config/mips/mips.c (mips_expand_prologue): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
(sparc_flat_expand_prologue): Likewise.

From-SVN: r204450

10 years agoregex_automaton.h (_S_opcode_word_boundry): Rename to _S_opcode_word_boundary.
Jonathan Wakely [Wed, 6 Nov 2013 09:47:51 +0000 (09:47 +0000)]
regex_automaton.h (_S_opcode_word_boundry): Rename to _S_opcode_word_boundary.

* include/bits/regex_automaton.h (_S_opcode_word_boundry): Rename to
_S_opcode_word_boundary.
* include/bits/regex_automaton.tcc: Likewise.
* include/bits/regex_executor.h (__detail::_Executor::_M_word_boundry):
Rename to _M_word_boundary.
* include/bits/regex_executor.tcc: Likewise.

From-SVN: r204449

10 years ago[AArch64] Fix size of memory store for the vst<n>_lane intrinsics
James Greenhalgh [Wed, 6 Nov 2013 09:23:30 +0000 (09:23 +0000)]
[AArch64] Fix size of memory store for the vst<n>_lane intrinsics

gcc/
* config/aarch64/arm_neon.h
(__ST2_LANE_FUNC): Better model data size.
(__ST3_LANE_FUNC): Likewise.
(__ST4_LANE_FUNC): Likewise.

From-SVN: r204448

10 years agomsp430.h (TARGET_CPU_CPP_BUILTINS): Define the name returned by msp430_mcu_name.
Nick Clifton [Wed, 6 Nov 2013 09:03:35 +0000 (09:03 +0000)]
msp430.h (TARGET_CPU_CPP_BUILTINS): Define the name returned by msp430_mcu_name.

* config/msp430/msp430.h (TARGET_CPU_CPP_BUILTINS): Define the
name returned by msp430_mcu_name.
(LIB_SPEC): If a -T option has not been specified then set a
default, mcu-specific, linker script.
* config/msp430/t-msp430 (MULTILIB_MATCHES): Add more mcu names.
* config/msp430/msp430.c (msp430x_names): Likewise.
Alpha sort the names for ease of comparison.
(msp430_mcu_name): New function:  Returns a string suitable for
use as a C preprocessor symbol based upon the name of the MCU
being targeted.
(msp430_option_override): Accept msp430x and msp430xv2 as generic
mcu names.
* config/msp430/msp430-protos.h (msp430_mcu_name): Prototype.

From-SVN: r204447

10 years agogcc.c (do_spec_1): Do not insert a space after a %* substitution unless...
Nick Clifton [Wed, 6 Nov 2013 08:52:57 +0000 (08:52 +0000)]
gcc.c (do_spec_1): Do not insert a space after a %* substitution unless...

* gcc.c (do_spec_1): Do not insert a space after a %* substitution
unless it is the last part of a spec substring.
* doc/invoke.texi (Spec Files): Document space insertion
behaviour of %*.

From-SVN: r204446

10 years agosh-mem.cc (sh_expand_cmpnstr, [...]): Factorize probabilities...
Christian Bruel [Wed, 6 Nov 2013 08:49:15 +0000 (09:49 +0100)]
sh-mem.cc (sh_expand_cmpnstr, [...]): Factorize probabilities...

2013-11-06  Christian Bruel  <christian.bruel@st.com>

* gcc/config/sh/sh-mem.cc (sh_expand_cmpnstr, sh_expand_cmpstr):
Factorize probabilities, Use adjust_address instead of
adjust_automodify_address when possible. Enable for optimize.
(sh_expand_strlen): New function.
* gcc/config/sh/sh-protos.h (sh_expand_strlen): Declare.
* gcc/config/sh/sh.md (strlensi): New pattern.
(UNSPEC_BUILTIN_STRLEN): Define.

From-SVN: r204445

10 years agore PR middle-end/58970 (internal compiler error: in get_bit_range, at expr.c:4562)
Jakub Jelinek [Wed, 6 Nov 2013 07:48:50 +0000 (08:48 +0100)]
re PR middle-end/58970 (internal compiler error: in get_bit_range, at expr.c:4562)

PR middle-end/58970
* expr.c (get_bit_range): Handle *offset == NULL_TREE.
(expand_assignment): If *bitpos is negative, set *offset
and adjust *bitpos, so that it is not negative.

* gcc.c-torture/compile/pr58970.c: New test.

From-SVN: r204444

10 years ago* gfortran.texi: Fix typo.
Francois-Xavier Coudert [Wed, 6 Nov 2013 07:04:12 +0000 (07:04 +0000)]
* gfortran.texi: Fix typo.

From-SVN: r204443

10 years agoscheduler improvements for BD architectures
Ganesh Gopalasubramanian [Wed, 6 Nov 2013 05:38:09 +0000 (05:38 +0000)]
scheduler improvements for BD architectures

From-SVN: r204442

10 years agors6000.c (rs6000_option_override_internal): Remove restriction against use of VSX...
Bill Schmidt [Wed, 6 Nov 2013 03:32:01 +0000 (03:32 +0000)]
rs6000.c (rs6000_option_override_internal): Remove restriction against use of VSX instructions when...

2013-11-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_option_override_internal):
Remove restriction against use of VSX instructions when generating
code for little endian mode.

From-SVN: r204441

10 years agoaltivec.md (mulv4si3): Ensure we generate vmulouh for both big and little endian.
Bill Schmidt [Wed, 6 Nov 2013 03:29:44 +0000 (03:29 +0000)]
altivec.md (mulv4si3): Ensure we generate vmulouh for both big and little endian.

2013-11-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.md (mulv4si3): Ensure we generate vmulouh
for both big and little endian.
(mulv8hi3): Swap input operands for merge high and merge low
instructions for little endian.

From-SVN: r204440

10 years agoaltivec.md (vec_widen_umult_even_v16qi): Change define_insn to define_expand that...
Bill Schmidt [Wed, 6 Nov 2013 03:27:20 +0000 (03:27 +0000)]
altivec.md (vec_widen_umult_even_v16qi): Change define_insn to define_expand that uses even patterns for big endian and...

2013-11-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.md (vec_widen_umult_even_v16qi): Change
define_insn to define_expand that uses even patterns for big
endian and odd patterns for little endian.
(vec_widen_smult_even_v16qi): Likewise.
(vec_widen_umult_even_v8hi): Likewise.
(vec_widen_smult_even_v8hi): Likewise.
(vec_widen_umult_odd_v16qi): Likewise.
(vec_widen_smult_odd_v16qi): Likewise.
(vec_widen_umult_odd_v8hi): Likewise.
(vec_widen_smult_odd_v8hi): Likewise.
(altivec_vmuleub): New define_insn.
(altivec_vmuloub): Likewise.
(altivec_vmulesb): Likewise.
(altivec_vmulosb): Likewise.
(altivec_vmuleuh): Likewise.
(altivec_vmulouh): Likewise.
(altivec_vmulesh): Likewise.
(altivec_vmulosh): Likewise.

From-SVN: r204439

10 years agore PR regression/58985 (gcc.dg/pr57518.c scan-rtl-dump-not ira REG_EQUIV...)
Wei Mi [Wed, 6 Nov 2013 02:46:17 +0000 (02:46 +0000)]
re PR regression/58985 (gcc.dg/pr57518.c scan-rtl-dump-not ira REG_EQUIV...)

2013-11-05  Wei Mi  <wmi@google.com>

        PR regression/58985
        * testsuite/gcc.dg/pr57518.c: Add subreg in regexp pattern.

From-SVN: r204438

10 years ago* Makefile.in (mostlyclean): Remove c-family objects.
Mike Stump [Wed, 6 Nov 2013 02:34:02 +0000 (02:34 +0000)]
* Makefile.in (mostlyclean): Remove c-family objects.

From-SVN: r204437

10 years agosync.md (atomic_compare_and_swap<dwi>_doubleword): If possible, add .cfi directives...
Ian Lance Taylor [Wed, 6 Nov 2013 01:03:57 +0000 (01:03 +0000)]
sync.md (atomic_compare_and_swap<dwi>_doubleword): If possible, add .cfi directives to record change to bx.

* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
If possible, add .cfi directives to record change to bx.
* config/i386/i386.c (ix86_emit_cfi): New function.
* config/i386/i386-protos.h (ix86_emit_cfi): Declare.

From-SVN: r204433

10 years agoDaily bump.
GCC Administrator [Wed, 6 Nov 2013 00:17:05 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r204430

10 years agoN3655 C++1y TransformationTraits Redux
Jonathan Wakely [Tue, 5 Nov 2013 22:57:36 +0000 (22:57 +0000)]
N3655 C++1y TransformationTraits Redux

N3655 C++1y TransformationTraits Redux
* include/std/type_traits (remove_const_t, remove_volatile_t,
remove_cv_t, add_const_t, add_volatile_t, add_cv_t, remove_reference_t,
add_lvalue_reference_t, add_rvalue_reference_t, make_signed_t,
make_unsigned_t, remove_extent_t, remove_all_extents_t,
remove_pointer_t, add_pointer_t, aligned_storage_t, decay_t,
enable_if_t, conditional_t, common_type_t, underlying_type_t,
result_of_t): Define.
* doc/xml/manual/status_cxx2014.xml: Update.
* testsuite/20_util/add_lvalue_reference/requirements/typedefs-3.cc:
New.
* testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc:
New.
* testsuite/20_util/common_type/requirements/typedefs-3.cc: New.
* testsuite/20_util/conditional/requirements/typedefs-2.cc: New.
* testsuite/20_util/decay/requirements/typedefs-2.cc: New.
* testsuite/20_util/enable_if/requirements/typedefs-2.cc: New.
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
* testsuite/20_util/remove_reference/requirements/typedefs.cc: New.
* testsuite/20_util/result_of/requirements/typedefs.cc: New.
* testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New.
* testsuite/20_util/common_type/requirements/typedefs-2.cc: Change to
compile-only test.
* testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.

From-SVN: r204426

10 years agortlanal.c (tablejump_p): Expect a JUMP_TABLE_DATA to always follow immediately after...
Steven Bosscher [Tue, 5 Nov 2013 21:57:45 +0000 (21:57 +0000)]
rtlanal.c (tablejump_p): Expect a JUMP_TABLE_DATA to always follow immediately after a label for a...

* rtlanal.c (tablejump_p): Expect a JUMP_TABLE_DATA to always follow
immediately after a label for a tablejump pattern.

* config/arm/arm.c (is_jump_table): Remove.
(create_fix_barrier): Use tablejump_p instead.
(arm_reorg): Likewise.
(thumb1_output_casesi): Expect JUMP_TABLE_DATA to always be NEXT_INSN.
(thumb2_output_casesi): Likewise.
* config/aarch64/aarch64.c (aarch64_output_casesi): Likewise.
* config/sh/sh.md (casesi_worker_1, casesi_worker_2,
casesi_shift_media, casesi_load_media): Likewise.
* config/iq2000/iq2000.md: Likewise (in anonymous define_insn).
* config/microblaze/microblaze.md: Likewise.

From-SVN: r204424

10 years agoc.opt (-Wdate-time): New option
Tobias Burnus [Tue, 5 Nov 2013 20:27:22 +0000 (21:27 +0100)]
c.opt (-Wdate-time): New option

2013-11-05  Tobias Burnus  <burnus@net-b.de>

gcc/c-family/
        * c.opt (-Wdate-time): New option
        * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.

gcc/
        * doc/invoke.texi (-Wdate-time): Document.

gcc/fortran
        * lang.opt (-Wdate-time): New option
        * cpp.c (gfc_cpp_option_data): Add warn_date_time.
        (gfc_cpp_init_options, gfc_cpp_handle_option,
        gfc_cpp_post_options): Handle it and pass on to libcpp.

gcc/testsuite/
        * g++.dg/warn/wdate-time.C: New.
        * gcc.dg/wdate-time.c: New.
        * gfortran.dg/wdate-time.F90: New.

libcpp/
        * include/cpplib.h (CPP_W_DATE_TIME): Added.
        (cpp_options): Add warn_date_time.
        * init.c (cpp_create_reader): Init it.
        * macro.c (_cpp_builtin_macro_text): Warn when
        __DATE__/__TIME__/__TIMESTAMP__ is used.

From-SVN: r204420

10 years agore PR fortran/58989 (internal compiler error when using reshape function)
Steven G. Kargl [Tue, 5 Nov 2013 20:02:43 +0000 (20:02 +0000)]
re PR fortran/58989 (internal compiler error when using reshape function)

2013-11-05  Steven G. Kargl <kargl@gcc.gnu.org>

PR fortran/58989
* check.c (gfc_check_reshape): ensure that shape is a constant
expression.

2013-11-05  Steven G. Kargl <kargl@gcc.gnu.org>

PR fortran/58989
* gfortran.dg/reshape_6.f90: New test.

From-SVN: r204419

10 years agostatus_cxx2011.xml: Document aligned_union as missing.
Jonathan Wakely [Tue, 5 Nov 2013 19:59:21 +0000 (19:59 +0000)]
status_cxx2011.xml: Document aligned_union as missing.

* doc/xml/manual/status_cxx2011.xml: Document aligned_union as
missing.

From-SVN: r204416

10 years agodouble-int.c (lshift_double, [...]): Remove SHIFT_COUNT_TRUNCATED handling.
Richard Sandiford [Tue, 5 Nov 2013 19:58:12 +0000 (19:58 +0000)]
double-int.c (lshift_double, [...]): Remove SHIFT_COUNT_TRUNCATED handling.

gcc/
* double-int.c (lshift_double, rshift_double): Remove
SHIFT_COUNT_TRUNCATED handling.

From-SVN: r204415

10 years agoMakefile.in (OBJS): Add gimple-ssa-isolate-paths.o
Jeff Law [Tue, 5 Nov 2013 19:47:44 +0000 (12:47 -0700)]
Makefile.in (OBJS): Add gimple-ssa-isolate-paths.o

* Makefile.in (OBJS): Add gimple-ssa-isolate-paths.o
* common.opt (-fisolate-erroneous-paths): Add option and
documentation.
* gimple-ssa-isolate-paths.c: New file.
* gimple.c (check_loadstore): New function.
(infer_nonnull_range): Moved into gimple.c from tree-vrp.c
Verify OP is in the argument list and the argument corresponding
to OP is a pointer type.  Use operand_equal_p rather than
pointer equality when testing if OP is on the nonnull list.
Use check_loadstore rather than count_ptr_derefs.  Handle
GIMPLE_RETURN statements.
* tree-vrp.c (infer_nonnull_range): Remove.
* gimple.h (infer_nonnull_range): Declare.
* opts.c (default_options_table): Add
* OPT_fisolate_erroneous_paths.
* passes.def: Add pass_isolate_erroneous_paths.
* timevar.def (TV_ISOLATE_ERRONEOUS_PATHS): New timevar.
* tree-pass.h (make_pass_isolate_erroneous_paths): Declare.
* tree-ssa.c (struct count_ptr_d): Remove.
(count_ptr_derefs, count_uses_and_derefs): Remove.
* tree-ssa.h (count_uses_and_derefs): Remove.

* gcc.dg/pr38984.c: Add -fno-isolate-erroneous-paths.
* gcc.dg/tree-ssa/isolate-1.c: New test.
* gcc.dg/tree-ssa/isolate-2.c: New test.
* gcc.dg/tree-ssa/isolate-3.c: New test.
* gcc.dg/tree-ssa/isolate-4.c: New test.

From-SVN: r204414

10 years agore PR rtl-optimization/58997 (ICE on valid code at -O3 on x86_64-linux-gnu (affecting...
Jakub Jelinek [Tue, 5 Nov 2013 19:37:51 +0000 (20:37 +0100)]
re PR rtl-optimization/58997 (ICE on valid code at -O3 on x86_64-linux-gnu (affecting gcc trunk and 4.8.2))

PR rtl-optimization/58997
* loop-iv.c (iv_subreg): For IV_UNKNOWN_EXTEND, expect
get_iv_value to be in iv->mode rather than iv->extend_mode.
(iv_extend): Likewise.  Otherwise, if iv->extend != extend,
use lowpart_subreg on get_iv_value before calling simplify_gen_unary.
* loop-unswitch.c (may_unswitch_on): Make sure op[i] is in the right
mode.

* gcc.c-torture/compile/pr58997.c: New test.

From-SVN: r204413

10 years agogimple.h: Move some prototypes to gimple-expr.h and add to include list.
Andrew MacLeod [Tue, 5 Nov 2013 19:26:07 +0000 (19:26 +0000)]
gimple.h: Move some prototypes to gimple-expr.h and add to include list.

* gimple.h: Move some prototypes to gimple-expr.h and add to include
list.
(extract_ops_from_tree, gimple_call_addr_fndecl, is_gimple_reg_type):
Move to gimple-expr.h.
* gimple-expr.h: New file.  Relocate some prototypes from gimple.h.
(types_compatible_p, is_gimple_reg_type, is_gimple_variable,
is_gimple_id, virtual_operand_p, is_gimple_addressable,
is_gimple_constant, extract_ops_from_tree, gimple_call_addr_fndecl):
Relocate here.
* gimple.c (extract_ops_from_tree_1, gimple_cond_get_ops_from_tree,
gimple_set_body, gimple_body, gimple_has_body_p, is_gimple_lvalue,
is_gimple_condexpr, is_gimple_addressable, is_gimple_constant,
is_gimple_address, is_gimple_invariant_address,
is_gimple_ip_invariant_address, is_gimple_min_invariant,
is_gimple_ip_invariant, is_gimple_variable, is_gimple_id,
virtual_operand_p, is_gimple_reg, is_gimple_val, is_gimple_asm_val,
is_gimple_min_lval, is_gimple_call_addr, is_gimple_mem_ref_addr,
gimple_decl_printable_name, useless_type_conversion_p,
types_compatible_p, gimple_can_coalesce_p, copy_var_decl): Move to
gimple-expr.[ch].
* gimple-expr.c: New File.
(useless_type_conversion_p, gimple_set_body, gimple_body,
gimple_has_body_p, gimple_decl_printable_name, copy_var_decl,
gimple_can_coalesce_p, extract_ops_from_tree_1,
gimple_cond_get_ops_from_tree, is_gimple_lvalue, is_gimple_condexpr,
is_gimple_address, is_gimple_invariant_address,
is_gimple_ip_invariant_address, is_gimple_min_invariant,
is_gimple_ip_invariant, is_gimple_reg, is_gimple_val,
is_gimple_asm_val, is_gimple_min_lval, is_gimple_call_addr,
is_gimple_mem_ref_addr): Relocate here.
* Makefile.in (OBJS): Add gimple-expr.o.

From-SVN: r204412

10 years agoSupport empty structs in gengtype
David Malcolm [Tue, 5 Nov 2013 18:55:22 +0000 (18:55 +0000)]
Support empty structs in gengtype

gcc/
* gengtype-parse.c (struct_field_seq): Support empty structs.

From-SVN: r204411

10 years agot-rtems (MULTILIB_MATCHES): Fix option typos.
Uros Bizjak [Tue, 5 Nov 2013 18:22:12 +0000 (19:22 +0100)]
t-rtems (MULTILIB_MATCHES): Fix option typos.

* config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.

From-SVN: r204407

10 years agore PR c++/58868 (ICE: in count_type_elements, at expr.c:5495 with -std=gnu++0x)
Jason Merrill [Tue, 5 Nov 2013 18:03:03 +0000 (13:03 -0500)]
re PR c++/58868 (ICE: in count_type_elements, at expr.c:5495 with -std=gnu++0x)

PR c++/58868
* decl.c (check_initializer): Don't use build_vec_init for arrays
of trivial type.

From-SVN: r204406

10 years agoi386-c.c (ix86_target_macros): Define _SOFT_FLOAT for !TARGET_80387.
Uros Bizjak [Tue, 5 Nov 2013 16:08:30 +0000 (17:08 +0100)]
i386-c.c (ix86_target_macros): Define _SOFT_FLOAT for !TARGET_80387.

gcc/

* config/i386/i386-c.c (ix86_target_macros): Define _SOFT_FLOAT
for !TARGET_80387.
* config/i386/rtemself.h (TARGET_OS_CPP_BUILTINS): Do not define
_SOFT_FLOAT here.
(LONG_DOUBLE_TYPE_SIZE): New define.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Ditto.

libgcc/

* config/i386/32/sfp-machine.h (_FP_MUL_MEAT_S): Define.
(_FP_MUL_MEAT_D): Ditto.
(_FP_DIV_MEAT_S): Ditto.
(_FP_DIV_MEAT_D): Ditto.
* config.host (i[34567]86-*-rtems*): Remove i386/t-softfp, add
t-softfp-sfdf and t-softfp to tmake_file.

M    gcc/config/i386/i386-c.c
M    gcc/config/i386/rtemself.h
M    gcc/ChangeLog
M    libgcc/ChangeLog
M    libgcc/config.host
M    libgcc/config/i386/32/sfp-machine.h

From-SVN: r204404

10 years agooptional: Use __and_<> and __not_<> in conditions.
Jonathan Wakely [Tue, 5 Nov 2013 15:24:08 +0000 (15:24 +0000)]
optional: Use __and_<> and __not_<> in conditions.

2013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

* include/experimental/optional: Use __and_<> and __not_<> in
conditions. Style fixes.
(__constexpr_addressof, swap): Make inline.
* testsuite/experimental/optional/cons/copy.cc: Adjust constants for
32-bit targets.
* testsuite/experimental/optional/cons/move.cc: Likewise.
* testsuite/experimental/optional/cons/value.cc: Likewise.
* testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r204402

10 years agore PR c++/58724 (ICE with attribute [[gnu::visibility("default")]] on namespace)
Paolo Carlini [Tue, 5 Nov 2013 15:22:36 +0000 (15:22 +0000)]
re PR c++/58724 (ICE with attribute [[gnu::visibility("default")]] on namespace)

2013-11-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58724
* doc/extend.texi [visibility ("visibility_type")]: Add example
about visibility attribute on namespace declaration.

/cp
2013-11-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58724
* name-lookup.c (handle_namespace_attrs): Use get_attribute_name.

/testsuite
2013-11-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58724
* g++.dg/cpp0x/gen-attrs-56.C: New.

From-SVN: r204401

10 years agore PR ipa/58492 (ICE: verify_flow_info failed)
Richard Biener [Tue, 5 Nov 2013 15:09:40 +0000 (15:09 +0000)]
re PR ipa/58492 (ICE: verify_flow_info failed)

2013-11-05  Richard Biener  <rguenther@suse.de>

PR ipa/58492
* passes.def (all_passes): Start with pass_fixup_cfg again.

* gcc.dg/ipa/pr58492.c: New testcase.

From-SVN: r204399

10 years agore PR tree-optimization/58955 (wrong code at -O3 on x86_64-linux-gnu)
Richard Biener [Tue, 5 Nov 2013 15:08:43 +0000 (15:08 +0000)]
re PR tree-optimization/58955 (wrong code at -O3 on x86_64-linux-gnu)

2013-11-05  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58955
* tree-loop-distribution.c (pg_add_dependence_edges): Fix
edge direction.

* gcc.dg/torture/pr58955-1.c: New testcase.
* gcc.dg/torture/pr58955-2.c: Likewise.

From-SVN: r204398

10 years agoDisable libcilkrts when C++ is not used.
Balaji V. Iyer [Tue, 5 Nov 2013 14:43:37 +0000 (14:43 +0000)]
Disable libcilkrts when C++ is not used.

2013-11-04  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * configure.ac: Added libcilkrts to noconfig list when C++ is not
        supported.
        * configure: Regenerated.

From-SVN: r204396

10 years agovector.md (vec_pack_sfix_trunc_v2df): Adjust for little endian.
Bill Schmidt [Tue, 5 Nov 2013 14:27:17 +0000 (14:27 +0000)]
vector.md (vec_pack_sfix_trunc_v2df): Adjust for little endian.

2013-11-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/vector.md (vec_pack_sfix_trunc_v2df): Adjust for
little endian.
(vec_pack_ufix_trunc_v2df): Likewise.

From-SVN: r204395

10 years agoDon't use mode wider than Pmode for size in movmem/setmem
H.J. Lu [Tue, 5 Nov 2013 14:17:33 +0000 (14:17 +0000)]
Don't use mode wider than Pmode for size in movmem/setmem

gcc/

PR middle-end/58981
* doc/md.texi (@code{movmem@var{m}}): Specify Pmode as mode of
pattern, instead of word_mode.

* expr.c (emit_block_move_via_movmem): Don't use mode wider than
Pmode for size.
(set_storage_via_setmem): Likewise.

gcc/testsuite/

PR middle-end/58981
* gcc.dg/pr58981.c: New test.

From-SVN: r204394

10 years agotree-outof-ssa.c (queue_phi_copy_p): Combine phi_ssa_name_p from gimple.h and the...
Andrew MacLeod [Tue, 5 Nov 2013 14:13:56 +0000 (14:13 +0000)]
tree-outof-ssa.c (queue_phi_copy_p): Combine phi_ssa_name_p from gimple.h and the rest of the condition in...

2013-11-05  Andrew MacLeod  <amacleod@redhat.com>

* tree-outof-ssa.c (queue_phi_copy_p): Combine phi_ssa_name_p from
gimple.h and the rest of the condition in eliminate_build.
(eliminate_build): Call new routine.
* gimple.h (phi_ssa_name_p): Delete.

From-SVN: r204393

10 years agodon't try and free what must be a null vector when reserving 0 elements
Trevor Saunders [Tue, 5 Nov 2013 13:51:32 +0000 (13:51 +0000)]
don't try and free what must be a null vector when reserving 0 elements
in va_heap::reserve

2013-11-05  Trevor Saunders  <tsaunders@mozilla.com>

* vec.c (vec_prefix::calculate_allocation): Don't try to handle the
case of no prefix and reserving zero slots, because when that's the
case we'll never get here.
* vec.h (va_heap::reserve): Don't try and handle
vec_prefix::calculate_allocation returning zero because that should
never happen.

From-SVN: r204392

10 years agore PR middle-end/58941 (value modification on zero-length array optimized away)
Richard Biener [Tue, 5 Nov 2013 13:24:13 +0000 (13:24 +0000)]
re PR middle-end/58941 (value modification on zero-length array optimized away)

2013-11-05  Richard Biener  <rguenther@suse.de>

PR middle-end/58941
* tree-dfa.c (get_ref_base_and_extent): Merge common code
in MEM_REF and TARGET_MEM_REF handling.  Make sure to
process trailing array detection before diving into the
view-converted object (and possibly apply some extra offset).

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

From-SVN: r204391

10 years agoi386.c (ix86_float_exceptions_rounding_supported_p): New function.
Joseph Myers [Tue, 5 Nov 2013 13:21:36 +0000 (13:21 +0000)]
i386.c (ix86_float_exceptions_rounding_supported_p): New function.

* config/i386/i386.c (ix86_float_exceptions_rounding_supported_p):
New function.
(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): Define.

c-family:
* c-cppbuiltin.c (cpp_iec_559_value): Test
flag_excess_precision_cmdline not flag_excess_precision.

From-SVN: r204390

10 years agore PR tree-optimization/58958 (Wrong aliasing info for variable index)
Marc Glisse [Tue, 5 Nov 2013 13:01:06 +0000 (14:01 +0100)]
re PR tree-optimization/58958 (Wrong aliasing info for variable index)

2013-11-05  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/58958
gcc/
* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Use
get_addr_base_and_unit_offset instead of get_ref_base_and_extent.

gcc/testsuite/
* gcc.dg/tree-ssa/pr58958.c: New file.

From-SVN: r204389

10 years agotree-ssa-alias.h (ranges_overlap_p): Handle negative offsets.
Marc Glisse [Tue, 5 Nov 2013 12:38:00 +0000 (13:38 +0100)]
tree-ssa-alias.h (ranges_overlap_p): Handle negative offsets.

2013-11-05  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree-ssa-alias.h (ranges_overlap_p): Handle negative offsets.
* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Likewise.

gcc/testsuite/
* gcc.dg/tree-ssa/alias-26.c: New file.

From-SVN: r204388

10 years agore PR tree-optimization/58984 (wrong code at -Os and above on x86_64-linux-gnu in...
Jakub Jelinek [Tue, 5 Nov 2013 12:05:37 +0000 (13:05 +0100)]
re PR tree-optimization/58984 (wrong code at -Os and above on x86_64-linux-gnu in 64-bit mode)

PR tree-optimization/58984
* ipa-prop.c (ipa_load_from_parm_agg_1): Add SIZE_P argument,
set *SIZE_P if non-NULL on success.
(ipa_load_from_parm_agg, ipa_analyze_indirect_call_uses): Adjust
callers.
(ipcp_transform_function): Likewise.  Punt if size of access
is different from TYPE_SIZE on v->value's type.

* gcc.c-torture/execute/pr58984.c: New test.

From-SVN: r204385

10 years ago* g++.dg/ext/sync-4.C: Require sync_long_long_runtime support.
Andreas Schwab [Tue, 5 Nov 2013 10:02:48 +0000 (10:02 +0000)]
* g++.dg/ext/sync-4.C: Require sync_long_long_runtime support.

From-SVN: r204383

10 years agoinvoke.texi (-fopenmp-simd): Document new option.
Tobias Burnus [Tue, 5 Nov 2013 07:29:47 +0000 (08:29 +0100)]
invoke.texi (-fopenmp-simd): Document new option.

2013-11-05  Tobias Burnus  <burnus@net-b.de>

gcc/
        * doc/invoke.texi (-fopenmp-simd): Document new option.
        * gimplify.c (gimplify_body): Accept -fopenmp-simd.
        * omp-low.c (execute_expand_omp, execute_lower_omp): Ditto.
        * tree.c (attribute_value_equal): Ditto.

gcc/fortran/
        * lang.opt (fopenmp-simd): New option.
        * gfortran.h (gfc_option_t): Add gfc_flag_openmp_simd.
        * options.c (gfc_handle_option): Handle it.

gcc/c-family/
        * c.opt (fopenmp-simd): New option.
        * c-pragma.c (omp_pragmas): Move pragmas which can contain simd
        * to ...
        (omp_pragmas): ... this new struct.
        (c_pp_lookup_pragma): Also walk omp_pragmas.
        (init_pragma): Init pragmas for -fopenmp-simd.

gcc/c
        * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
        c_parser_omp_distribute, c_parser_omp_teams,
        c_parser_omp_target, c_parser_omp_declare): Handle
        -fopenmp-simd.

gcc/cp
        * parser.c (cp_parser_omp_for, cp_parser_omp_parallel,
        cp_parser_omp_distribute, cp_parser_omp_teams,
cp_parser_omp_target,
        cp_parser_omp_declare): Handle
        -fopenmp-simd.

gcc/testsuite/
        * g++.dg/gomp/openmp-simd-1.C: New.
        * g++.dg/gomp/openmp-simd-2.C: New.
        * gcc.dg/gomp/openmp-simd-1.c: New.
        * gcc.dg/gomp/openmp-simd-2.c: New.

From-SVN: r204382

10 years agofix for PR bootstrap/58951 +2013-11-04 Balaji V.
Balaji V. Iyer [Tue, 5 Nov 2013 04:12:53 +0000 (04:12 +0000)]
fix for PR bootstrap/58951 +2013-11-04 Balaji V.

fix for PR bootstrap/58951
+2013-11-04  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       PR bootstrap/58951
+       * Makefile.am (AM_LDFLAGS): Removed -ldl flag.
+       * Makefile.in: Regenerate.
+

From-SVN: r204381

10 years agosuperblock.c: Require scheduling support.
Senthil Kumar Selvaraj [Tue, 5 Nov 2013 00:19:43 +0000 (00:19 +0000)]
superblock.c: Require scheduling support.

2013-11-04  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.dg/superblock.c: Require scheduling support.

From-SVN: r204376

10 years agoDaily bump.
GCC Administrator [Tue, 5 Nov 2013 00:16:26 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r204375

10 years ago* f95-lang.c (ATTR_LEAF_LIST): Define.
Ian Lance Taylor [Mon, 4 Nov 2013 22:08:56 +0000 (22:08 +0000)]
* f95-lang.c (ATTR_LEAF_LIST): Define.

From-SVN: r204372

10 years agosched-rgn.c (add_branch_dependences): Keep insns in a SCHED_GROUP at the end of BB...
Wei Mi [Mon, 4 Nov 2013 21:45:05 +0000 (21:45 +0000)]
sched-rgn.c (add_branch_dependences): Keep insns in a SCHED_GROUP at the end of BB to remain their location.

2013-11-04  Wei Mi  <wmi@google.com>

        * sched-rgn.c (add_branch_dependences): Keep insns in
        a SCHED_GROUP at the end of BB to remain their location.

From-SVN: r204371

10 years agoi386.c (memory_address_length): Extract a part of code to rip_relative_addr_p.
Wei Mi [Mon, 4 Nov 2013 21:41:48 +0000 (21:41 +0000)]
i386.c (memory_address_length): Extract a part of code to rip_relative_addr_p.

2013-11-04  Wei Mi  <wmi@google.com>

* gcc/config/i386/i386.c (memory_address_length): Extract a part
of code to rip_relative_addr_p.
(rip_relative_addr_p): New Function.
(ix86_macro_fusion_p): Ditto.
(ix86_macro_fusion_pair_p): Ditto.
* gcc/config/i386/i386.h: Add new tune features about macro-fusion.
* gcc/config/i386/x86-tune.def (DEF_TUNE): Ditto.
* gcc/doc/tm.texi: Generated.
* gcc/doc/tm.texi.in: Ditto.
* gcc/haifa-sched.c (try_group_insn): New Function.
(group_insns_for_macro_fusion): Ditto.
(sched_init): Call group_insns_for_macro_fusion.
* gcc/target.def: Add two hooks: macro_fusion_p and
macro_fusion_pair_p.

From-SVN: r204369

10 years agolibsanitizer merge from upstream r191666
Kostya Serebryany [Mon, 4 Nov 2013 21:33:31 +0000 (21:33 +0000)]
libsanitizer merge from upstream r191666

This may break gcc-asan on Mac, will follow up separately.

From-SVN: r204368

10 years agoi386-c.c (ix86_target_macros_internal): Separate PROCESSOR_COREI7_AVX out from PROCES...
Wei Mi [Mon, 4 Nov 2013 21:31:07 +0000 (21:31 +0000)]
i386-c.c (ix86_target_macros_internal): Separate PROCESSOR_COREI7_AVX out from PROCESSOR_COREI7.

2013-11-04  Wei Mi  <wmi@google.com>

        * gcc/config/i386/i386-c.c (ix86_target_macros_internal): Separate
        PROCESSOR_COREI7_AVX out from PROCESSOR_COREI7.
        * gcc/config/i386/i386.c (ix86_option_override_internal): Ditto.
        (ix86_issue_rate): Ditto.
        (ix86_adjust_cost): Ditto.
        (ia32_multipass_dfa_lookahead): Ditto.
        (ix86_sched_init_global): Ditto.
        (get_builtin_code_for_version): Ditto.
        * gcc/config/i386/i386.h (enum target_cpu_default): Ditto.
        (enum processor_type): Ditto.
        * gcc/config/i386/x86-tune.def (DEF_TUNE): Ditto.

From-SVN: r204367

10 years agore PR rtl-optimization/58967 (Powerpc -mlra cannot compile quadrature_lib.cc in Spec2...
Vladimir Makarov [Mon, 4 Nov 2013 21:09:12 +0000 (21:09 +0000)]
re PR rtl-optimization/58967 (Powerpc -mlra cannot compile quadrature_lib.cc in Spec2006 with -O3 -ffast-math -funroll-loops -m32)

2013-11-04  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/58967
* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
!lra_in_progress for mode sizes bigger word.

From-SVN: r204365

10 years agoaltivec.md (vec_widen_umult_hi_v16qi): Swap arguments to merge instruction for little...
Bill Schmidt [Mon, 4 Nov 2013 20:44:14 +0000 (20:44 +0000)]
altivec.md (vec_widen_umult_hi_v16qi): Swap arguments to merge instruction for little endian.

2013-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.md (vec_widen_umult_hi_v16qi): Swap
arguments to merge instruction for little endian.
(vec_widen_umult_lo_v16qi): Likewise.
(vec_widen_smult_hi_v16qi): Likewise.
(vec_widen_smult_lo_v16qi): Likewise.
(vec_widen_umult_hi_v8hi): Likewise.
(vec_widen_umult_lo_v8hi): Likewise.
(vec_widen_smult_hi_v8hi): Likewise.
(vec_widen_smult_lo_v8hi): Likewise.

From-SVN: r204363

10 years agobuiltins.def (ATTR_NOTHROWCALL_LEAF_LIST): Define.
Ian Lance Taylor [Mon, 4 Nov 2013 20:29:36 +0000 (20:29 +0000)]
builtins.def (ATTR_NOTHROWCALL_LEAF_LIST): Define.

gcc/:
* builtins.def (ATTR_NOTHROWCALL_LEAF_LIST): Define.
* sync-builtins.def: Use ATTR_NOTHROWCALL_LEAF_LIST for all sync
builtins that take pointers.
* lto-opts.c (lto_write_options): Write -fnon-call-exceptions
if set.
* lto-wrapper.c (merge_and_complain): Collect
OPT_fnon_call_exceptions.
(run_gcc): Pass -fnon-call-exceptions.
gcc/testsuite/:
* g++.dg/ext/sync-4.C: New test.

From-SVN: r204360

10 years agooptabs.c (expand_vec_perm): Revert one incorrect line from 2013-10-31 change.
Jakub Jelinek [Mon, 4 Nov 2013 20:23:29 +0000 (21:23 +0100)]
optabs.c (expand_vec_perm): Revert one incorrect line from 2013-10-31 change.

* optabs.c (expand_vec_perm): Revert one incorrect line from
2013-10-31 change.

From-SVN: r204359

10 years agore PR fortran/58771 (ICE in transfer_expr, at fortran/trans-io.c:2164)
Paul Thomas [Mon, 4 Nov 2013 20:19:40 +0000 (20:19 +0000)]
re PR fortran/58771 (ICE in transfer_expr, at fortran/trans-io.c:2164)

2013-11-04  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/58771
* trans-io.c (transfer_expr): If the backend_decl for a derived
type is missing, build it with gfc_typenode_for_spec.

2013-11-04  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/58771
* gfortran.dg/derived_external_function_1.f90 : New test

From-SVN: r204358

10 years agore PR tree-optimization/58978 (ICE: Segmentation fault)
Jakub Jelinek [Mon, 4 Nov 2013 20:17:17 +0000 (21:17 +0100)]
re PR tree-optimization/58978 (ICE: Segmentation fault)

PR tree-optimization/58978
* tree-vrp.c (all_imm_uses_in_stmt_or_feed_cond): Don't modify
use_stmt by single_imm_use directly.  Only call single_imm_use
on SSA_NAMEs.

* gcc.c-torture/compile/pr58978.c: New test.

From-SVN: r204357

10 years agore PR fortran/57445 ([OOP] ICE in gfc_conv_class_to_class - for OPTIONAL polymorphic...
Paul Thomas [Mon, 4 Nov 2013 19:42:24 +0000 (19:42 +0000)]
re PR fortran/57445 ([OOP] ICE in gfc_conv_class_to_class - for OPTIONAL polymorphic array)

2013-11-04  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/57445
* trans-expr.c (gfc_conv_class_to_class): Remove spurious
assert.

2013-11-04  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/57445
* gfortran.dg/optional_class_1.f90 : New test

From-SVN: r204356

10 years agore PR rtl-optimization/58968 (Powerpc -mlra cannot compile ormas1.f in gamess Spec...
Vladimir Makarov [Mon, 4 Nov 2013 16:12:29 +0000 (16:12 +0000)]
re PR rtl-optimization/58968 (Powerpc -mlra cannot compile ormas1.f in gamess Spec 2006 with -m32 -mcpu=power7 -O3 -mlra -w -ffast-math  -funroll-loops)

2013-11-04  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/58968
* lra-spills.c (return_regno_p): New function.
(lra_final_code_change): Use it.

2013-11-04  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/58968
* gfortran.dg/pr58968.f: New

From-SVN: r204353

10 years agore PR c++/58979 (ICE with invalid use of pointer-to-member)
Marek Polacek [Mon, 4 Nov 2013 16:01:49 +0000 (16:01 +0000)]
re PR c++/58979 (ICE with invalid use of pointer-to-member)

PR c++/58979
c-family/
* c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
testsuite/
* g++.dg/diagnostic/pr58979.C: New test.

From-SVN: r204352

10 years agocpp.texi (__GCC_IEC_559, [...]): Document macros.
Joseph Myers [Mon, 4 Nov 2013 15:39:57 +0000 (15:39 +0000)]
cpp.texi (__GCC_IEC_559, [...]): Document macros.

* doc/cpp.texi (__GCC_IEC_559, __GCC_IEC_559_COMPLEX): Document
macros.
* target.def (float_exceptions_rounding_supported_p): New hook.
* targhooks.c (default_float_exceptions_rounding_supported_p): New
function.
* targhooks.h (default_float_exceptions_rounding_supported_p):
Declare.
* doc/tm.texi.in (TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P):
New @hook.
* doc/tm.texi: Regenerate.
* config.gcc (powerpc*-*-linux*): Set extra_objs.
* config/rs6000/rs6000-linux.c: New file.
* config/rs6000/rs6000-protos.h
(rs6000_linux_float_exceptions_rounding_supported_p): Declare.
* config/rs6000/linux.h
(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): New macro.
* config/rs6000/linux64.h
(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): Likewise.
* config/rs6000/t-linux (rs6000-linux.o): New rule.
* config/rs6000/t-linux64 (rs6000-linux.o): Likewise.

c-family:
* c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
New functions.
(c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.

testsuite:
* gcc.dg/iec-559-macros-1.c, gcc.dg/iec-559-macros-2.c,
gcc.dg/iec-559-macros-3.c, gcc.dg/iec-559-macros-4.c,
gcc.dg/iec-559-macros-5.c, gcc.dg/iec-559-macros-6.c,
gcc.dg/iec-559-macros-7.c, gcc.dg/iec-559-macros-8.c,
gcc.dg/iec-559-macros-9.c: New tests.

From-SVN: r204351

10 years agovsx.md (*vsx_le_perm_store_<mode> for VSX_D): Replace the define_insn_and_split with...
Bill Schmidt [Mon, 4 Nov 2013 14:39:12 +0000 (14:39 +0000)]
vsx.md (*vsx_le_perm_store_<mode> for VSX_D): Replace the define_insn_and_split with a define_insn and two define_splits...

2013-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/vsx.md (*vsx_le_perm_store_<mode> for VSX_D):
Replace the define_insn_and_split with a define_insn and two
define_splits, with the split after reload re-permuting the source
register to its original value.
(*vsx_le_perm_store_<mode> for VSX_W): Likewise.
(*vsx_le_perm_store_v8hi): Likewise.
(*vsx_le_perm_store_v16qi): Likewise.

From-SVN: r204350

10 years agovector.md (vec_pack_trunc_v2df): Adjust for little endian.
Bill Schmidt [Mon, 4 Nov 2013 14:34:50 +0000 (14:34 +0000)]
vector.md (vec_pack_trunc_v2df): Adjust for little endian.

2013-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/vector.md (vec_pack_trunc_v2df):  Adjust for
little endian.

From-SVN: r204349

10 years agore PR tree-optimization/58946 (internal compiler error: in operator[], at vec.h:722)
Jakub Jelinek [Mon, 4 Nov 2013 10:29:42 +0000 (11:29 +0100)]
re PR tree-optimization/58946 (internal compiler error: in operator[], at vec.h:722)

PR tree-optimization/58946
* tree-ssa-reassoc.c (maybe_optimize_range_tests): Update all
bbs with bbinfo[idx].op != NULL before all blocks with
bbinfo[idx].op == NULL.

* gcc.c-torture/compile/pr58946.c: New test.

From-SVN: r204348

10 years agoos-unix.c: Include <sched.h>.
Rainer Orth [Mon, 4 Nov 2013 10:13:55 +0000 (10:13 +0000)]
os-unix.c: Include <sched.h>.

* runtime/os-unix.c [__sun__ && __svr4__]: Include <sched.h>.
(__cilkrts_hardware_cpu_count) [__sun__ && __svr4__]: Use sysconf.
(__cilkrts_yield) [__sun__ && __svr4__]: Use sched_yield.

From-SVN: r204347

10 years agoavr-log.c (avr_double_int_pop_digit): Delete.
Richard Sandiford [Mon, 4 Nov 2013 09:04:22 +0000 (09:04 +0000)]
avr-log.c (avr_double_int_pop_digit): Delete.

gcc/
* config/avr/avr-log.c (avr_double_int_pop_digit): Delete.
(avr_dump_double_int_hex): Likewise.
(avr_log_vadump): Remove %D and %X handling.
* config/avr/avr.c (avr_double_int_push_digit): Delete.
(avr_map_op_t): Change map from double_int to unsigned int.
(avr_map_op): Update accordingly.
(avr_map, avr_map_metric, avr_has_nibble_0xf, avr_map_decompose)
(avr_move_bits, avr_out_insert_bits, avr_fold_builtin): Operate on
unsigned ints rather than double_ints.

From-SVN: r204345

10 years agoc-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
Eric Botcazou [Mon, 4 Nov 2013 07:24:44 +0000 (07:24 +0000)]
c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.

c-family/
* c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
(dump_ada_specs): Adjust prototype of second callback.
* c-ada-spec.c (cpp_check): New global variable.
(dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
(print_generic_ada_decl): Likewise.
(has_static_fields): Change return type to bool and add guard.
(has_nontrivial_methods): New predicate.
(is_tagged_type): Change return type to bool.
(separate_class_package): Call has_nontrivial_methods.
(pp_ada_tree_identifier): Minor tweaks.
(dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
(dump_ada_array_domains): Likewise.
(dump_ada_array_type): Likewise.
(dump_template_types): Remove cpp_check parameter and do not pass it to
dump_generic_ada_node.
(dump_ada_template): Likewise.
(dump_generic_ada_node): Remove cpp_check parameter and do not pass it
recursively.
(print_ada_methods): Change return type to integer.  Remove cpp_check
parameter and do not pass it down.
(dump_nested_types): Remove cpp_check parameter and do not pass it to
dump_generic_ada_node.
(print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
accessing methods.
(print_ada_struct_decl): Remove cpp_check parameter and do not pass it
down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
value of print_ada_methods.
(dump_ads): Rename cpp_check parameter to check and adjust prototype.
Set cpp_check to it before invoking dump_ada_nodes.
(dump_ada_specs): Likewise.
cp/
* decl2.c (cpp_check): Change type of first parameter and deal with
IS_TRIVIAL.

From-SVN: r204344

10 years agore PR c++/52071 (Constructor invocation confused)
Paolo Carlini [Mon, 4 Nov 2013 00:42:09 +0000 (00:42 +0000)]
re PR c++/52071 (Constructor invocation confused)

2013-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52071
* g++.dg/parse/pr52071.C: New.

From-SVN: r204343

10 years agoDaily bump.
GCC Administrator [Mon, 4 Nov 2013 00:17:03 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r204342

10 years agore PR c++/38313 (g++ fails to parse a member function with a parenthesized type name...
Paolo Carlini [Sun, 3 Nov 2013 23:49:41 +0000 (23:49 +0000)]
re PR c++/38313 (g++ fails to parse a member function with a parenthesized type name as its declarator)

/cp
2013-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/38313
* parser.c (cp_parser_constructor_declarator_p): Check that the
class-name matches current_class_type.

/testsuite
2013-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/38313
* g++.dg/lookup/name-clash10.C: New.

From-SVN: r204339

10 years agoneon-vcond-gt.c: Scan for vbsl or vbit or vbif.
Kugan Vivekanandarajah [Sun, 3 Nov 2013 21:47:33 +0000 (21:47 +0000)]
neon-vcond-gt.c: Scan for vbsl or vbit or vbif.

2013-11-03  Kugan Vivekanandarajah  <kuganv@linaro.org>

gcc/testsuite/
* gcc.target/arm/neon-vcond-gt.c: Scan for vbsl or vbit or vbif.
* gcc.target/arm/neon-vcond-ltgt.c: Scan for vbsl or vbit or vbif.
* gcc.target/arm/neon-vcond-unordered.c: Scan for vbsl or vbit or
vbif.

From-SVN: r204336

10 years agoImplement -fsanitize=vla-bound.
Marek Polacek [Sun, 3 Nov 2013 17:59:31 +0000 (17:59 +0000)]
Implement -fsanitize=vla-bound.

* opts.c (common_handle_option): Handle vla-bound.
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE):
Define.
* flag-types.h (enum sanitize_code): Add SANITIZE_VLA.
* asan.c (initialize_sanitizer_builtins): Build BT_FN_VOID_PTR_PTR.
c-family/
* c-ubsan.c: Don't include hash-table.h.
(ubsan_instrument_vla): New function.
* c-ubsan.h: Declare it.
cp/
* decl.c (cp_finish_decl): Move C++1y bounds checking...
(compute_array_index_type): ...here.  Add VLA instrumentation.
Call stabilize_vla_size.
(grokdeclarator): Don't call stabilize_vla_size here.
c/
* c-decl.c (grokdeclarator): Add VLA instrumentation.
testsuite/
* g++.dg/ubsan/cxx1y-vla.C: New test.
* c-c++-common/ubsan/vla-3.c: New test.
* c-c++-common/ubsan/vla-2.c: New test.
* c-c++-common/ubsan/vla-4.c: New test.
* c-c++-common/ubsan/vla-1.c: New test.

From-SVN: r204334

10 years agocrtfastmath.c: Compile only for !_SOFT_FLOAT.
Uros Bizjak [Sun, 3 Nov 2013 10:12:12 +0000 (11:12 +0100)]
crtfastmath.c: Compile only for !_SOFT_FLOAT.

* config/i386/crtfastmath.c: Compile only for !_SOFT_FLOAT.
* config/i386/crtprec.c: Ditto.

From-SVN: r204327

10 years agoDaily bump.
GCC Administrator [Sun, 3 Nov 2013 00:17:24 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r204324

10 years agors6000.c (rs6000_expand_vector_set): Adjust for little endian.
Bill Schmidt [Sun, 3 Nov 2013 00:06:43 +0000 (00:06 +0000)]
rs6000.c (rs6000_expand_vector_set): Adjust for little endian.

gcc:

2013-11-02  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

* config/rs6000/rs6000.c (rs6000_expand_vector_set): Adjust for
little endian.

gcc/testsuite:

2013-11-02  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

* gcc.dg/vmx/vec-set.c: New.

From-SVN: r204321

10 years agoconstraints.md (Ts, Tv): New address constrains.
Uros Bizjak [Sat, 2 Nov 2013 11:32:53 +0000 (12:32 +0100)]
constraints.md (Ts, Tv): New address constrains.

* config/i386/constraints.md (Ts, Tv): New address constrains.
* config/i386/i386.md (*lea<mode>, *<mode>_<bndcheck>): Use Ts
constraint for address_no_seg_operand.
* config/i386/sse.md (*avx512pf_gatherpf<mode>_mask)
(*avx512pf_gatherpf<mode>, *avx512pf_scatterpf<mode>_mask)
(*avx512pf_scatterpf<mode>, *avx2_gathersi<mode>)
(*avx2_gathersi<mode>_2, *avx2_gatherdi<mode>, *avx2_gatherdi<mode>_2)
(*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4)
(*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2)
(*avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2)
(*avx512f_scattersi<mode> *avx512f_scatterdi<mode>): Use Tv
constraint for vsib_address_operand.

From-SVN: r204317

10 years agore PR c++/29234 (Call to operator() of temporary object wrongly parsed)
Paolo Carlini [Sat, 2 Nov 2013 09:34:13 +0000 (09:34 +0000)]
re PR c++/29234 (Call to operator() of temporary object wrongly parsed)

/cp
2013-11-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29234
PR c++/56037
* parser.c (cp_parser_cast_expression): If we aren't looking at
a cast-expression don't call cp_parser_type_id.
(cp_parser_postfix_expression): Likewise for compound-literal.
(cp_parser_tokens_start_cast_expression): Adjust.

/testsuite
2013-11-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29234
PR c++/56037
* g++.dg/parse/pr29234.C: New.
* g++.dg/parse/pr56037.C: Likewise.

From-SVN: r204312

10 years agoAdded libcilkrts's .lib dir to load path to Cilk keywords testsuite files.
Balaji V. Iyer [Sat, 2 Nov 2013 03:51:44 +0000 (03:51 +0000)]
Added libcilkrts's .lib dir to load path to Cilk keywords testsuite files.

+2013-11-01  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       * gcc.dg/cilk-plus/cilk-plus.exp: Loaded libcilkrts library path and
+       passed it in as one of the options to all Cilk keywords test.
+

From-SVN: r204310

10 years agogcse.c (pre_delete): Remove references to regmove from comments.
Steven Bosscher [Sat, 2 Nov 2013 00:26:48 +0000 (00:26 +0000)]
gcse.c (pre_delete): Remove references to regmove from comments.

* gcse.c (pre_delete): Remove references to regmove from comments.
* recog.c: (validate_replace_rtx_1): Likewise.
* config/rl78/rl78.c: Likewise.
* config/v850/v850.h: Likewise, and remove unused ENABLE_REGMOVE_PASS.
* common/config/m32r/m32r-common.c: Don't manipulate OPT_fregmove.
* common/config/mmix/mmix-common.c: Likewise.

From-SVN: r204309

10 years agoDaily bump.
GCC Administrator [Sat, 2 Nov 2013 00:17:09 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r204308

10 years agore PR c++/58708 (string literal operator templates broken)
Edward Smith-Rowland [Fri, 1 Nov 2013 23:00:48 +0000 (23:00 +0000)]
re PR c++/58708 (string literal operator templates broken)

gcc/cp:

2013-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR c++/58708
* parser.c (make_string_pack): Discover non-const type and size
of character and build parm pack with correct type and chars.

gcc/testsuite:

2013-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR c++/58708
* g++.dg/cpp1y/pr58708.C: New.

From-SVN: r204305

10 years ago* tr.po: Update.
Joseph Myers [Fri, 1 Nov 2013 22:26:30 +0000 (22:26 +0000)]
* tr.po: Update.

From-SVN: r204303

10 years ago* MAINTAINERS (Write After Approval): Add myself.
Trevor Saunders [Fri, 1 Nov 2013 22:10:37 +0000 (22:10 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r204302

10 years agoReplace some heap vectors with stack vectors.
Trevor Saunders [Fri, 1 Nov 2013 20:31:32 +0000 (20:31 +0000)]
Replace some heap vectors with stack vectors.

From http://gcc.gnu.org/ml/gcc-patches/2013-10/msg02735.html

This patch is pretty dull, it just replaces a bunch of things of the
form
vec<T> x;
x.create (N); // N is a constant
blah blah
x.release ();
by
stack_vec<T, N> x;
blah blah

2013-11-01  Trevor Saunders  <tsaunders@mozilla.com>

gcc/
* function.c (reorder_blocks): Convert block_stack to a stack_vec.
* gimplify.c (gimplify_compound_lval): Likewise.
* graphite-clast-to-gimple.c (gloog): Likewise.
* graphite-dependences.c (loop_is_parallel_p): Likewise.
* graphite-scop-detection.c (scopdet_basic_block_info): Likewise.
(limit_scop); Likewise.
(build_scops): Likewise.
(dot_scop): Likewise.
* graphite-sese-to-poly.c (sese_dom_walker): Likewise.
(build_scop_drs): Likewise.
(insert_stmts): Likewise.
(insert_out_of_ssa_copy): Likewise.
(remove_phi): Likewise.
(rewrite_commutative_reductions_out_of_ssa_close_phi): Likewise.
* hw-doloop.c (discover_loop): Likewise.
* tree-call-cdce.c (shrink_wrap_one_built_in_call): Likewise.
* tree-dfa.c (dump_enumerated_decls): Likewise.
* tree-if-conv.c (if_convertable_loop_p): Likewise.
* tree-inline.c (tree_function_versioning): Likewise.
* tree-loop-distribution.c (build_rdg): Likewise.
(rdg_flag_vertex_and_dependent): Likewise.
(distribute_loop): Likewise.
* tree-parloops.c (loop_parallel_p): Likewise.
(eliminate_local_variables): Likewise.
(separate_decls_in_region): Likewise.
* tree-predcom.c (tree_predictive_commoning_loop): Likewise.
* tree-ssa-phiopt.c (cond_if_else_store_replacement): Likewise.
* tree-ssa-uncprop.c (uncprop_dom_walker): Likewise.
* tree-vect-loop.c (vect_analyze_scaler_cycles_1): Likewise.
* tree-vect-patterns.c (vect_pattern_recog): Likewise.
* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
(vectorizable_condition): Likewise.

gcc/cp/
* semantics.c (build_anon_member_initialization): Convert fields to be
        a stack_vec.

From-SVN: r204301