ian [Wed, 6 Nov 2013 19:49:01 +0000 (19:49 +0000)]
libgo: Update to October 24 version of master library.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204466
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Wed, 6 Nov 2013 19:46:39 +0000 (19:46 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204465
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 6 Nov 2013 19:37:12 +0000 (19:37 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204464
138bc75d-0d04-0410-961f-
82ee72b054a4
jwlemke [Wed, 6 Nov 2013 18:10:34 +0000 (18:10 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204462
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 6 Nov 2013 16:52:47 +0000 (16:52 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204460
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204459
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 6 Nov 2013 15:00:16 +0000 (15:00 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204458
138bc75d-0d04-0410-961f-
82ee72b054a4
bviyer [Wed, 6 Nov 2013 14:55:46 +0000 (14:55 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204457
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 6 Nov 2013 14:37:46 +0000 (14:37 +0000)]
typo
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204456
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Wed, 6 Nov 2013 13:11:14 +0000 (13:11 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204455
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 6 Nov 2013 13:08:06 +0000 (13:08 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204454
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204453
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 6 Nov 2013 11:22:59 +0000 (11:22 +0000)]
Fix formatting
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204452
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 6 Nov 2013 10:55:13 +0000 (10:55 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204450
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 6 Nov 2013 09:47:51 +0000 (09:47 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204449
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204448
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 6 Nov 2013 09:03:35 +0000 (09:03 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204447
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [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 it is the last part of a spec substring.
* doc/invoke.texi (Spec Files): Document space insertion
behaviour of %*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204446
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Wed, 6 Nov 2013 08:49:15 +0000 (08:49 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204445
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 6 Nov 2013 07:48:50 +0000 (07:48 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204444
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Wed, 6 Nov 2013 07:04:12 +0000 (07:04 +0000)]
* gfortran.texi: Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204443
138bc75d-0d04-0410-961f-
82ee72b054a4
gganesh [Wed, 6 Nov 2013 05:38:09 +0000 (05:38 +0000)]
scheduler improvements for BD architectures
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204442
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Wed, 6 Nov 2013 03:32:01 +0000 (03:32 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204441
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Wed, 6 Nov 2013 03:29:44 +0000 (03:29 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204440
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Wed, 6 Nov 2013 03:27:20 +0000 (03:27 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204439
138bc75d-0d04-0410-961f-
82ee72b054a4
wmi [Wed, 6 Nov 2013 02:46:17 +0000 (02:46 +0000)]
2013-11-05 Wei Mi <wmi@google.com>
PR regression/58985
* testsuite/gcc.dg/pr57518.c: Add subreg in regexp pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204438
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Wed, 6 Nov 2013 02:34:02 +0000 (02:34 +0000)]
* Makefile.in (mostlyclean): Remove c-family objects.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204437
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 6 Nov 2013 01:03:57 +0000 (01:03 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204433
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 6 Nov 2013 00:17:05 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204430
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 5 Nov 2013 22:57:36 +0000 (22:57 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204426
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [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 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204424
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 5 Nov 2013 20:27:22 +0000 (20:27 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204420
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Tue, 5 Nov 2013 20:02:43 +0000 (20:02 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204419
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 5 Nov 2013 19:59:21 +0000 (19:59 +0000)]
* doc/xml/manual/status_cxx2011.xml: Document aligned_union as
missing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204416
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 5 Nov 2013 19:58:12 +0000 (19:58 +0000)]
gcc/
* double-int.c (lshift_double, rshift_double): Remove
SHIFT_COUNT_TRUNCATED handling.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204415
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 5 Nov 2013 19:47:44 +0000 (19:47 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204414
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 5 Nov 2013 19:37:51 +0000 (19:37 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204413
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [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.
(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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204412
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204411
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 5 Nov 2013 18:22:12 +0000 (18:22 +0000)]
* config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204407
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 5 Nov 2013 18:03:03 +0000 (18:03 +0000)]
PR c++/58868
* decl.c (check_initializer): Don't use build_vec_init for arrays
of trivial type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204406
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 5 Nov 2013 16:08:30 +0000 (16:08 +0000)]
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204404
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 5 Nov 2013 15:24:08 +0000 (15:24 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204402
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 5 Nov 2013 15:22:36 +0000 (15:22 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204401
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 5 Nov 2013 15:09:40 +0000 (15:09 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204399
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 5 Nov 2013 15:08:43 +0000 (15:08 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204398
138bc75d-0d04-0410-961f-
82ee72b054a4
bviyer [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204396
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Tue, 5 Nov 2013 14:27:17 +0000 (14:27 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204395
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204394
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Tue, 5 Nov 2013 14:13:56 +0000 (14:13 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204393
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204392
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 5 Nov 2013 13:24:13 +0000 (13:24 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204391
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 5 Nov 2013 13:21:36 +0000 (13:21 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204390
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Tue, 5 Nov 2013 13:01:06 +0000 (13:01 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204389
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Tue, 5 Nov 2013 12:38:00 +0000 (12:38 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204388
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 5 Nov 2013 12:05:37 +0000 (12:05 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204385
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Tue, 5 Nov 2013 10:02:48 +0000 (10:02 +0000)]
* g++.dg/ext/sync-4.C: Require sync_long_long_runtime support.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204383
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 5 Nov 2013 07:29:47 +0000 (07:29 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204382
138bc75d-0d04-0410-961f-
82ee72b054a4
bviyer [Tue, 5 Nov 2013 04:12:53 +0000 (04:12 +0000)]
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.
+
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204381
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Tue, 5 Nov 2013 00:19:43 +0000 (00:19 +0000)]
2013-11-04 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/superblock.c: Require scheduling support.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204376
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 5 Nov 2013 00:16:26 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204375
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 4 Nov 2013 22:08:56 +0000 (22:08 +0000)]
* f95-lang.c (ATTR_LEAF_LIST): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204372
138bc75d-0d04-0410-961f-
82ee72b054a4
wmi [Mon, 4 Nov 2013 21:45:05 +0000 (21:45 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204371
138bc75d-0d04-0410-961f-
82ee72b054a4
wmi [Mon, 4 Nov 2013 21:41:48 +0000 (21:41 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204369
138bc75d-0d04-0410-961f-
82ee72b054a4
kcc [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204368
138bc75d-0d04-0410-961f-
82ee72b054a4
wmi [Mon, 4 Nov 2013 21:31:07 +0000 (21:31 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204367
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Mon, 4 Nov 2013 21:09:12 +0000 (21:09 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204365
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Mon, 4 Nov 2013 20:44:14 +0000 (20:44 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204363
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 4 Nov 2013 20:29:36 +0000 (20:29 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204360
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 4 Nov 2013 20:23:29 +0000 (20:23 +0000)]
* optabs.c (expand_vec_perm): Revert one incorrect line from
2013-10-31 change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204359
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Mon, 4 Nov 2013 20:19:40 +0000 (20:19 +0000)]
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204358
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 4 Nov 2013 20:17:17 +0000 (20:17 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204357
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Mon, 4 Nov 2013 19:42:24 +0000 (19:42 +0000)]
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204356
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Mon, 4 Nov 2013 16:12:29 +0000 (16:12 +0000)]
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204353
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 4 Nov 2013 16:01:49 +0000 (16:01 +0000)]
PR c++/58979
c-family/
* c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
testsuite/
* g++.dg/diagnostic/pr58979.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204352
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 4 Nov 2013 15:39:57 +0000 (15:39 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204351
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Mon, 4 Nov 2013 14:39:12 +0000 (14:39 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204350
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Mon, 4 Nov 2013 14:34:50 +0000 (14:34 +0000)]
2013-11-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/vector.md (vec_pack_trunc_v2df): Adjust for
little endian.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204349
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 4 Nov 2013 10:29:42 +0000 (10:29 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204348
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Mon, 4 Nov 2013 10:13:55 +0000 (10:13 +0000)]
* runtime/os-unix.c [__sun__ && __svr4__]: Include <sched.h>.
(__cilkrts_hardware_cpu_count) [__sun__ && __svr4__]: Use sysconf.
(__cilkrts_yield) [__sun__ && __svr4__]: Use sched_yield.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204347
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 4 Nov 2013 09:04:22 +0000 (09:04 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204345
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 4 Nov 2013 07:24:44 +0000 (07:24 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204344
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 4 Nov 2013 00:42:09 +0000 (00:42 +0000)]
2013-11-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52071
* g++.dg/parse/pr52071.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204343
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 4 Nov 2013 00:17:03 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204342
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sun, 3 Nov 2013 23:49:41 +0000 (23:49 +0000)]
/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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204339
138bc75d-0d04-0410-961f-
82ee72b054a4
clyon [Sun, 3 Nov 2013 21:47:33 +0000 (21:47 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204336
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204334
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 3 Nov 2013 10:12:12 +0000 (10:12 +0000)]
* config/i386/crtfastmath.c: Compile only for !_SOFT_FLOAT.
* config/i386/crtprec.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204327
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 3 Nov 2013 00:17:24 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204324
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Sun, 3 Nov 2013 00:06:43 +0000 (00:06 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204321
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 2 Nov 2013 11:32:53 +0000 (11:32 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204317
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 2 Nov 2013 09:34:13 +0000 (09:34 +0000)]
/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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204312
138bc75d-0d04-0410-961f-
82ee72b054a4
bviyer [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.
+
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204310
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Sat, 2 Nov 2013 00:26:48 +0000 (00:26 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204309
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 2 Nov 2013 00:17:09 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204308
138bc75d-0d04-0410-961f-
82ee72b054a4
emsr [Fri, 1 Nov 2013 23:00:48 +0000 (23:00 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204305
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 1 Nov 2013 22:26:30 +0000 (22:26 +0000)]
* tr.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204303
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Fri, 1 Nov 2013 22:10:37 +0000 (22:10 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204302
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204301
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 1 Nov 2013 20:10:51 +0000 (20:10 +0000)]
Fix date of previous ChangeLog entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204300
138bc75d-0d04-0410-961f-
82ee72b054a4