Tom de Vries [Tue, 7 Jul 2015 16:25:22 +0000 (16:25 +0000)]
 
Add empty loop exit block in transform_to_exit_first_loop_alt
2015-07-07  Tom de Vries  <tom@codesourcery.com>
	PR tree-optimization/66642
	* tree-parloops.c (transform_to_exit_first_loop_alt): Update function
	header comment.  Rename split_edge variable to edge_at_split.  Split
	exit edge to create new loop exit bb.  Insert loop exit phis in new loop
	exit bb.
	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
	iteration count case.
	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
	function, factor out of ...
	(main): ... here.  Test low iteration count case.
From-SVN: r225521
Tom de Vries [Tue, 7 Jul 2015 16:25:12 +0000 (16:25 +0000)]
 
Add rewrite_virtuals_into_loop_closed_ssa
2015-07-07  Tom de Vries  <tom@codesourcery.com>
	* tree-cfg.c (get_virtual_phi): New function.
	* tree-cfg.h (get_virtual_phi): Declare.
	* tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
	(rewrite_virtuals_into_loop_closed_ssa): New function.
	* tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
	Declare.
	* tree-parloops.c (replace_uses_in_bbs_by): Remove.
	(transform_to_exit_first_loop_alt): Use
	rewrite_virtuals_into_loop_closed_ssa.
From-SVN: r225520
Andrew Bennett [Tue, 7 Jul 2015 16:07:51 +0000 (16:07 +0000)]
 
MIPS: Do not generate micromips code for the no-smartmips-lwxs.c testcase
The LWXS instruction is part of the micromips ISA which means it is
valid to generate it for the no-smartmips-lwxs.c testcase.
testsuite/
	* gcc.target/mips/no-smartmips-lwxs.c: Change NOMIPS16 to
	NOCOMPRESSION.
From-SVN: r225519
Richard Biener [Tue, 7 Jul 2015 14:12:44 +0000 (14:12 +0000)]
 
fold-const.c (fold_binary_loc): Move (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
2015-07-07  Richard Biener  <rguenther@suse.de>
	* fold-const.c (fold_binary_loc): Move
	(X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
	* match.pd: ... here.
	Add (X * C1) % C2 -> 0 simplification pattern derived from
	extract_muldiv_1.
	* gcc.dg/vect/vect-over-widen-3-big-array.c: Adjust.
From-SVN: r225517
Andrew Bennett [Tue, 7 Jul 2015 14:01:53 +0000 (14:01 +0000)]
 
MIPS: Fix the call-[1,5,6].c tests to allow the jrc instruction to be matched when testing with microMIPS.
When building the call-[1,5,6].c tests for micromips the jrc rather than the
jr instruction is used to call the tail* functions.
testsuite/
	* gcc.target/mips/call-1.c: Allow testcase to match the jrc instruction.
	* gcc.target/mips/call-5.c: Ditto.
	* gcc.target/mips/call-6.c: Ditto.
From-SVN: r225516
Kaz Kojima [Tue, 7 Jul 2015 12:29:16 +0000 (12:29 +0000)]
 
re PR target/66780 (Compiling with -fstack-protector-strong causes binary to segfault)
PR target/66780
* config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03 change for target/65249.
From-SVN: r225512
Paulo Matos [Tue, 7 Jul 2015 11:25:35 +0000 (11:25 +0000)]
 
symtab.c (address_matters_1): Fix typo in comment above.
2015-07-07  Paulo Matos  <pmatos@broadcom.com>
	* symtab.c (address_matters_1): Fix typo in comment above.
	(can_increase_alignment_p): Likewise.
From-SVN: r225509
Prathamesh Kulkarni [Tue, 7 Jul 2015 11:19:27 +0000 (11:19 +0000)]
 
function.c (free_after_compilation): Clear PROP_cfg in f->curr_properties.
2015-07-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
	* function.c (free_after_compilation): Clear PROP_cfg in f->curr_properties.
testsuite/
	* gcc.dg/dx-test.c: New test-case.
From-SVN: r225508
Andre Vehreschild [Tue, 7 Jul 2015 11:10:12 +0000 (13:10 +0200)]
 
re PR fortran/66578 ([F2008] Invalid free on allocate(...,source=a(:)) in block)
gcc/testsuite/ChangeLog:
2015-07-07  Andre Vehreschild  <vehre@gcc.gnu.org>
	PR fortran/66578
	* gfortran.dg/allocate_with_source_9.f08: New test.
gcc/fortran/ChangeLog:
2015-07-07  Mikael Morin  <mikael@gcc.gnu.org>
	    Andre Vehreschild  <vehre@gcc.gnu.org>
	PR fortran/66578
	* trans-array.c (gfc_conv_expr_descriptor): Ensure array descriptor
	is one-based for non-full array refs. Correct the offset when a
	rank_remap occurs.
From-SVN: r225507
Richard Biener [Tue, 7 Jul 2015 07:59:40 +0000 (07:59 +0000)]
 
tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we add which use to.
2015-07-07  Richard Biener  <rguenther@suse.de>
	* tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we
	add which use to.
	(add_control_edge): Remove excessive vertical space in dumping.
	(process_ssa_edge_worklist): Simulate at most one statement and
	return whether we did.  Do not simulate PHIs if they are in a
	BB not yet simulated.
	(ssa_propagate): Adjust to always drain the BB worklist whenever
	a BB is available there, likewise the VARYING edges list before
	the interesting edge list.
From-SVN: r225504
Christian Bruel [Tue, 7 Jul 2015 07:56:10 +0000 (09:56 +0200)]
 
Cleanup arch file directive.
PR target/52144
* config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.
PR target/52144
* gcc.target/arm/flip-thumb.c: Fix scan.
* gcc.target/arm/attr_thumb.c: Test for all targets. Fix scan.
* gcc.target/arm/attr_arm.c: Test for all targets. Fix scan.
* gcc.target/arm/attr_thumb-static.c: Test for all targets.
Fix return value.
From-SVN: r225503
Richard Biener [Tue, 7 Jul 2015 07:46:57 +0000 (07:46 +0000)]
 
re PR tree-optimization/66739 (FAIL: gcc.target/aarch64/subs.c scan-assembler subs\tw[0-9])
2015-07-07  Richard Biener  <rguenther@suse.de>
	PR middle-end/66739
	* match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use
	A - B.
From-SVN: r225502
GCC Administrator [Tue, 7 Jul 2015 00:16:11 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r225501
Jason Merrill [Mon, 6 Jul 2015 22:13:42 +0000 (18:13 -0400)]
 
pt.c (reduce_template_parm_level): Also build the TYPE_DECL for a template template parameter.
	* pt.c (reduce_template_parm_level): Also build the TYPE_DECL
	for a template template parameter.
	(tsubst_decl) [TEMPLATE_DECL]: Use the TEMPLATE_DECL built
	by reduce_template_parm_level.
From-SVN: r225495
Jason Merrill [Mon, 6 Jul 2015 22:13:37 +0000 (18:13 -0400)]
 
pt.c (argument_pack_element_is_expansion_p): A decl pack is an expansion.
	* pt.c (argument_pack_element_is_expansion_p): A decl pack is an
	expansion.
From-SVN: r225494
Uros Bizjak [Mon, 6 Jul 2015 21:26:12 +0000 (23:26 +0200)]
 
i386.md (insv<mode>): Rename from insv.
	* config/i386/i386.md (insv<mode>): Rename from insv.  Use SWI48
	modes for operands 0 and 3.  Use SImode for operands 2 and 3.
	Copy operand 0 to a temporary if !ext_register_operand.  Remove
	ancient extract_bit_field workaround.
	(insv<mode>_1): Rename from mov<mode>_insv_1.
	(*insvqi): Rename from *movqi_insv_2.
	* config/i386/i386.c (emit_i386_cw_initialization): Update calls
	for renamed insvsi_1.
	(promote_duplicated_reg): Ditto for renamed insv<mode>_1.
From-SVN: r225484
Nathan Sidwell [Mon, 6 Jul 2015 20:53:34 +0000 (20:53 +0000)]
 
nvptx.c (nvptx_reorg): Remove unused vars.
	* config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars.  Fix
	call to nvptx_reorg_subreg.
From-SVN: r225481
John Marino [Mon, 6 Jul 2015 20:51:40 +0000 (20:51 +0000)]
 
* s-oscons-tmplt.c: Add support for DragonFly alongside FreeBSD.
From-SVN: r225480
Jim Wilson [Mon, 6 Jul 2015 20:37:44 +0000 (20:37 +0000)]
 
graphite-blocking.c (HAVE_isl): Include <stddef.h>.
gcc/
	* graphite-blocking.c (HAVE_isl): Include <stddef.h>.
	* graphite-dependencies.c, graphite-interchange.c,
	graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c,
	graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c:
	Likewise.
From-SVN: r225478
Marc Glisse [Mon, 6 Jul 2015 18:19:41 +0000 (20:19 +0200)]
 
match.pd: Remove element_mode inside HONOR_*.
2015-07-06  Marc Glisse  <marc.glisse@inria.fr>
	* match.pd: Remove element_mode inside HONOR_*.
	(~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types.
	(~X | X -> -1, ~X ^ X -> -1): Merge.
	* tree.c (build_each_one_cst): New function.
	* tree.h (build_each_one_cst): Likewise.
From-SVN: r225473
H.J. Lu [Mon, 6 Jul 2015 17:51:12 +0000 (10:51 -0700)]
 
Handle PROCESSOR_IAMCU in ix86_target_macros_internal
Define __i586__/__pentium__ for -march=iamcu and __tune_iamcu__ for
-mtune=iamcu.
	* config/i386/i386-c.c (ix86_target_macros_internal): Handle
	PROCESSOR_IAMCU.
From-SVN: r225471
Steve Ellcey [Mon, 6 Jul 2015 17:29:33 +0000 (17:29 +0000)]
 
config.gcc: Add fused-madd.opt.
2015-07-06  Steve Ellcey  <sellcey@imgtec.com>
	* config.gcc <mips*-*-*>: Add fused-madd.opt.
	* config/mips/mips.opt (mfused-madd): Remove.
	* config/mips/mips.c (mips_rtx_costs): Update cost calculations.
	* config/mips/mips.h (TARGET_MIPS8000): New.
	(ISA_HAS_FP_MADD4_MSUB4): Remove.
	(ISA_HAS_FP_MADDF_MSUBF): Remove.
	(ISA_HAS_FP_MADD3_MSUB3): Remove.
	(ISA_HAS_NMADD4_NMSUB4): Remove.
	(ISA_HAS_NMADD3_NMSUB3): Remove.
	(ISA_HAS_FUSED_MADD4): New.
	(ISA_HAS_UNFUSED_MADD4): New.
	(ISA_HAS_FUSED_MADDF): New.
	(ISA_HAS_FUSED_MADD3): New.
	* config/mips/mips.md: (fma<mode>4) Change from insn to expand.
	(*fma<mode>4_madd3) New.
	(*fma<mode>4_madd4) New.
	(*fma<mode>4_maddf) New.
	(fms<mode>4) New.
	(*fms<mode>4_msub3) New.
	(*fms<mode>4_msub4) New.
	(fnma<mode>4) New.
	(*fnma<mode>4_nmadd3) New.
	(*fnma<mode>4_nmadd4) New.
	(fnms<mode>4) New.
	(*fnms<mode>4_nmsub3) New.
	(*fnms<mode>4_nmsub4) New.
	(*madd4<mode>) Modify to be unfused only.
	(*msub4<mode>) Modify to be unfused only.
	(*nmadd4<mode>) Modify to be unfused only.
	(*nmsub4<mode>) Modify to be unfused only.
	(*madd3<mode>) Remove.
	(*msub3<mode>) Remove.
	(*nmadd3<mode>) Remove.
	(*nmsub3<mode>) Remove.
	(*nmadd3<mode>_fastmath) Remove.
	(*nmsub3<mode>_fastmath) Remove.
	(*nmadd4<mode>_fastmath) Update condition.
	(*nmsub4<mode>_fastmath) Update condition.
From-SVN: r225468
Jakub Jelinek [Mon, 6 Jul 2015 17:06:00 +0000 (19:06 +0200)]
 
Fix eipa_src AAPCS issue (PR target/65956)
2015-05-05  Jakub Jelinek  <jakub@redhat.com>
	PR target/65956
	* gcc.c-torture/execute/pr65956.c: New test.
From-SVN: r225466
Alan Lawrence [Mon, 6 Jul 2015 16:58:16 +0000 (16:58 +0000)]
 
[ARM] PR/65956 AAPCS update for alignment attribute
gcc/:
	PR target/65956
	* config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
	alignment attribute, exploring one level down for records and arrays.
gcc/testsuite/:
	* gcc.target/arm/aapcs/align1.c: New.
	* gcc.target/arm/aapcs/align_rec1.c: New.
	* gcc.target/arm/aapcs/align2.c: New.
	* gcc.target/arm/aapcs/align_rec2.c: New.
	* gcc.target/arm/aapcs/align3.c: New.
	* gcc.target/arm/aapcs/align_rec3.c: New.
	* gcc.target/arm/aapcs/align4.c: New.
	* gcc.target/arm/aapcs/align_rec4.c: New.
	* gcc.target/arm/aapcs/align_vararg1.c: New.
	* gcc.target/arm/aapcs/align_vararg2.c: New.
From-SVN: r225465
H.J. Lu [Mon, 6 Jul 2015 16:56:11 +0000 (09:56 -0700)]
 
Optimize i?86-*-elfiamcu for iamcu by default
Default -mtune=/-march= to iamcu for i[34567]86-*-elfiamcu targets.
	* config.gcc (x86_archs): Add iamcu.
	(with_cpu): Default to iamcu for i[34567]86-*-elfiamcu.
	(with_arch): Likewise.
	* doc/invoke.texi: Add iamcu.
From-SVN: r225464
Uros Bizjak [Mon, 6 Jul 2015 16:43:33 +0000 (18:43 +0200)]
 
i386.md (extv<mode>): Rename from extv.
	* config/i386/i386.md (extv<mode>): Rename from extv.  Use SWI24
	modes for operands 0 and 1.  Use SImode for operands 2 and 3.
	Copy operand 1 to a temporary if !ext_register_operand.  Remove
	ancient extract_bit_field workaround.
	(*extv<mode>): Rename from *mov<mode>_extv_1.
	(*extvqi): Rename from *movqi_extv_q.
	(extzv<mode>): Rename from extzv.  Use SWI248 modes for
	operands 0 and 1.  Use SImode for operands 2 and 3. Copy operand 1
	to a temporary if !ext_register_operand.  Remove ancient
	extract_bit_field workaround.
	(*extzv<mode>): Rename from *mov<mode>_extzv_1.
	(*extzvqi): Rename from *movqi_extzv_1.
	(*testqi_ext_3): Remove modes from const_int_operand predicated
	operands.  Add "n" constraint.
	(*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
	operand.  Add "J" constraint.
	(*btsq, *btrq, *btcq peephole2s): Remove mode from
	const_0_to_63 predicated operand.
	(regmode): New insn attribute.
	(*bt<mode>): Use SImode for operand 1.  Change operand 1 predicate
	to nonmemory_operand.  Use regmode insn attribute.
	(*jcc_bt<mode>_1): Convert operand 2 to SImode.
	(*jcc_bt<mode>_mask): Remove mode from operand 3.
	(*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
	(tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
	operands.  Use "N" constraint instead of "n".
From-SVN: r225463
Steven G. Kargl [Mon, 6 Jul 2015 16:33:38 +0000 (16:33 +0000)]
 
io.c (check_char_variable): New function.
2015-07-06  Steven G. Kargl  <kargl@gcc.gnu.org>
	* io.c (check_char_variable): New function.
	(match_open_element, match_close_element, match_file_element,
	match_dt_element, match_inquire_element, match_wait_element): Use it.
2015-07-06  Steven G. Kargl  <kargl@gcc.gnu.org>
	* gfortran.dg/iomsg_2.f90: New test.
From-SVN: r225462
Alan Lawrence [Mon, 6 Jul 2015 16:21:55 +0000 (16:21 +0000)]
 
[ARM] fix movdi expander to avoid illegal ldrd/strd
        * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
From-SVN: r225461
H.J. Lu [Mon, 6 Jul 2015 15:17:44 +0000 (08:17 -0700)]
 
Add -march=iamcu to optimize for IA MCU
IA MCU is based on Intel Pentium ISA without x87 and passing parameters
in registers.  We want to optimize for IA MCU without changing existing
Pentium codegen.  This patch adds PROCESSOR_IAMCU for -march=iamcu,
which is based on -march=pentium with updated cost tables.
gcc/
	PR target/66749
	* config/i386/i386.c (iamcu_cost): New.
	(m_IAMCU): Likewise.
	(initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
	(processor_target_table): Add an entry for "iamcu".
	(processor_alias_table): Likewise.
	(ix86_issue_rate): Handle PROCESSOR_IAMCU.
	(ix86_adjust_cost): Likewise.
	(ia32_multipass_dfa_lookahead): Likewise.
	* config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
	* config/i386/x86-tune.def: Updated for m_IAMCU.
gcc/testsuite/
	PR target/66749
	* gcc.target/i386/pr66749.c: New test.
From-SVN: r225460
Richard Biener [Mon, 6 Jul 2015 14:41:22 +0000 (14:41 +0000)]
 
re PR tree-optimization/66772 (ICE at -O2 and -O3 on x86_64-linux-gnu)
2015-07-06  Richard Biener  <rguenther@suse.de>
	PR tree-optimization/66772
	* tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
	values are available in the PHI node BB when there are
	still unexecutable edges.
	* gcc.dg/torture/pr66772-1.c: New testcase.
	* gcc.dg/torture/pr66772-2.c: Likewise.
From-SVN: r225459
Andrew Bennett [Mon, 6 Jul 2015 14:16:14 +0000 (14:16 +0000)]
 
MIPS: For micromips allow the near-far-3.c test to use the jals instruction to call near_func.
testsuite/
	* gcc.target/mips/near-far-3.c: Allow the call to near_func to use
	the jals instruction.
From-SVN: r225457
Richard Biener [Mon, 6 Jul 2015 13:12:39 +0000 (13:12 +0000)]
 
re PR tree-optimization/66767 (FAIL: gcc.dg/vect/vect-align-1.c execution test)
2015-07-06  Richard Biener  <rguenther@suse.de>
	PR tree-optimization/66767
	* tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
	Make sure to build the alignment test on a SSA name without
	final alignment info valid only if the alignment test
	evaluates to true.
From-SVN: r225454
Bernd Schmidt [Mon, 6 Jul 2015 12:49:26 +0000 (12:49 +0000)]
 
Fix assert caused by bad cfg manipulation in bfin.
	PR target/66620
	* config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
	loop start when inserting LSETUP.
From-SVN: r225453
H.J. Lu [Mon, 6 Jul 2015 11:50:47 +0000 (11:50 +0000)]
 
Allow -mincoming-stack-boundary=3 with -mno-sse
Similar to -mpreferred-stack-boundary=3, -mincoming-stack-boundary=3 is
allowed with -mno-sse in 64-bit mode.
gcc/
	PR target/53383
	* config/i386/i386.c (ix86_option_override_internal): Allow
	-mincoming-stack-boundary=3 for 64-bit if SSE is disabled.
gcc/testsuite/
	PR target/53383
	* gcc.target/i386/pr53383-1.c: New file.
	* gcc.target/i386/pr53383-2.c: Likewise.
	* gcc.target/i386/pr53383-3.c: Likewise.
From-SVN: r225452
Rainer Orth [Mon, 6 Jul 2015 11:43:07 +0000 (11:43 +0000)]
 
Rename read-md.c:decimal_string
	* read-md.c (decimal_string): Rename to ...
	(md_decimal_string): ... this.
	(handle_enum): Reflect this.
From-SVN: r225451
Szabolcs Nagy [Mon, 6 Jul 2015 11:00:03 +0000 (11:00 +0000)]
 
[AArch64] PR target/66731 Fix fnmul insn with -frounding-math
gcc/Changelog:
2015-07-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
	PR target/66731
	* config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
gcc/testsuite/Changelog:
2015-07-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
	* gcc.target/aarch64/fnmul-1.c: New.
	* gcc.target/aarch64/fnmul-2.c: New.
	* gcc.target/aarch64/fnmul-3.c: New.
	* gcc.target/aarch64/fnmul-4.c: New.
From-SVN: r225450
Richard Biener [Mon, 6 Jul 2015 10:37:33 +0000 (10:37 +0000)]
 
re PR tree-optimization/66759 (ICE in generic-match.c on 456.hmmer)
2015-07-06  Richard Biener  <rguenther@suse.de>
	PR middle-end/66759
	* match.pd: Add missing constraint of y to REAL_CST in
	REAL_CST - x CMP y to y - CST CMP x simplification.
	* gcc.dg/torture/pr66759.c: New testcase.
From-SVN: r225449
Andre Vehreschild [Mon, 6 Jul 2015 10:27:38 +0000 (12:27 +0200)]
 
Added missing Changelog entry for testsuite.
From-SVN: r225448
Andre Vehreschild [Mon, 6 Jul 2015 10:26:12 +0000 (12:26 +0200)]
 
re PR fortran/58586 (ICE with derived type with allocatable component passed by value)
gcc/testsuite/ChangeLog:
2015-07-06  Andre Vehreschild  <vehre@gmx.de>
	PR fortran/58586
	* gfortran.dg/alloc_comp_class_3.f03: New test.
	* gfortran.dg/alloc_comp_class_4.f03: New test.
gcc/fortran/ChangeLog:
2015-07-06  Andre Vehreschild  <vehre@gmx.de>
	PR fortran/58586
	* resolve.c (resolve_symbol): Non-private functions in modules
	with allocatable or pointer components are marked referenced
	now. Furthermore is the default init especially for those
	components now done in gfc_conf_procedure_call preventing
	duplicate code.
	* trans-decl.c (gfc_generate_function_code): Generate a fake
	result decl for functions returning an object with allocatable
	components and initialize them.
	* trans-expr.c (gfc_conv_procedure_call): For value typed trees
	use the tree without indirect ref. And for non-decl trees
	add a temporary variable to prevent evaluating the tree
	multiple times (prevent multiple function evaluations).
	* trans.h: Made gfc_trans_structure_assign () protoype
	available, which is now needed by trans-decl.c:gfc_generate_
	function_code(), too.
From-SVN: r225447
Eric Botcazou [Mon, 6 Jul 2015 08:43:58 +0000 (08:43 +0000)]
 
re PR tree-optimization/66757 (wrong code at -O1 and above on x86_64-linux-gnu)
	PR tree-optimization/66757
	* match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
From-SVN: r225446
Francois-Xavier Coudert [Mon, 6 Jul 2015 08:22:34 +0000 (08:22 +0000)]
 
re PR libfortran/40267 (Eventually get rid of libgfortranbegin.a)
	PR libfortran/40267
	* Makefile.am: Remove libgfortranbegin targets.
	* Makefile.in: Regenerate.
	* fmain.c: Remove.
From-SVN: r225445
Sebastian Huber [Mon, 6 Jul 2015 07:21:48 +0000 (07:21 +0000)]
 
libgomp: Add comment to clarify last_team usage
libgomp/ChangeLog
2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
	* libgomp.h (gomp_thread_pool): Comment last_team field.
From-SVN: r225444
Bin Cheng [Mon, 6 Jul 2015 05:57:56 +0000 (05:57 +0000)]
 
re PR testsuite/66720 (gcc.dg/vect/pr48052.c FAILs)
	PR tree-optimization/66720
	* gcc.dg/vect/pr48052.c: Use dg-require-effective-target
	vect_int_mult.
From-SVN: r225443
GCC Administrator [Mon, 6 Jul 2015 00:16:12 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r225440
Chung-Lin Tang [Sun, 5 Jul 2015 21:49:08 +0000 (21:49 +0000)]
 
nios2-protos.h (nios2_symbol_ref_in_small_data_p): Delete extern declaration.
2015-07-05  Chung-Lin Tang  <cltang@codesourcery.com>
	    Sandra Loosemore <sandra@codesourcery.com>
	gcc/
	* config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
	Delete extern declaration.
	(gprel_constant_p): Add extern declaration.
	* config/nios2/constraints.md ("S"): Use gprel_constant_p
	instead of nios2_symbol_ref_in_small_data_p.
	* config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
	(nios2_symbol_ref_in_small_data_p): Make static.
	(gprel_constant_p): Make non-static.
	gcc/testsuite/
	* gcc.target/nios2/gprel-offset.c: New test.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r225437
François Dumont [Sun, 5 Jul 2015 21:16:07 +0000 (21:16 +0000)]
 
hashtable.h (_Hashtable<>::__rehash_policy): Do not rehash container.
2015-07-05  François Dumont  <fdumont@gcc.gnu.org>
	* include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
	rehash container.
	* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
	Adapt.
From-SVN: r225436
Gerald Pfeifer [Sun, 5 Jul 2015 20:36:22 +0000 (20:36 +0000)]
 
fragments.texi (Target Fragment): Convert debian.org link to use https.
	* doc/fragments.texi (Target Fragment): Convert debian.org
	link to use https.
	* doc/install.texi (Configuration): Ditto.
From-SVN: r225435
Jakub Jelinek [Sun, 5 Jul 2015 12:14:41 +0000 (14:14 +0200)]
 
re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
	PR tree-optimization/66718
	* tree-vect-stmts.c (vectorizable_call): Replace uses of
	GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.
From-SVN: r225434
Jakub Jelinek [Sun, 5 Jul 2015 12:11:57 +0000 (14:11 +0200)]
 
re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
	PR tree-optimization/66718
	* tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
	vectorizable_load, vectorizable_condition): Move vectype,
	nunits, ncopies computation after checking what kind of statement
	stmt is.
From-SVN: r225433
Richard Sandiford [Sun, 5 Jul 2015 08:02:59 +0000 (08:02 +0000)]
 
target-insns.def (extv, [...]): New targetm instruction patterns.
gcc/
	* target-insns.def (extv, extzv, insv): New targetm instruction
	patterns.
	* optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
	interface.
	* recog.c (simplify_while_replacing): Likewise.
From-SVN: r225432
Richard Sandiford [Sun, 5 Jul 2015 08:01:48 +0000 (08:01 +0000)]
 
target-insns.def (doloop_begin, doloop_end): New targetm instruction patterns.
gcc/
	* target-insns.def (doloop_begin, doloop_end): New targetm
	instruction patterns.
	* loop-init.c: Include target.h.
	(pass_loop2::gate): Use the new targetm patterns instead of
	HAVE_*/gen_* interface.
	(pass_rtl_doloop::gate): Likewise.
	(pass_rtl_doloop::execute): Remove preprocessor condition.
	* hw-doloop.c: Build unconditionally.
	* loop-doloop.c: Likewise.
	(doloop_optimize): Use the new targetm patterns instead of
	HAVE_*/gen_* interface.
	(doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
	* modulo-sched.c (doloop_register_get): Likewise.
From-SVN: r225431
Richard Sandiford [Sun, 5 Jul 2015 07:59:14 +0000 (07:59 +0000)]
 
target-insns.def (clear_cache): New targetm instruction pattern.
gcc/
	* target-insns.def (clear_cache): New targetm instruction pattern.
	* builtins.c (expand_builtin___clear_cache): Use it instead of
	HAVE_*/gen_* interface.
From-SVN: r225430
Richard Sandiford [Sun, 5 Jul 2015 07:58:30 +0000 (07:58 +0000)]
 
gcc/
	* target-insns.def (allocate_stack, check_stack, probe_stack)
	(probe_stack_address, split_stack_prologue, split_stack_space_check):
	New targetm instruction patterns.
	* explow.c (allocate_dynamic_stack_space): Use them instead of
	HAVE_*/gen_* interface.
	(emit_stack_probe): Likewise.
	(probe_stack_range): Likewise.
	* function.c (thread_prologue_and_epilogue_insns): Likewise.
From-SVN: r225429
Richard Sandiford [Sun, 5 Jul 2015 07:56:45 +0000 (07:56 +0000)]
 
target-insns.def (stack_protect_set, [...]): New targetm instruction patterns.
gcc/
	* target-insns.def (stack_protect_set, stack_protect_test): New
	targetm instruction patterns.
	* cfgexpand.c (stack_protect_prologue): Use them instead of
	HAVE_*/gen_* interface.
	* function.c (stack_protect_epilogue): Likewise.
From-SVN: r225428
Richard Sandiford [Sun, 5 Jul 2015 07:55:03 +0000 (07:55 +0000)]
 
expr.h (gen_move_insn_uncast): Delete.
gcc/
	* expr.h (gen_move_insn_uncast): Delete.
	* expr.c (gen_move_insn_uncast): Delete.
From-SVN: r225427
Richard Sandiford [Sun, 5 Jul 2015 07:52:32 +0000 (07:52 +0000)]
 
gcc/
	* target-insns.def (restore_stack_block, restore_stack_function)
	(restore_stack_nonlocal, save_stack_block, save_stack_function)
	(save_stack_nonlocal): New targetm instruction patterns.
	* builtins.c (expand_builtin_apply): Use them instead of
	HAVE_*/gen_* interface.
	* explow.c (emit_stack_save, emit_stack_restore): Likewise.
From-SVN: r225426
Richard Sandiford [Sun, 5 Jul 2015 07:51:07 +0000 (07:51 +0000)]
 
target-insns.def (trap): New targetm instruction pattern.
gcc/
	* target-insns.def (trap): New targetm instruction pattern.
	* builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
	interface.
	* explow.c (allocate_dynamic_stack_space): Likewise.
	* ifcvt.c (find_if_header): Likewise.
From-SVN: r225425
Richard Sandiford [Sun, 5 Jul 2015 07:50:31 +0000 (07:50 +0000)]
 
target-insns.def (prefetch): New targetm instruction pattern.
gcc/
	* target-insns.def (prefetch): New targetm instruction pattern.
	* tree-ssa-loop-prefetch.c: Include targeth.
	(tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
	of HAVE_*/gen_* interface.
	* builtins.c (expand_builtin_prefetch): Likewise.
	* toplev.c (process_options): Likewise.
From-SVN: r225424
Richard Sandiford [Sun, 5 Jul 2015 07:49:16 +0000 (07:49 +0000)]
 
target-insns.def (untyped_call, [...]): New targetm instruction patterns.
gcc/
	* target-insns.def (untyped_call, untyped_return): New targetm
	instruction patterns.
	* builtins.c (expand_builtin_apply): Use them instead of
	HAVE_*/gen_* interface.
	(result_vector): Define unconditionally.
From-SVN: r225423
Richard Sandiford [Sun, 5 Jul 2015 07:48:04 +0000 (07:48 +0000)]
 
gcc/
	* target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
	(builtin_setjmp_setup, exception_receiver, nonlocal_goto)
	(nonlocal_goto_receiver): New targetm instruction patterns.
	* builtins.c (expand_builtin_setjmp_setup): Use them instead
	of HAVE_*/gen_* interface.
	(expand_builtin_setjmp_receiver): Likewise.
	(expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
	* except.c (expand_dw2_landing_pad_for_region): Likewise.
From-SVN: r225422
Richard Sandiford [Sun, 5 Jul 2015 07:44:45 +0000 (07:44 +0000)]
 
target.def: Add code_for_* hooks.
gcc/
	* target.def: Add code_for_* hooks.
	* gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
	* defaults.h (HAVE_tablejump, gen_tablejump): Delete.
	* target-insns.def (casesi, tablejump): New targetm instruction
	patterns.
	* expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
	(do_tablejump): Likewise.
	* stmt.c (expand_switch_as_decision_tree_p): Likewise.
	(expand_sjlj_dispatch_table): Likewise.
	* targhooks.c (default_case_values_threshold): Likewise.
From-SVN: r225421
Sandra Loosemore [Sun, 5 Jul 2015 02:56:18 +0000 (22:56 -0400)]
 
nios2.c (save_reg, [...]): Use plus_constant.
2015-07-04  Sandra Loosemore  <sandra@codesourcery.com>
	gcc/
	* config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
	Use rtx_insn * instead of rtx.
	(nios2_emit_add_constant): Use rtx_insn * instead of rtx.
	(nios2_expand_prologue, nios2_expand_epilogue): Likewise.
	(nios2_call_tls_get_addr): Likewise.
	(nios2_emit_expensive_div): Likewise.
	(nios2_emit_move_sequence): Change return type to bool.
	* config/nios2/nios2-protos.h (nios2_emit_move_sequence):
	Change return type to bool.
From-SVN: r225420
GCC Administrator [Sun, 5 Jul 2015 00:16:13 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r225419
Bernd Edlinger [Sat, 4 Jul 2015 19:02:18 +0000 (19:02 +0000)]
 
re PR target/66747 (The commit r225260 broke the builds of the mips-{mti,img}-linux-gnu tool chains.)
2015-07-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
        PR target/66747
        * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
From-SVN: r225416
Steven G. Kargl [Sat, 4 Jul 2015 15:37:04 +0000 (15:37 +0000)]
 
[multiple changes]
2015-07-04  Steven G. Kargl  <kargl@gcc.gnu.org>
	PR fortran/66725
	* io.c (is_char_type): New function to test for BT_CHARACTER
	(gfc_match_open, gfc_match_close, match_dt_element): Use it.
2015-07-03  Steven G. Kargl  <kargl@gcc.gnu.org>
	PR fortran/66725
	* gfortran.dg/pr66725.f90: New test.
From-SVN: r225415
John David Anglin [Sat, 4 Jul 2015 13:42:55 +0000 (13:42 +0000)]
 
re PR target/66114 (some indirect_jump patterns use operands[] in their condition when they shouldn't)
	PR target/66114
	* config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
	of register_operand.  Remove constraint.
From-SVN: r225412
Marc Glisse [Sat, 4 Jul 2015 11:15:33 +0000 (13:15 +0200)]
 
tree-cfg.c (verify_gimple_assign_ternary): Check the first argument.
2015-07-04  Marc Glisse  <marc.glisse@inria.fr>
	* tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
	the first argument.
From-SVN: r225411
GCC Administrator [Sat, 4 Jul 2015 00:16:12 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r225409
Paolo Carlini [Fri, 3 Jul 2015 18:56:40 +0000 (18:56 +0000)]
 
attribs.c (decl_attributes): Guard inform with the return value of the preceding warning.
2015-07-03  Paolo Carlini  <paolo.carlini@oracle.com>
	* attribs.c (decl_attributes): Guard inform with the return value
	of the preceding warning.
From-SVN: r225402
Carlos Sánchez de La Lama [Fri, 3 Jul 2015 17:28:43 +0000 (17:28 +0000)]
 
re PR libitm/52482 (libitm INVALID MNEMONIC in .S (powerpc asm))
2015-07-03  Carlos Sánchez de La Lama  <csanchezdll@gmail.com>
	PR target/52482
	* config/powerpc/sjlj.S: Port to Xcode 2.5.
From-SVN: r225388
James Greenhalgh [Fri, 3 Jul 2015 14:49:05 +0000 (14:49 +0000)]
 
[Patch docs obvious AArch64] Fix position of -moverride documentation
gcc/
	* doc/invoke.texi (moverride): Move to correct section.
From-SVN: r225384
Jason Merrill [Fri, 3 Jul 2015 14:42:21 +0000 (10:42 -0400)]
 
wide-int_plugin.c (test_double_int_round_udiv): Avoid narrowing error.
	* gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv):
	Avoid narrowing error.
From-SVN: r225383
Segher Boessenkool [Fri, 3 Jul 2015 14:37:26 +0000 (16:37 +0200)]
 
re PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32))
	PR rtl-optimization/66706
	* gcc.target/powerpc/shift-int.c: New testcase.
From-SVN: r225382
Jonathan Wakely [Fri, 3 Jul 2015 14:08:48 +0000 (15:08 +0100)]
 
status_cxx2017.xml: Update status table.
	* doc/xml/manual/status_cxx2017.xml: Update status table.
	* doc/html/manual/*: Regenerate.
From-SVN: r225380
Ville Voutilainen [Fri, 3 Jul 2015 14:08:37 +0000 (17:08 +0300)]
 
Implement std::experimental::fundamentals_v2::propagate_const.
2015-07-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
	Implement std::experimental::fundamentals_v2::propagate_const.
	* include/Makefile.am: Add propagate_const.
	* include/Makefile.in: Regenerate.
	* include/experimental/propagate_const: New.
	* testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
	* testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
	* testsuite/experimental/propagate_const/assignment/move_neg.cc:
	Likewise.
	* testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
	* testsuite/experimental/propagate_const/cons/default.cc: Likewise.
	* testsuite/experimental/propagate_const/cons/move.cc: Likewise.
	* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
	* testsuite/experimental/propagate_const/hash/1.cc: Likewise.
	* testsuite/experimental/propagate_const/observers/1.cc: Likewise.
	* testsuite/experimental/propagate_const/relops/1.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements1.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
	* testsuite/experimental/propagate_const/swap/1.cc: Likewise.
	* testsuite/experimental/propagate_const/typedefs.cc: Likewise.
From-SVN: r225379
Richard Biener [Fri, 3 Jul 2015 13:46:34 +0000 (13:46 +0000)]
 
genmatch.c (commutative_tree_code, [...]): Copy from tree.c
2015-07-03  Richard Biener  <rguenther@suse.de>
	* genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
	Copy from tree.c
	(dt_operand::gen_gimple_expr): After valueizing operands
	re-canonicalize operand order for commutative tree codes.
From-SVN: r225378
H.J. Lu [Fri, 3 Jul 2015 13:08:35 +0000 (06:08 -0700)]
 
Add the missing file
From-SVN: r225377
H.J. Lu [Fri, 3 Jul 2015 12:25:10 +0000 (12:25 +0000)]
 
Add IA MCU support to x86intrin.h
x86intrin.h has useful intrinsics for instructions for IA MCU.  This
patch adds __iamcu__ check to x86intrin.h and ia32intrin.h.
gcc/
	PR target/66746.
	* config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
	is defined.
	(__crc32w): Likewise.
	(__crc32d): Likewise.
	(__rdpmc): Likewise.
	(__rdtscp): Likewise.
	(_rdpmc): Likewise.
	(_rdtscp): Likewise.
	* config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
	is defined.
gcc/testsuite/
	PR target/66746.
	* gcc.target/i386/pr66746.c: New file.
From-SVN: r225376
Richard Biener [Fri, 3 Jul 2015 12:02:35 +0000 (12:02 +0000)]
 
fold-const.c (fold_mathfn_compare): Remove.
2015-07-03  Richard Biener  <rguenther@suse.de>
	* fold-const.c (fold_mathfn_compare): Remove.
	(fold_inf_compare): Likewise.
	(fold_comparison): Move floating point comparison simplifications...
	* match.pd: ... to patterns here.  Introduce simple_comparisons
	operator list and use it for patterns formerly in fold_comparison.
From-SVN: r225375
Christophe Lyon [Fri, 3 Jul 2015 10:52:03 +0000 (10:52 +0000)]
 
vget_lane.c: New testcase.
2015-07-03  Christophe Lyon  <christophe.lyon@linaro.org>
	* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: New testcase.
From-SVN: r225374
Paolo Carlini [Fri, 3 Jul 2015 09:42:52 +0000 (09:42 +0000)]
 
2015-07-03  Paolo Carlini  <paolo.carlini@oracle.com>
	* Fix component of my last ChangeLog entries.
From-SVN: r225371
James Greenhalgh [Fri, 3 Jul 2015 09:25:54 +0000 (09:25 +0000)]
 
[Patch SRA] Fix PR66119 by calling get_move_ratio in SRA
gcc/
	PR tree-optimization/66119
	* toplev.c (process_options): Don't set up default values for
	the sra_max_scalarization_size_{speed,size} parameters.
	* tree-sra (analyze_all_variable_accesses): If no values
	have been set for the sra_max_scalarization_size_{speed,size}
	parameters, call get_move_ratio to get target defaults.
gcc/testsuite/
	PR tree-optimization/66119
	* g++.dg/opt/pr66119.C: New.
From-SVN: r225369
Richard Biener [Fri, 3 Jul 2015 07:55:10 +0000 (07:55 +0000)]
 
fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
2015-07-03  Richard Biener  <rguenther@suse.de>
	* fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
	* match.pd: ... here.
From-SVN: r225368
Gerald Pfeifer [Fri, 3 Jul 2015 01:35:18 +0000 (01:35 +0000)]
 
re PR target/37072 (-mfancy-math-387 should be the default in FreeBSD)
	PR target/37072
	* doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
	is not actually the default on FreeBSD.
From-SVN: r225367
Jason Merrill [Fri, 3 Jul 2015 00:45:34 +0000 (20:45 -0400)]
 
re PR c++/66743 (ICE: tree check: expected record_type or union_type or qual_union_type, have underlying_type in for_each_template_parm_r, at cp/pt.c:8234)
	PR c++/66743
	* pt.c (for_each_template_parm_r) [UNDERLYING_TYPE]: Use
	TYPE_VALUES_RAW rather than TYPE_FIELDS.
From-SVN: r225365
GCC Administrator [Fri, 3 Jul 2015 00:16:13 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r225364
Andrew Sutton [Thu, 2 Jul 2015 23:16:51 +0000 (23:16 +0000)]
 
pt.c (type_dependent_expression_p): Handle expressions that refer to variable templates.
	* pt.c (type_dependent_expression_p): Handle expressions
	that refer to variable templates.
From-SVN: r225361
David Edelsohn [Thu, 2 Jul 2015 22:01:36 +0000 (22:01 +0000)]
 
* trans-common.c: Include <map> after system.h.
From-SVN: r225358
Jonathan Wakely [Thu, 2 Jul 2015 21:52:38 +0000 (22:52 +0100)]
 
acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for --with-default-libstdcxx-abi
	* acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
	--with-default-libstdcxx-abi
	* configure: Regenerate.
	* doc/xml/manual/configure.xml: Document valid arguments.
From-SVN: r225356
Paul Thomas [Thu, 2 Jul 2015 20:39:56 +0000 (20:39 +0000)]
 
re PR fortran/52846 ([F2008] Support submodules)
2015-07-02  Paul Thomas  <pault@gcc.gnu.org>
	PR fortran/52846
	* decl.c (get_proc_name): Make a partially populated interface
	symbol to carry the characteristics of a module procedure and
	its result.
	(variable_decl): Declarations of dummies or results in the
	abreviated form of module procedure is an error.
	(gfc_match_import): IMPORT is not permitted in the interface
	declaration of module procedures.
	(match_attr_spec): Submodule variables have implicit save
	attribute for F2008 onwards.
	(gfc_match_prefix): Add 'module' as the a prefix and set the
	module_procedure attribute.
	(gfc_match_formal_arglist): For a module procedure keep the
	interface formal_arglist from the interface, match new the
	formal arguments and then compare the number and names of each.
	(gfc_match_procedure): Add case COMP_SUBMODULE.
	(gfc_match_function_decl, gfc_match_subroutine_decl): Set the
	module_procedure attribute.
	(gfc_match_entry, gfc_match_end):  Add case COMP_SUBMODULE. If
	attr abr_modproc_decl is set, switch the message accordingly
	for subroutines and functions.
	(gfc_match_submod_proc): New function to match the abbreviated
	style of submodule declaration.
	* gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the
	attribute bits 'used_in_submodule' and 'module_procedure'. Add
	the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes
	for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and
	'gfc_check_result_characteristics'.
	* interface.c : Add the prefix 'gfc_' to the names of functions
	'check_dummy(result)_characteristics' and all their references.
	* match.h : Add prototype for 'gfc_match_submod_proc' and
	'gfc_match_submodule'.
	(check_sym_interfaces): A module procedure is not an error in
	a module procedure statment in a generic interface.
	* module.c (gfc_match_submodule): New function. Add handling
	for the 'module_procedure' attribute bit.
	(gfc_use_module): Make sure that a submodule cannot use itself.
	* parse.c (decode_statement): Set attr has_'import_set' for
	the interface declaration of module procedures. Handle a match
	occurring in 'gfc_match_submod_proc' and a match for
	'submodule'.
	(gfc_enclosing_unit): Include the state COMP_SUBMODULE.
	(gfc_ascii_statement): Add END SUBMODULE.
	(accept_statement): Add ST_SUBMODULE.
	(parse_spec): Disallow statement functions in a submodule
	specification part.
	(parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE
	twice each.
	(get_modproc_result): Copy the result symbol of the interface.
	(parse_progunit): Call it.
	(set_syms_host_assoc): Make symbols from the ancestor module
	and submodules use associated, as required by the standard and
	set all private components public. Module procedures 'external'
	attribute bit is reset and the 'used_in_submodule' bit is set.
	(parse_module): If this is a submodule, use the ancestor module
	and submodules. Traverse the namespace, calling
	'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE.
	* parse.h : Add COMP_SUBMODULE.
	* primary.c (match_variable): Add COMP_SUBMODULE.
	* resolve.c (compare_fsyms): New function to compare the dummy
	characteristics of a module procedure with its interface.
	(resolve_fl_procedure): Compare the procedure, result and dummy
	characteristics of a module_procedure with its interface, using
	'compare_fsyms' for the dummy arguments.
	* symbol.c (gfc_add_procedure): Suppress the check for existing
	procedures in the case of a module procedure.
	(gfc_add_explicit_interface): Skip checks that must fail for
	module procedures.
	(gfc_add_type): Allow a new type to be added to module
	procedures, their results or their dummy arguments.
	(gfc_copy_dummy_sym): New function to generate new dummy args
	and copy the characteristics from the interface.
	* trans-decl.c (gfc_sym_mangled_function_id): Module procedures
	must always have their names mangled as if they are symbols
	coming from a declaration in a module.
	(gfc_get_symbol_decl): Add 'used_in_submodule' to the assert.
	(gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit
	set are set DECL_EXTERNAL as if they were use associated.
2015-07-02  Paul Thomas  <pault@gcc.gnu.org>
	PR fortran/52846
	* gfortran.dg/submodule_1.f90: New test
	* gfortran.dg/submodule_2.f90: New test
	* gfortran.dg/submodule_3.f90: New test
	* gfortran.dg/submodule_4.f90: New test
	* gfortran.dg/submodule_5.f90: New test
	* gfortran.dg/submodule_6.f90: New test
	* gfortran.dg/submodule_7.f90: New test
From-SVN: r225354
Paolo Carlini [Thu, 2 Jul 2015 18:54:41 +0000 (18:54 +0000)]
 
re PR preprocessor/53690 ([C++11] \u0000 and \U00000000 are wrongly encoded as U+0001.)
/libcpp
2015-07-02  Paolo Carlini  <paolo.carlini@oracle.com>
	PR c++/53690
	* charset.c (_cpp_valid_ucn): Add cppchar_t * parameter and change
	return type to bool.  Fix encoding of \u0000 and \U00000000 in C++.
	(convert_ucn): Adjust call.
	* lex.c (forms_identifier_p): Likewise.
	* internal.h (_cpp_valid_ucn): Adjust declaration.
/gcc/testsuite
2015-07-02  Paolo Carlini  <paolo.carlini@oracle.com>
	PR c++/53690
	* g++.dg/cpp/pr53690.C: New.
From-SVN: r225353
Bill Schmidt [Thu, 2 Jul 2015 18:30:35 +0000 (18:30 +0000)]
 
rs6000-builtin.def (CMPGE_16QI): New built-in definition.
[gcc]
2015-07-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	* config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
	definition.
	(CMPGE_8HI): Likewise.
	(CMPGE_4SI): Likewise.
	(CMPGE_2DI): Likewise.
	(CMPGE_U16QI): Likewise.
	(CMPGE_U8HI): Likewise.
	(CMPGE_U4SI): Likewise.
	(CMPGE_U2DI): Likewise.
	(CMPLE_16QI): Likewise.
	(CMPLE_8HI): Likewise.
	(CMPLE_4SI): Likewise.
	(CMPLE_2DI): Likewise.
	(CMPLE_U16QI): Likewise.
	(CMPLE_U8HI): Likewise.
	(CMPLE_U4SI): Likewise.
	(CMPLE_U2DI): Likewise.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
	overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
	ALTIVEC_BUILTIN_VEC_CMPLE.
	* config/rs6000/vector.md (vector_ge<mode>): Restrict to
	floating-point vector modes.
	(vector_nlt<mode>): New define_expand.
	(vector_nltu<mode>): Likewise.
	(vector_ngt<mode>): Likewise.
	(vector_ngtu<mode>): Likewise.
[gcc/testsuite]
2015-07-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	* gcc.target/powerpc/vec-cmp.c: New test.
From-SVN: r225351
Steven G. Kargl [Thu, 2 Jul 2015 17:29:04 +0000 (17:29 +0000)]
 
re PR fortran/56520 (Syntax error causes misleading message: "Invalid character in name")
2015-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>
	PR fortran/56520
	* match.c (gfc_match_name): Special case unary minus and plus.
2015-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>
	PR fortran/56520
	* gfortran.dg/pr56520.f90: New test.
From-SVN: r225349
Steven G. Kargl [Thu, 2 Jul 2015 17:02:10 +0000 (17:02 +0000)]
 
re PR fortran/66545 (ICE on using undefined parameter/variable values)
2015-07-02  Steven G. Kargl   <kargl@gcc.gnu.org>
	PR fortran/66545
	* primary.c (match_sym_complex_part): Do not dereference NULL pointer.
2015-07-02  Steven G. Kargl   <kargl@gcc.gnu.org>
	PR fortran/66545
	* gfortran.dg/pr66545_1.f90: New test.
	* gfortran.dg/pr66545_2.f90: New test.
From-SVN: r225348
Segher Boessenkool [Thu, 2 Jul 2015 16:27:11 +0000 (18:27 +0200)]
 
re PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32))
	PR rtl-optimization/66706
	* combine.c (make_compound_operation): If an AND of SUBREG of
	LSHIFTRT does not simplify, see if just the AND of SUBREG does.
From-SVN: r225344
Joseph Myers [Thu, 2 Jul 2015 12:04:27 +0000 (13:04 +0100)]
 
Regenerate .pot files.
gcc/po:
	* gcc.pot: Regenerate.
libcpp/po:
	* cpplib.pot: Regenerate.
From-SVN: r225313
Alan Lawrence [Thu, 2 Jul 2015 11:47:31 +0000 (11:47 +0000)]
 
tree-pass.h (make_pass_ch_vect): New.
gcc/:
	* tree-pass.h (make_pass_ch_vect): New.
	* passes.def: Add pass_ch_vect just before pass_if_conversion.
	* tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
	pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
	make_pass_ch_vect): New.
	(pass_ch): Extend ch_base.
	(pass_ch::execute): Move all but loop_optimizer_init/finalize to...
	(ch_base::copy_headers): ...here.
gcc/testsuite/:
	* gcc.dg/vect/vect-strided-a-u16-i4.c (main1): Narrow scope of x,y,z,w.
	* gcc.dg/vect/vect-ifcvt-11.c: New testcase.
From-SVN: r225311
Richard Biener [Thu, 2 Jul 2015 11:33:16 +0000 (11:33 +0000)]
 
builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
2015-07-02  Richard Biener  <rguenther@suse.de>
	* builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
	* fold-const.c (get_pointer_modulus_and_residue): Remove.
	(fold_binary_loc): Implement (T)ptr & CST in terms of
	get_pointer_alignment_1.
	* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
	Make sure to build the alignment test on a SSA name without
	final alignment info valid only after the prologue.
From-SVN: r225310
Hans-Peter Nilsson [Thu, 2 Jul 2015 11:25:04 +0000 (11:25 +0000)]
 
cris.md ("epilogue"): Remove condition.
	* config/cris/cris.md ("epilogue"): Remove condition.
	("prologue"): Ditto.
From-SVN: r225308
Richard Biener [Thu, 2 Jul 2015 08:38:42 +0000 (08:38 +0000)]
 
re PR tree-optimization/66719 (gcc.dg/vect/bb-slp-32.c FAILs)
2015-07-02  Richard Biener  <rguenther@suse.de>
	PR testsuite/66719
	* gcc.dg/vect/bb-slp-32.c: Re-add XFAIL for targets not supporting
	unaligned loads.
From-SVN: r225303