PR c/62059
	* diagnostic.c (adjust_line): Add gcc_checking_assert.
	(diagnostic_show_locus): Don't print caret diagnostic
	if a column is larger than the line_width.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214074 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * trans-io.c (gfc_build_io_library_fndecls): Fix decl of
        IOCALL_SET_NML_VAL.
        (transfer_namelist_element): Use proper int type as argument.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214075 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (gfc_resolve_finalizers): Ensure that parents are
        resolved first.

2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/finalize_27.f90: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214076 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.c (print_operand) <'e'>: New.
	<'u'>: Also support printing the low-order 16 bits.
	* config/rs6000/rs6000.md (iorsi3, xorsi3, *boolsi3_internal1,
	*boolsi3_internal2 and split, *boolsi3_internal3 and split): Delete.
	(iordi3, xordi3, *booldi3_internal1, *booldi3_internal2 and split,
	*booldi3_internal3 and split): Delete.
	(ior<mode>3, xor<mode>3, *bool<mode>3, *bool<mode>3_dot,
	*bool<mode>3_dot2): New.
	(two anonymous define_splits for non_logical_cint_operand): Merge.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214077 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.md (*boolcsi3_internal1, *boolcsi3_internal2
	and split, *boolcsi3_internal3 and split): Delete.
	(*boolcdi3_internal1, *boolcdi3_internal2 and split,
	*boolcdi3_internal3 and split): Delete.
	(*boolc<mode>3, *boolc<mode>3_dot, *boolc<mode>3_dot2): New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214078 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.md (*boolccsi3_internal1, *boolccsi3_internal2
	and split, *boolccsi3_internal3 and split): Delete.
	(*boolccdi3_internal1, *boolccdi3_internal2 and split,
	*boolccdi3_internal3 and split): Delete.
	(*boolcc<mode>3, *boolcc<mode>3_dot, *boolcc<mode>3_dot2): New.
	(*eqv<mode>3): Move.  Add TODO comment.  Fix attributes.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214079 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/constraints.md ("S"): Require TARGET_POWERPC64.
	* config/rs6000/htm.md (ttest): Remove clobber.
	* config/rs6000/predicates.md (any_mask_operand): New predicate.
	(and_operand): Reformat.
	(and_2rld_operand): New predicate.
	* config/rs6000/rs6000-protos.h (rs6000_split_logical): Remove last
	parameter.
	* config/rs6000/rs6000.c (rs6000_split_logical_inner): Remove last
	parameter.  Handle AND directly.
	(rs6000_split_logical_di): Remove last parameter.
	(rs6000_split_logical): Remove last parameter.  Remove obsolete
	comment.
	* config/rs6000/rs6000.md (BOOL_REGS_AND_CR0): Delete.
	(one_cmpl<mode>2): Adjust call of rs6000_split_logical.
	(ctz<mode>2, ffs<mode>2): Delete clobber.  Reformat.
	(andsi3, andsi3_mc, andsi3_nomc, *andsi3_internal2_mc,
	*andsi3_internal3_mc, *andsi3_internal4, *andsi3_internal5_mc,
	and 5 anonymous splitters):  Delete.
	(and<mode>3): New expander.
	(*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): New.
	(and<mode>3_imm, *and<mode>3_imm_dot, *and<mode>3_imm_dot2): New.
	(*and<mode>3_mask, *and<mode>3_mask_dot, *and<mode>3_mask_dot2): New.
	(ior<mode>, xor<mode>3): Adjust call of rs6000_split_logical.
	(floatdisf2_internal1): Remove clobbers.
	(anddi3, anddi3_mc, anddi3_nomc, anddi3_internal2_mc,
	*anddi3_internal3_mc, and 4 anonymous splitters): Delete.
	(*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): New.
	(and<mode>3 for BOOL_128): Remove clobber.
	(*and<mode>3_internal for BOOL_128): Remove clobber.  Adjust call of
	rs6000_split_logical.
	(*bool<mode>3_internal for BOOL_128): Adjust call of
	rs6000_split_logical.
	(*boolc<mode>3_internal1 for BOOL_128,
	*boolc<mode>3_internal2 for BOOL_128,
	*boolcc<mode>3_internal1 for BOOL_128,
	*boolcc<mode>3_internal2 for BOOL_128,
	*eqv<mode>3_internal1 for BOOL_128,
	*eqv<mode>3_internal2 for BOOL_128,
	*one_cmpl<mode>3_internal for BOOL_128): Ditto.
	* config/rs6000/vector.md (*vec_reload_and_plus_<mptrsize): Remove
	clobber.
	(*vec_reload_and_reg_<mptrsize>): Delete.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214083 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/testsuite
2014-08-18  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR tree-optimization/52904
	* gcc.dg/pr52904.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214084 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-18  Yury Gribov  <y.gribov@samsung.com>

	PR sanitizer/62089

gcc/
	* asan.c (instrument_derefs): Fix bitfield check.

gcc/testsuite/
	* c-c++-common/asan/pr62089.c: New test.
	* c-c++-common/asan/bitfield-1.c: New test.
	* c-c++-common/asan/bitfield-2.c: New test.
	* c-c++-common/asan/bitfield-3.c: New test.
	* c-c++-common/asan/bitfield-4.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214086 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/i386/i386.c
	(ix86_expand_special_args_builtin): Handle avx512vl_storev8sf_mask,
	avx512vl_storev8si_mask, avx512vl_storev4df_mask, avx512vl_storev4di_mask,
	avx512vl_storev4sf_mask, avx512vl_storev4si_mask, avx512vl_storev2df_mask,
	avx512vl_storev2di_mask, avx512vl_loadv8sf_mask, avx512vl_loadv8si_mask,
	avx512vl_loadv4df_mask, avx512vl_loadv4di_mask, avx512vl_loadv4sf_mask,
	avx512vl_loadv4si_mask, avx512vl_loadv2df_mask,	avx512vl_loadv2di_mask,
	avx512bw_loadv64qi_mask, avx512vl_loadv32qi_mask, avx512vl_loadv16qi_mask,
	avx512bw_loadv32hi_mask, avx512vl_loadv16hi_mask, avx512vl_loadv8hi_mask.
	* config/i386/i386.md (define_mode_attr ssemodesuffix): Allow V32HI mode.
	* config/i386/sse.md
	(define_mode_iterator VMOVE): Allow V4TI mode.
	(define_mode_iterator V_AVX512VL): New.
	(define_mode_iterator V): New handling for AVX512VL.
	(define_insn "avx512f_load<mode>_mask"): Delete.
	(define_insn "<avx512>_load<mode>_mask"): New.
	(define_insn "avx512f_store<mode>_mask"): Delete.
	(define_insn "<avx512>_store<mode>_mask"): New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214087 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/i386/i386.md
	(define_attr "isa"): Add avx512dq, noavx512dq.
	(define_attr "enabled"): Ditto.
	* config/i386/sse.md
	(define_insn "vec_extract_hi_<mode><mask_name>"): Support masking.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214088 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/i386/i386.md
	(define_insn "*movoi_internal_avx"): Add evex version.
	(define_insn "*movti_internal"): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214089 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/i386/sse.md
	(define_mode_iterator VF2_AVX512VL): New.
	(define_mode_attr sseintvecmode2): New.
	(define_insn "ufix_truncv2dfv2si2<mask_name>"): Add masking.
	(define_insn "fix_truncv4dfv4si2<mask_name>"): New.
	(define_insn "ufix_truncv4dfv4si2<mask_name>"): Ditto.
	(define_insn
	"<fixsuffix>fix_trunc<mode><sseintvecmodelower>2<mask_name><round_saeonly_name>"):
	Ditto.
	(define_insn "fix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
	Ditto.
	(define_insn "ufix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
	Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214090 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/i386/i386.c: Rename ufloatv8siv8df_mask to ufloatv8siv8df2_mask.
	* config/i386/i386.md
	(define_code_iterator any_float): New.
	(define_code_attr floatsuffix): New.
	* config/i386/sse.md
	(define_mode_iterator VF1_128_256VL): New.
	(define_mode_iterator VF2_512_256VL): New.
	(define_insn "float<si2dfmodelower><mode>2<mask_name>"): Remove unnecessary
	TARGET check.
	(define_insn "ufloatv8siv8df<mask_name>"): Delete.
	(define_insn "<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>"):
	New.
	(define_mode_attr qq2pssuff): New.
	(define_mode_attr sselongvecmode): New.
	(define_mode_attr sselongvecmodelower): New.
	(define_mode_attr sseintvecmode3): New.
	(define_insn "<floatsuffix>float<sselongvecmodelower><mode>2<mask_name><round_name>"):
	New.
	(define_insn "*<floatsuffix>floatv2div2sf2"): New.
	(define_insn "<floatsuffix>floatv2div2sf2_mask"): New.
	(define_insn "ufloat<si2dfmodelower><mode>2<mask_name>"): New.
	(define_insn "ufloatv2siv2df2<mask_name>"): New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214091 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/i386/sse.md
	(define_mode_iterator VF1_AVX512VL): New.
	(define_insn "ufloatv16siv16sf2<mask_name><round_name>"): Delete.
	(define_insn "ufloat<sseintvecmodelower><mode>2<mask_name><round_name>"):
	New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214092 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/i386/sse.md
	(define_mode_iterator VI8_AVX2_AVX512BW): New.
	(define_insn "<sse2_avx2>_psadbw"): Add evex version.



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

gcc/
	* cgraph.h (cgraph_node::create_indirect_edge): Add
	compute_indirect_info param.
	* cgraph.c (cgraph_node::create_indirect_edge): Compute
	indirect_info only when it is required.
	* cgraphclones.c (cgraph_clone_edge): Do not recompute
	indirect_info fore cloned indirect edge.

gcc/testsuite/
	* g++.dg/ipa/pr61800.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214099 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-18  Richard Biener  <rguenther@suse.de>

	* gimple-fold.c (maybe_fold_reference): Move re-gimplification
	code to ...
	(maybe_canonicalize_mem_ref_addr): ... this function.
	(fold_stmt_1): Apply it here before all simplification.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214103 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/62090
	* builtins.c (fold_builtin_snprintf): Move to gimple-fold.c.
	(fold_builtin_3): Do not fold snprintf.
	(fold_builtin_4): Likewise.
	* gimple-fold.c (gimple_fold_builtin_snprintf): New function
	moved from builtins.c.
	(gimple_fold_builtin_with_strlen): Fold snprintf and sprintf.
	(gimple_fold_builtin): Do not fold sprintf here.

	* gcc.dg/pr62090-2.c: New testcase.


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