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
	* 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
	* 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
[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
	* 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
	* 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
Fix formatting

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204452 138bc75d-0d04-0410-961f-82ee72b054a4
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
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

	* 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
typo

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204456 138bc75d-0d04-0410-961f-82ee72b054a4
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
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
	* 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
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
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
	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
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
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
/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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204469 138bc75d-0d04-0410-961f-82ee72b054a4