Commit Graph

126463 Commits

Author SHA1 Message Date
Oleg Endo 245eb55221 sh.md (addsf3, [...]): Use fp_arith_reg_operand instead of arith_reg_operand.
* config/sh/sh.md (addsf3, divsf3, divsf3_i, rsqrtsf2, cmpgtdf_t,
	cmpeqdf_t, *ieee_ccmpeqdf_t, negdf2, sqrtdf2, absdf2): Use
	fp_arith_reg_operand instead of arith_reg_operand.

From-SVN: r204478
2013-11-06 20:37:45 +00:00
Oleg Endo 5b67c358c1 sh.md (adddi3): Remove empty constraints.
* config/sh/sh.md (adddi3): Remove empty constraints.
	Remove can_create_pseudo_p and arith_reg_operand check.
	(adddi3_compact, subdi3_compact, *negdi2): Remove constraints.
	Split before reload.

From-SVN: r204477
2013-11-06 20:35:55 +00:00
Jeff Law 2a9369590c gdbinit.in: Disable strict type checking.
* gdbinit.in: Disable strict type checking.

Co-Authored-By: Tom Tromey <tromey@redhat.com>

From-SVN: r204474
2013-11-06 13:28:03 -07:00
Oleg Endo 73afb55da8 re PR rtl-optimization/30807 (postreload bug (might be generic in trunk))
PR target/30807
	* gcc.target/sh/torture/pr30807.c: New.

From-SVN: r204473
2013-11-06 20:26:35 +00:00
Paolo Carlini 71b71b96f0 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
2013-11-06 20:19:10 +00:00
Ian Lance Taylor f038dae646 libgo: Update to October 24 version of master library.
From-SVN: r204466
2013-11-06 19:49:01 +00:00
Vladimir Makarov f20f261304 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
2013-11-06 19:46:39 +00:00
Uros Bizjak 992147ee6b 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
2013-11-06 20:37:12 +01:00
James Lemke b6e168f33a 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
2013-11-06 18:10:34 +00:00
Joseph Myers 6dbe09581a 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
2013-11-06 16:52:47 +00:00
Ian Lance Taylor 1d2217b6ab 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
2013-11-06 15:14:28 +00:00
Richard Biener 9f2b860bed 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
2013-11-06 15:00:16 +00:00
Balaji V. Iyer 28d31e4074 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
2013-11-06 06:55:46 -08:00
Jason Merrill 3e89949e1b typo
From-SVN: r204456
2013-11-06 09:37:46 -05:00
Andrew MacLeod 7783daa76c 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
2013-11-06 13:11:14 +00:00
Richard Biener 3f5c390ddd 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
2013-11-06 13:08:06 +00:00
Dodji Seketeli 9789a91276 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
2013-11-06 12:33:52 +01:00
Eric Botcazou 6dce150ccf Fix formatting
From-SVN: r204452
2013-11-06 11:22:59 +00:00
Eric Botcazou 0dca9cd86c 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
2013-11-06 10:55:13 +00:00
Jonathan Wakely f054ff5b7c 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
2013-11-06 09:47:51 +00:00
James Greenhalgh 1ee5839865 [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
2013-11-06 09:23:30 +00:00
Nick Clifton 50cfbf9915 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
2013-11-06 09:03:35 +00:00
Nick Clifton 2599016338 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
2013-11-06 08:52:57 +00:00
Christian Bruel 3a1a7897b7 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
2013-11-06 09:49:15 +01:00
Jakub Jelinek fda1ba0aea 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
2013-11-06 08:48:50 +01:00
Francois-Xavier Coudert 10180dd302 * gfortran.texi: Fix typo.
From-SVN: r204443
2013-11-06 07:04:12 +00:00
Ganesh Gopalasubramanian 4a1db8e164 scheduler improvements for BD architectures
From-SVN: r204442
2013-11-06 05:38:09 +00:00
Bill Schmidt 3118d595a6 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
2013-11-06 03:32:01 +00:00
Bill Schmidt 2b9d047631 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
2013-11-06 03:29:44 +00:00
Bill Schmidt 1a5d226128 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
2013-11-06 03:27:20 +00:00
Wei Mi 82f63633f2 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
2013-11-06 02:46:17 +00:00
Mike Stump 9c0fed64eb * Makefile.in (mostlyclean): Remove c-family objects.
From-SVN: r204437
2013-11-06 02:34:02 +00:00
Ian Lance Taylor 674647e603 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
2013-11-06 01:03:57 +00:00
GCC Administrator 39cf09b1f5 Daily bump.
From-SVN: r204430
2013-11-06 00:17:05 +00:00
Jonathan Wakely 4457e88ce1 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
2013-11-05 22:57:36 +00:00
Steven Bosscher 592a16fca0 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
2013-11-05 21:57:45 +00:00
Tobias Burnus e8ff5196a8 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
2013-11-05 21:27:22 +01:00
Steven G. Kargl df1c87913c 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
2013-11-05 20:02:43 +00:00
Jonathan Wakely ae40b2ffce status_cxx2011.xml: Document aligned_union as missing.
* doc/xml/manual/status_cxx2011.xml: Document aligned_union as
	missing.

From-SVN: r204416
2013-11-05 19:59:21 +00:00
Richard Sandiford bc0d6b1724 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
2013-11-05 19:58:12 +00:00
Jeff Law 8fdc414d43 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
2013-11-05 12:47:44 -07:00
Jakub Jelinek 50fae5a679 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
2013-11-05 20:37:51 +01:00
Andrew MacLeod 2a0603f189 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
2013-11-05 19:26:07 +00:00
David Malcolm c180e49596 Support empty structs in gengtype
gcc/
	* gengtype-parse.c (struct_field_seq): Support empty structs.

From-SVN: r204411
2013-11-05 18:55:22 +00:00
Uros Bizjak 4b632a0635 t-rtems (MULTILIB_MATCHES): Fix option typos.
* config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.

From-SVN: r204407
2013-11-05 19:22:12 +01:00
Jason Merrill 136d4b89f0 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
2013-11-05 13:03:03 -05:00
Uros Bizjak 02ac9503fd 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
2013-11-05 17:08:30 +01:00
Jonathan Wakely b1705a6388 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
2013-11-05 15:24:08 +00:00
Paolo Carlini 33b5d6da2a 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
2013-11-05 15:22:36 +00:00
Richard Biener 9c39fca1bf 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
2013-11-05 15:09:40 +00:00