Commit Graph

30145 Commits

Author SHA1 Message Date
Jakub Jelinek f829242273 re PR fortran/80918 (Assumed size whole array rejected in depend clause)
PR fortran/80918
	* openmp.c (resolve_omp_clauses): Fix a typo.

	* gfortran.dg/gomp/pr80918.f90: New test.

From-SVN: r248813
2017-06-02 09:10:10 +02:00
Martin Jambor 7a928bc1d7 [PR 80293] Dont totally-scalarize char arrays
2017-05-31  Martin Jambor  <mjambor@suse.cz>

        Backport from mainline
        2017-04-24  Martin Jambor  <mjambor@suse.cz>

        PR tree-optimization/80293
        * tree-sra.c (scalarizable_type_p): New parameter const_decl, make
        char arrays not totally scalarizable if it is false.
        (analyze_all_variable_accesses): Pass correct value in the new
        parameter.  Add a statistics counter.

testsuite/
        * g++.dg/tree-ssa/pr80293.C: New test.

From-SVN: r248724
2017-05-31 10:45:23 +02:00
Andreas Krebbel 8de0f875d0 S/390: Fix PR80725.
gcc/ChangeLog:

2017-05-29  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	Backport from mainline
	2017-05-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/80725
	* config/s390/s390.c (s390_check_qrst_address): Check incoming
	address against address_operand predicate.
	* config/s390/s390.md ("*indirect_jump"): Swap alternatives.

gcc/testsuite/ChangeLog:

2017-05-29  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	Backport from mainline
	2017-05-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* gcc.target/s390/pr80725.c: New test.

From-SVN: r248557
2017-05-29 07:54:13 +00:00
Marek Polacek 015cf5d1d1 re PR sanitizer/80659 (-fsanitize=address evokes ICE in in gimplify_switch_expr)
PR sanitizer/80659
	* c-decl.c (build_compound_literal): Set DECL_ARTIFICIAL and
	DECL_IGNORED_P even for non-static compound literals.

	* gcc.dg/asan/pr80659.c: New test.

From-SVN: r248491
2017-05-26 11:17:34 +00:00
Marek Polacek 9e2248e6d3 re PR sanitizer/80875 (UBSAN: compile time crash in fold_binary_loc at fold-const.c:9817)
PR sanitizer/80875
	* fold-const.c (fold_binary_loc) <case MULT_EXPR>: Check if OP1
	can be negated.

	* c-c++-common/ubsan/pr80875.c: New test.

From-SVN: r248490
2017-05-26 11:15:37 +00:00
Michael Meissner e722c0f728 backport: re PR target/80510 (Optimize Power7/power8 Altivec load/stores)
[gcc]
2017-05-25  Michael Meissner  <meissner@linux.vnet.ibm.com>

	Backport from trunk
	2017-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/80510
	* config/rs6000/predicates.md (simple_offsettable_mem_operand):
	New predicate.

	* config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator.
	(define_peephole2 for Altivec d-form load): Add peepholes to catch
	cases where the register allocator uses a move and an offsettable
	memory operation to/from a FPR register on ISA 2.06/2.07.
	(define_peephole2 for Altivec d-form store): Likewise.

	Backport from trunk
	2017-05-09  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/68163
	* config/rs6000/rs6000.md (f32_lr): Delete mode attributes that
	are now unused after splitting mov{sf,sd}_hardfloat.
	(f32_lr2): Likewise.
	(f32_lm): Likewise.
	(f32_lm2): Likewise.
	(f32_li): Likewise.
	(f32_li2): Likewise.
	(f32_lv): Likewise.
	(f32_sr): Likewise.
	(f32_sr2): Likewise.
	(f32_sm): Likewise.
	(f32_sm2): Likewise.
	(f32_si): Likewise.
	(f32_si2): Likewise.
	(f32_sv): Likewise.
	(f32_dm): Likewise.
	(f32_vsx): Likewise.
	(f32_av): Likewise.
	(mov<mode>_hardfloat): Split into separate movsf and movsd pieces.
	For movsf, order stores so the VSX stores occur before the GPR
	store which encourages the register allocator to use a traditional
	FPR instead of a GPR.  For movsd, order the stores so that the GPR
	store comes before the VSX stores to allow the power6 to work.
	This is due to the power6 not having a 32-bit integer store
	instruction from a FPR.
	(movsf_hardfloat): Likewise.
	(movsd_hardfloat): Likewise.

[gcc/testsuite]
2017-05-25  Michael Meissner  <meissner@linux.vnet.ibm.com>

	Backport from trunk
	2017-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/80510
	* gcc.target/powerpc/pr80510-1.c: New test.
	* gcc.target/powerpc/pr80510-2.c: Likewise.

	Backport from trunk
	2017-05-09  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/68163
	* gcc.target/powerpc/pr68163.c: New test.

From-SVN: r248480
2017-05-26 01:52:24 +00:00
Jerry DeLisle 90d2abbe74 backport: re PR fortran/80741 ([Regression 7/8] DTIO wrong code causes incorrect behaviour of namelist READ)
2017-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backport from trunk
	PR libgfortran/80741
	* transfer.c (finalize_transfer): Reset last_char to 'empty'.
	* file_pos.c (formatted_backspace): Likewise.
	(st_endfile): Likewise.
	(st_rewind): Likewise.
	(st_flush): Likewise.

	* trans-io.c (transfer_namelist_element): Change check from
	NULL_TREE to null_pointer_node.

	* gfortran.dg/read_4.f90: New test.

From-SVN: r248390
2017-05-23 22:05:56 +00:00
Jerry DeLisle 70e971cc61 backport: re PR fortran/80333 (Namelist dtio write of array of class does not traverse the array)
2017-05-23  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk
	PR fortran/80333
	* trans-io.c (nml_get_addr_expr): If we are dealing with class
	type data set tmp tree to get that address.
	(transfer_namelist_element): Set the array spec to point to the
	the class data.

	* gfortran.dg/dtio_30.f03: New test.

	* list_read.c (nml_read_obj): Compute pointer into class/type
	arrays from the nl->dim information. Update it for each iteration
	of the loop for the given object.

From-SVN: r248388
2017-05-23 21:39:41 +00:00
Sheldon Lobo 112eba68ad backport: sparc.c (sparc_option_override): Set function alignment for -mcpu=niagara7 to 64 to match the I$ line.
Backport from mainline
	2017-05-18  Sheldon Lobo  <sheldon.lobo@oracle.com>

	* config/sparc/sparc.c (sparc_option_override): Set function
	alignment for -mcpu=niagara7 to 64 to match the I$ line.
	* config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch
	latency to 1.
	* config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch
	latency to 2.
	* config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo.

	Backport from mainline
	2017-05-18  Sheldon Lobo  <sheldon.lobo@oracle.com>

	* gcc.target/sparc/niagara7-align.c: New test.

From-SVN: r248380
2017-05-23 18:39:44 +00:00
Bill Schmidt 69c3fc333a backport: p8-vec-xl-xst.c: Fix target string to LE-only.
2017-05-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	Backport from mainline
	2017-05-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/p8-vec-xl-xst.c: Fix target string to
	LE-only.

From-SVN: r248349
2017-05-22 19:47:43 +00:00
Eric Botcazou 3e193b8b8f decl.c (gnat_to_gnu_entity): Skip regular processing for Itypes that are E_Access_Subtype.
* gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing
	for Itypes that are E_Access_Subtype.
	<E_Access_Subtype>: Use the DECL of the base type directly.

From-SVN: r248324
2017-05-22 09:39:46 +00:00
Uros Bizjak a40583fba8 backport: re PR target/80799 (x86-32 bits generates MMX without EMMS)
Backport from mainline
	2017-05-18  Uros Bizjak  <ubizjak@gmail.com>

	PR target/80799
	* config/i386/mmx.md (*mov<mode>_internal): Enable
	alternatives 11, 12, 13 and 14 also for 32bit targets.
	Remove alternatives 15, 16, 17 and 18.
	* config/i386/sse.md (vec_concatv2di): Change
	alternative (!x, *y) to (x, ?!*Yn).

testsuite/ChangeLog:

	Backport from mainline
	2017-05-18  Uros Bizjak  <ubizjak@gmail.com>

	PR target/80799
	* g++.dg/other/i386-11.C: New test.

From-SVN: r248284
2017-05-19 16:09:45 +02:00
Jerry DeLisle 6b8977c377 backport: re PR libfortran/80727 (Crash of runtime gfortran library during integer transformation)
2017-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backport from trunk
	PR libgfortran/80727
	* transfer.c (read_sf_internal): Remove bogus code to detect EOR.
	(read_block_form): For internal units, generate EOR if no more
	bytes left in unit and we are trying to read with ADVANCE='NO'.

	* gfortran.dg/read_3.f90: New test.

From-SVN: r248167
2017-05-17 20:00:53 +00:00
Jerry DeLisle d96f3d3658 backport: re PR fortran/78659 ([F03] Spurious "requires DTIO" reported against namelist statement)
2017-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backport from trunk
	PR fortran/78659
	* io.c (dtio_procs_present): Add new function to check for DTIO
	procedures relative to I/O statement READ or WRITE.
	(gfc_resolve_dt): Add namelist checks using the new function.
	* resolve.c (dtio_procs_present): Remove function and related
	namelist checks. (resolve_fl_namelist): Add check specific to
	Fortran 95 restriction on namelist objects.

	* gfortran.dg/namelist_91.f90: New test.
	* gfortran.dg/namelist_92.f90: New test.
	* gfortran.dg/namelist_93.f90: New test.
	* gfortran.dg/namelist_94.f90: New test.

From-SVN: r248166
2017-05-17 18:09:48 +00:00
Steven G. Kargl 4fc88affeb re PR fortran/80752 (ICE with wrong type initialization)
2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/80752
	* expr.c (gfc_generate_initializer):  If type conversion fails,
	check for error and return NULL.

2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/80752
	gfortran.dg/pr80752.f90: New test.

From-SVN: r248076
2017-05-15 20:43:25 +00:00
Uros Bizjak 52e00e00b2 backport: re PR target/80706 (peephole2 uses uninitialized stack variables on i686)
Backport from mainline
	2017-05-11  Uros Bizjak  <ubizjak@gmail.com>

	PR target/80706
	* config/i386/sync.md (UNSPEC_LDX_ATOMIC): New unspec.
	(UNSPEC_STX_ATOMIC): Ditto.
	(loaddi_via_sse): New insn.
	(storedi_via_sse): Ditto.
	(atomic_loaddi_fpu): Emit loaddi_via_sse and storedi_via_sse.
	Update corresponding peephole2 patterns.
	(atomic_storedi_fpu): Ditto.

testsuite/ChangeLog:

	Backport from mainline
	2017-05-11  Uros Bizjak  <ubizjak@gmail.com>
		    Jakub Jelinek  <jakub@redhat.com>

	PR target/80706
	* gcc.target/i386/pr80706.c: New test.

	2017-05-11  Uros Bizjak  <ubizjak@gmail.com>

	* gcc.target/i386/pr22152.c: Fix undefined testcase.
	Remove unnecessary loop.  Run on 32-bit targets only.

From-SVN: r248032
2017-05-14 14:49:55 +02:00
Bill Schmidt 7b5a39f069 backport: rs6000.c (rs6000_vect_nonmem): New static var.
[gcc]

2017-05-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	Backport from mainline
	2017-05-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_vect_nonmem): New static var.
	(rs6000_init_cost): Initialize rs6000_vect_nonmem.
	(rs6000_add_stmt_cost): Update rs6000_vect_nonmem.
	(rs6000_finish_cost): Avoid vectorizing simple copy loops with
	VF=2 that require versioning.

[gcc/testsuite]

2017-05-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	Backport from mainline
	2017-05-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/versioned-copy-loop.c: New file.

From-SVN: r248010
2017-05-13 21:35:44 +00:00
Bill Schmidt 26c3c343d7 backport: rs6000.c (altivec_init_builtins): Define POWER8 built-ins for vec_xl and vec_xst with short and char pointer...
[gcc]

2017-05-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	Backport from mainline
	2017-05-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8
	built-ins for vec_xl and vec_xst with short and char pointer
	arguments.

[gcc/testsuite]

2017-05-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	Backport from mainline
	2017-05-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/p8-vec-xl-xst.c: New file.

From-SVN: r247999
2017-05-12 21:50:51 +00:00
Michael Meissner 560e3ca7cd backport: re PR target/79038 (Improve PowerPC ISA 3.0 conversion between integers and hardware _Float128)
[gcc]
2017-05-09  Michael Meissner  <meissner@linux.vnet.ibm.com>

	Back port from mainline
	2017-05-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/79038
	PR target/79202
	PR target/79203
	* config/rs6000/rs6000.md (u code attribute): Add FIX and
	UNSIGNED_FIX.
	(extendsi<mode>2): Add support for doing sign extension via
	VUPKHSW and XXPERMDI if the value is in Altivec registers and we
	don't have ISA 3.0 instructions.
	(extendsi<mode>2 splitter): Likewise.
	(fix_trunc<mode>si2): If we are at ISA 2.07 (VSX small integer),
	generate the normal insns since SImode can now go in vector
	registers.  Disallow the special UNSPECs needed for previous
	machines to hide SImode being used.  Add new insns
	fctiw{,w}_<mode>_smallint if SImode can go in vector registers.
	(fix_trunc<mode>si2_stfiwx): Likewise.
	(fix_trunc<mode>si2_internal): Likewise.
	(fixuns_trunc<mode>si2): Likewise.
	(fixuns_trunc<mode>si2_stfiwx): Likewise.
	(fctiw<u>z_<mode>_smallint): Likewise.
	(fctiw<u>z_<mode>_mem): New combiner pattern to prevent conversion
	of floating point to 32-bit integer from doing a direct move to
	the GPR registers to do a store.
	(fctiwz_<mode>): Break long line.

[gcc/testsuite]
2017-05-09  Michael Meissner  <meissner@linux.vnet.ibm.com>

	Back port from mainline
	2017-05-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/79038
	PR target/79202
	PR target/79203
	* gcc.target/powerpc/ppc-round3.c: New test.
	* gcc.target/powerpc/ppc-round2.c: Update expected code.

From-SVN: r247820
2017-05-09 23:49:37 +00:00
Janus Weil 533a17774d backport: re PR fortran/80121 (Memory leak with derived-type intent(out) argument)
2017-05-05  Janus Weil  <janus@gcc.gnu.org>

	Backport from trunk
	PR fortran/80121
	* trans-expr.c (gfc_conv_procedure_call): Deallocate the components
	of allocatable intent(out) arguments.


2017-05-05  Janus Weil  <janus@gcc.gnu.org>

	Backport from trunk
	PR fortran/80121
	* gfortran.dg/intent_out_9.f90: New test case.

From-SVN: r247662
2017-05-05 23:00:53 +02:00
Janus Weil 52637de8cc backport: re PR fortran/80392 ([OOP] ICE with allocatable polymorphic function result in a procedure pointer component)
2017-05-05  Janus Weil  <janus@gcc.gnu.org>

	Backport from trunk
	PR fortran/80392
	* trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
	building a derived type that includes a procedure pointer component
	with a polymorphic result.

2017-05-05  Janus Weil  <janus@gcc.gnu.org>

	Backport from trunk
	PR fortran/80392
	* gfortran.dg/proc_ptr_comp_49.f90: New test case.

From-SVN: r247655
2017-05-05 22:09:20 +02:00
Jerry DeLisle 9bf7f47385 backport: re PR fortran/80484 (Three syntax errors involving derived-type I/O)
2017-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backport from trunk.
	PR fortran/80484
	* io.c (format_lex): Check for '/' and set token to FMT_SLASH.
	(check_format): Move FMT_DT checking code to data_desc section.
	* module.c (gfc_match_use): Include the case of INTERFACE_DTIO.
	Backport from mainline
	PR fortran/80484
	* gfortran.dg/dtio_29.f03: New test.

From-SVN: r247615
2017-05-04 18:45:50 +00:00
Richard Biener 6987b50fcc backport: [multiple changes]
2017-05-03  Richard Biener  <rguenther@suse.de>

	Backport from mainline
	2017-04-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80453
	* tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members.
	* tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs
	from the conditions.
	(vn_phi_eq): Pass them down.
	(vn_phi_lookup): Record them.
	(vn_phi_insert): Likewise.

	2017-04-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80492
	* alias.c (compare_base_decls): Handle registers with asm
	specification conservatively.

	* gcc.dg/pr80492.c: New testcase.

	2017-04-27  Richard Biener  <rguenther@suse.de>

	PR middle-end/80539
	* tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not
	being in loop-closed SSA form conservatively.
	(chrec_fold_multiply_poly_poly): Likewise.

	* gcc.dg/torture/pr80539.c: New testcase.

From-SVN: r247545
2017-05-03 11:22:34 +00:00
Jakub Jelinek 4041b42a3b backport: re PR c/80468 (ICE on invalid AVX512 code with -m32)
Backported from mainline
	2017-04-21  Jakub Jelinek  <jakub@redhat.com>

	PR c/80468
	* c-decl.c (finish_declspecs) <case cts_int_n>: If int_n_idx is not
	enabled, set specs->type to integer_type_node.

	* gcc.dg/pr80468.c: New test.

From-SVN: r247534
2017-05-03 08:45:29 +02:00
GCC Administrator 303f81ad7e Update ChangeLog and version files for release
From-SVN: r247493
2017-05-02 12:42:24 +00:00
Richard Biener cdd7941640 re PR tree-optimization/80591 (AArch64 kernel miscompilation starting with r246809)
2017-05-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80591
	Revert
	2017-04-10  Richard Biener  <rguenther@suse.de>

	* tree-ssa-structalias.c (find_func_aliases): Properly handle
	asm inputs.

	* gcc.dg/torture/pr80591.c: New testcase.

From-SVN: r247487
2017-05-02 11:26:25 +00:00
Jakub Jelinek a240da2d3a re PR c++/80534 (7.1 RC - internal compiler error: in finish_member_declaration, at cp/semantics.c:2963)
PR c++/80534
	* tree.c (type_cache_hasher::equal): Only compare
	TYPE_TYPELESS_STORAGE flag on non-aggregate element types.
	(build_array_type_1): Only hash TYPE_TYPELESS_STORAGE flag on
	non-aggregate element types.
	* tree.h (TYPE_TYPELESS_STORAGE): Fix comment typo, add more details
	about the flag on ARRAY_TYPEs in the comment, formatting fix.
c-family/
	* c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
	flag on non-aggregate element types.
testsuite/
	* g++.dg/other/pr80534-1.C: New test.
	* g++.dg/other/pr80534-2.C: New test.

From-SVN: r247337
2017-04-27 15:47:54 +02:00
Jakub Jelinek a22d92795b re PR target/77728 (Miscompilation multiple vector iteration on ARM)
PR target/77728
	* config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): Remove.
	(aarch64_function_arg_alignment): Return unsigned int again, but still
	ignore TYPE_FIELDS chain decls other than FIELD_DECLs.
	(aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
	Don't emit -Wpsabi note.
	(aarch64_function_arg_boundary): Likewise.
	(aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
	caller.
testsuite/
	* g++.dg/abi/pr77728-2.C: Don't expect -Wpsabi notes.

From-SVN: r247293
2017-04-27 09:14:24 +02:00
Martin Sebor 8550e48ac4 PR tree-optimization/80497 - ICE at -O1 and above on valid code on x86_64-linux-gnu in tree_to_uhwi
gcc/ChangeLog:

	PR tree-optimization/80497
	* gimple-ssa-sprintf.c (get_int_range): Avoid assuming all integer
	constants are representable in HOST_WIDE_INT.
	(parse_directive): Ditto.

gcc/testsuite/ChangeLog:

	PR tree-optimization/80497
	* gcc.dg/tree-ssa/builtin-sprintf-warn-17.c: New test.

From-SVN: r247264
2017-04-25 11:58:32 -06:00
Marek Polacek 8ef2085d4c re PR sanitizer/80349 (UBSAN: compile time crash with "type mismatch in binary expression" message)
PR sanitizer/80349
	* fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
	first argument to type.

	* g++.dg/ubsan/pr80349-2.C: New test.

From-SVN: r247260
2017-04-25 17:02:27 +00:00
Ramana Radhakrishnan 6bcf239ec5 re PR target/77728 (Miscompilation multiple vector iteration on ARM)
PR target/77728
	* config/arm/arm.c: Include gimple.h.
	(aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align
	returns negative, increment ncrn only if it returned positive.
	(arm_needs_doubleword_align): Return int instead of bool,
	ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain
	members, but if there is any such non-FIELD_DECL
	> PARM_BOUNDARY aligned decl, return -1 instead of false.
	(arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align
	returns negative, increment nregs only if it returned positive.
	(arm_setup_incoming_varargs): Likewise.
	(arm_function_arg_boundary): Emit -Wpsabi note if
	arm_needs_doubleword_align returns negative, return
	DOUBLEWORD_ALIGNMENT only if it returned positive.
testsuite/
	* g++.dg/abi/pr77728-1.C: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r247259
2017-04-25 18:47:32 +02:00
Bill Seurer d3de3474fc [PATCH, rs6000] pr80482 Relax vector builtin parameter checks
PR target/80482
Backport from mainline

This patch changes the parameter testing for powerpc vector builtins to relax
the existing requirement that the parameters be identical to instead that they
be compatible.  This allows for mixing parameters with differing qualified
(const, volatile, etc.) types.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80482 for more information.

Bootstrapped and tested on powerpc64le-unknown-linux-gnu and
powerpc64be-unknown-linux-gnu with no regressions.  Is this ok for trunk?

[gcc]

2017-04-25  Bill Seurer  <seurer@linux.vnet.ibm.com>

	Backport from mainline
	PR target/80482
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Change
	type checks to test for compatibility instead of equality.

[gcc/testsuite]

2017-04-25  Bill Seurer  <seurer@linux.vnet.ibm.com>

	Backport from mainline
	PR target/80482
	* gcc.target/powerpc/vec-constvolatile.c: New test.

From-SVN: r247256
2017-04-25 16:16:13 +00:00
Ramana Radhakrishnan fd8de490a7 re PR target/77728 (Miscompilation multiple vector iteration on ARM)
PR target/77728
	* config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): New
	type.
	(aarch64_function_arg_alignment): Return aarch64_fn_arg_alignment
	struct.  Ignore DECL_ALIGN of decls other than FIELD_DECL for
	the alignment computation, but return their maximum in warn_alignment.
	(aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
	Emit a -Wpsabi note if warn_alignment is 16 bytes, but alignment
	is smaller.
	(aarch64_function_arg_boundary): Likewise.  Simplify using MIN/MAX.
	(aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
	caller.
testsuite/
	* g++.dg/abi/pr77728-2.C: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r247241
2017-04-25 15:56:10 +02:00
Andreas Krebbel 1ab303de18 S/390: PR80464: Split MEM->GPR vector moves
We do this already for TImode values but it was missing for vector
modes.

gcc/ChangeLog:

2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	Backport from mainline
	2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/80464
	* config/s390/vector.md: Split MEM->GPR vector moves for
	non-s_operand addresses.

gcc/testsuite/ChangeLog:

2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	Backport from mainline
	2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/80464
	* gfortran.fortran-torture/compile/pr80464.f90: New test.

From-SVN: r247191
2017-04-25 11:18:52 +00:00
Andreas Krebbel e898f963a6 S/390: PR79895: Fix TImode constant handling
The P constraint letter is supposed to match every constant which is
acceptable during reload.  However, constraints do not appear to be
able to handle const_wide_int yet.  It works with predicates so the
alternative is modelled with a new predicate now.

gcc/ChangeLog:

2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	Backport from mainline
	2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/79895
	* config/s390/predicates.md (reload_const_wide_int_operand): New
	predicate.
	* config/s390/s390.md ("movti"): Remove d/P alternative.
	("movti_bigconst"): New pattern definition.

gcc/testsuite/ChangeLog:

2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	Backport from mainline
	2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/79895
	* gcc.target/s390/pr79895.c: New test.

From-SVN: r247190
2017-04-25 11:15:44 +00:00
Dominik Vogt d2780ff270 S/390: PR80080: Optimize atomic patterns.
The attached patch optimizes the atomic_exchange and atomic_compare
patterns on s390 and s390x (mostly limited to SImode and DImode).
Among general optimizaation, the changes fix most of the problems
reported in PR 80080:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80080

gcc/ChangeLog:

2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	Backport from mainline
	2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	PR target/80080
	* s390-protos.h (s390_expand_cs_hqi): Removed.
	(s390_expand_cs, s390_expand_atomic_exchange_tdsi): New prototypes.
	* config/s390/s390.c (s390_emit_compare_and_swap): Handle all integer
	modes as well as CCZ1mode and CCZmode.
	(s390_expand_atomic_exchange_tdsi, s390_expand_atomic): Adapt to new
	signature of s390_emit_compare_and_swap.
	(s390_expand_cs_hqi): Likewise, make static.
	(s390_expand_cs_tdsi): Generate an explicit compare before trying
	compare-and-swap, in some cases.
	(s390_expand_cs): Wrapper function.
	(s390_expand_atomic_exchange_tdsi): New backend specific expander for
	atomic_exchange.
	(s390_match_ccmode_set): Allow CCZmode <-> CCZ1 mode.
	* config/s390/s390.md ("atomic_compare_and_swap<mode>"): Merge the
	patterns for small and large integers.  Forbid symref memory operands.
	Move expander to s390.c.  Require cc register.
	("atomic_compare_and_swap<DGPR:mode><CCZZ1:mode>_internal")
	("*atomic_compare_and_swap<TDI:mode><CCZZ1:mode>_1")
	("*atomic_compare_and_swapdi<CCZZ1:mode>_2")
	("*atomic_compare_and_swapsi<CCZZ1:mode>_3"): Use s_operand to forbid
	symref memory operands.  Remove CC mode and call s390_match_ccmode
	instead.
	("atomic_exchange<mode>"): Allow and implement all integer modes.

gcc/testsuite/ChangeLog:

2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	Backport from mainline
	2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	PR target/80080
	* gcc.target/s390/md/atomic_compare_exchange-1.c: New test.
	* gcc.target/s390/md/atomic_compare_exchange-1.inc: New test.
	* gcc.target/s390/md/atomic_exchange-1.inc: New test.

From-SVN: r247189
2017-04-25 11:11:48 +00:00
Jakub Jelinek 31a66be10f re PR rtl-optimization/80501 (Wrong code w/ a signed char, a shift, and a conversion to int)
PR rtl-optimization/80501
	* combine.c (make_compound_operation_int): Set subreg_code to SET
	even for AND with mask of the sign bit of mode.

	* gcc.c-torture/execute/pr80501.c: New test.

From-SVN: r247129
2017-04-25 09:29:21 +02:00
Jakub Jelinek 75092192da re PR rtl-optimization/80500 (ICE: internal consistency failure (error: invalid rtl sharing found in the insn))
PR rtl-optimization/80500
	* loop-unroll.c (combine_var_copies_in_loop_exit): Call copy_rtx on
	sum's initial value.

	* gcc.dg/pr80500.c: New test.

From-SVN: r247127
2017-04-25 09:27:47 +02:00
Martin Liska 84341de847 Subject: Backport r247097
2017-04-24  Martin Liska  <mliska@suse.cz>

	Backport from mainline
	2017-04-24  Jan Hubicka  <hubicka@ucw.cz>

	PR middle-end/79931
	* ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE.
2017-04-24  Martin Liska  <mliska@suse.cz>

	Backport from mainline
	2017-04-24  Martin Liska  <mliska@suse.cz>

	PR middle-end/79931
	* g++.dg/ipa/pr79931.C: New test.

From-SVN: r247102
2017-04-24 14:48:43 +00:00
Eric Botcazou 989ac84fcf re PR tree-optimization/80426 (wrong manipulation of range based on INT_MIN)
PR tree-optimization/80426
	* gcc.c-torture/execute/20170429-1.c: Rename into...
	* gcc.c-torture/execute/20170419-1.c: ...this.

From-SVN: r247047
2017-04-21 08:08:03 +00:00
Jonathan Wakely e9dcea2ae3 PR c++/80473 allow suppressing notes about over-aligned new
Backport from mainline r247033
gcc/cp:

	PR c++/80473
	* init.c (build_new_1): Suppress notes about over-aligned new when
	the warning is suppressed.

gcc/testsuite:

	PR c++/80473
	* g++.dg/diagnostic/pr80473.C: New test.

From-SVN: r247035
2017-04-20 19:36:27 +01:00
Jakub Jelinek 8a59d4660c re PR middle-end/80423 (GC related -fcompare-debug failure)
PR middle-end/80423
	* tree.h (build_array_type): Add typeless_storage default argument.
	* tree.c (type_cache_hasher::equal): Also compare
	TYPE_TYPELESS_STORAGE flag for ARRAY_TYPEs.
	(build_array_type): Add typeless_storage argument, set
	TYPE_TYPELESS_STORAGE to it, if shared also hash it, and pass to
	recursive call.
	(build_nonshared_array_type): Adjust build_array_type_1 caller.
	(build_array_type): Likewise.  Add typeless_storage argument.
c-family/
	* c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
cp/
	* tree.c (build_cplus_array_type): Call build_array_type
	with the intended TYPE_TYPELESS_STORAGE flag value, instead
	of calling build_array_type and modifying later TYPE_TYPELESS_STORAGE
	on the shared type.
testsuite/
	* g++.dg/other/pr80423.C: New test.

From-SVN: r247014
2017-04-20 11:18:02 +02:00
Senthil Kumar Selvaraj a4bb5c57c9 Skip pr80170.c for non-ptr32plus targets
The testcase uses 32 bit or bigger pointer offsets, and
that triggers an ptrofftype_p assert in tree.c.

gcc/testsuite

2017-04-19  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* gcc.dg/pr80170.c: Require ptr32plus.

From-SVN: r247011
2017-04-20 05:46:02 +00:00
Eric Botcazou fe1e7d0e9b re PR tree-optimization/80426 (wrong manipulation of range based on INT_MIN)
PR tree-optimization/80426
	* tree-vrp.c (extract_range_from_binary_expr_1): For an additive
	operation on symbolic operands, also compute the overflow for the
	invariant part when the operation degenerates into a negation.

	PR tree-optimization/80426
	* gcc.c-torture/execute/20170419-1.c: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r247007
2017-04-19 13:27:09 -06:00
Jakub Jelinek f19e6a9c0b re PR debug/80461 (ICE in modified_type_die, at dwarf2out.c:12566)
PR debug/80461
	* dwarf2out.c (modified_type_die, gen_type_die_with_usage):
	Check for t with zero TYPE_QUALS_NO_ADDR_SPACE.

	* g++.dg/debug/pr80461.C: New test.

From-SVN: r247002
2017-04-19 18:32:02 +02:00
Jakub Jelinek 541035a63b re PR c++/80459 (c-c++-common/opaque-vector.c FAILs)
PR c++/80459
	* c-c++-common/opaque-vector.c (SIZEOF_MAXINT): Define.
	(f): Don't test long double vectors if __SIZEOF_LONG_DOUBLE__
	is not power of 2, or is more than 16 or more than SIZEOF_MAXINT.

From-SVN: r247001
2017-04-19 18:31:11 +02:00
Jakub Jelinek 48d811eb1c re PR debug/80436 (-fcompare-debug failure)
PR debug/80436
	* tree-ssa-loop-manip.c (find_uses_to_rename_def): Ignore debug uses.

	* g++.dg/opt/pr80436.C: New test.

From-SVN: r247000
2017-04-19 18:29:45 +02:00
Senthil Kumar Selvaraj 5249994efa Fix broken gcc.dg/torture/pr80341.c for avr
This patch skips pr80341.c for targets with int size less than 32 bits.
The assertion in the testcase holds only if sizeof(int) > sizeof(short), 
which isn't true for smaller int size targets like the avr.

gcc/testsuite

2017-04-19  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* gcc.dg/torture/pr80341.c: Require int32plus.

From-SVN: r246994
2017-04-19 11:27:05 +00:00
Eric Botcazou a16c8d8b61 predicates.md (input_operand): Add comment.
* config/sparc/predicates.md (input_operand): Add comment.  Return
	true for any memory operand when LRA is in progress.
	* config/sparc/sparc.c (sparc_expand_move): Minor formatting fix.

Co-Authored-By: Jeff Law <law@redhat.com>
Co-Authored-By: Vladimir Makarov <vmakarov@redhat.com>

From-SVN: r246989
2017-04-19 08:05:36 +00:00
Tom de Vries 6143c99823 Use relative line number for subsequent dg directives
2017-04-19  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/80221
	* c-c++-common/Wimplicit-fallthrough-6.c: Use relative line number for
	subsequent dg directives.
	* c-c++-common/Wimplicit-fallthrough-7.c: Same.
	* c-c++-common/Wint-to-pointer-cast-3.c: Same.
	* c-c++-common/attr-fallthrough-2.c: Same.
	* c-c++-common/cilk-plus/AN/parser_errors2.c: Same.
	* c-c++-common/cilk-plus/AN/parser_errors3.c: Same.
	* c-c++-common/cilk-plus/AN/pr61191.c: Same.
	* c-c++-common/cilk-plus/AN/pr61963.c: Same.
	* c-c++-common/cilk-plus/AN/pr62008.c: Same.
	* c-c++-common/cilk-plus/AN/rank_mismatch.c: Same.
	* c-c++-common/cilk-plus/CK/cilk_for_errors.c: Same.
	* c-c++-common/cilk-plus/CK/errors.c: Same.
	* c-c++-common/cilk-plus/CK/no_args_error.c: Same.
	* c-c++-common/cilk-plus/PS/clauses1.c: Same.
	* c-c++-common/cilk-plus/SE/vlength_errors.c: Same.
	* c-c++-common/cpp/pr57580.c: Same.
	* c-c++-common/goacc/asyncwait-1.c: Same.
	* c-c++-common/goacc/cache-2.c: Same.
	* c-c++-common/goacc/declare-2.c: Same.
	* c-c++-common/goacc/deviceptr-1.c: Same.
	* c-c++-common/goacc/routine-5.c: Same.
	* c-c++-common/gomp/clauses-2.c: Same.
	* c-c++-common/gomp/ordered-3.c: Same.
	* c-c++-common/gomp/pr67501.c: Same.
	* c-c++-common/pr20000.c: Same.
	* c-c++-common/pr43395.c: Same.
	* c-c++-common/pr49706.c: Same.
	* c-c++-common/pr77624-1.c: Same.
	* c-c++-common/pr77624-2.c: Same.
	* c-c++-common/raw-string-14.c: Same.
	* c-c++-common/raw-string-16.c: Same.
	* c-c++-common/raw-string-3.c: Same.
	* c-c++-common/raw-string-4.c: Same.
	* c-c++-common/raw-string-5.c: Same.
	* c-c++-common/raw-string-6.c: Same.
	* g++.dg/abi/mangle41.C: Same.
	* g++.dg/conversion/nullptr1.C: Same.
	* g++.dg/cpp0x/alias-decl-80296.C: Same.
	* g++.dg/cpp0x/auto27.C: Same.
	* g++.dg/cpp0x/constexpr-98.C: Same.
	* g++.dg/cpp0x/constexpr-diag2.C: Same.
	* g++.dg/cpp0x/diag2.C: Same.
	* g++.dg/cpp0x/lambda/lambda-syntax1.C: Same.
	* g++.dg/cpp0x/nullptr15.C: Same.
	* g++.dg/cpp0x/pr31431-2.C: Same.
	* g++.dg/cpp0x/pr31431.C: Same.
	* g++.dg/cpp0x/pr79118.C: Same.
	* g++.dg/cpp0x/static_assert3.C: Same.
	* g++.dg/cpp0x/temp_default2.C: Same.
	* g++.dg/cpp0x/trailing4.C: Same.
	* g++.dg/cpp0x/variadic-ex10.C: Same.
	* g++.dg/cpp0x/variadic-ex13.C: Same.
	* g++.dg/cpp0x/variadic-ex14.C: Same.
	* g++.dg/cpp0x/variadic-ex3.C: Same.
	* g++.dg/cpp0x/variadic-ex4.C: Same.
	* g++.dg/cpp0x/variadic59.C: Same.
	* g++.dg/cpp0x/vt-37737-2.C: Same.
	* g++.dg/cpp0x/vt-57397-1.C: Same.
	* g++.dg/cpp0x/vt-57397-2.C: Same.
	* g++.dg/cpp1z/constexpr-lambda8.C: Same.
	* g++.dg/cpp1z/gen-attrs1.C: Same.
	* g++.dg/diagnostic/pr71075.C: Same.
	* g++.dg/eh/goto2.C: Same.
	* g++.dg/eh/goto3.C: Same.
	* g++.dg/expr/bitfield4.C: Same.
	* g++.dg/expr/bitfield5.C: Same.
	* g++.dg/expr/bitfield6.C: Same.
	* g++.dg/expr/bool1.C: Same.
	* g++.dg/expr/bool3.C: Same.
	* g++.dg/expr/cond10.C: Same.
	* g++.dg/expr/cond11.C: Same.
	* g++.dg/expr/lval3.C: Same.
	* g++.dg/expr/lval4.C: Same.
	* g++.dg/ext/anon-struct4.C: Same.
	* g++.dg/ext/attrib44.C: Same.
	* g++.dg/ext/builtin3.C: Same.
	* g++.dg/ext/dllimport7.C: Same.
	* g++.dg/ext/label5.C: Same.
	* g++.dg/ext/no-asm-1.C: Same.
	* g++.dg/ext/utf16-4.C: Same.
	* g++.dg/ext/vla2.C: Same.
	* g++.dg/gomp/block-1.C: Same.
	* g++.dg/gomp/block-2.C: Same.
	* g++.dg/gomp/block-3.C: Same.
	* g++.dg/gomp/block-5.C: Same.
	* g++.dg/gomp/linear-2.C: Same.
	* g++.dg/gomp/target-1.C: Same.
	* g++.dg/gomp/target-2.C: Same.
	* g++.dg/gomp/taskgroup-1.C: Same.
	* g++.dg/gomp/teams-1.C: Same.
	* g++.dg/inherit/pure1.C: Same.
	* g++.dg/init/array43.C: Same.
	* g++.dg/init/array46.C: Same.
	* g++.dg/init/const10.C: Same.
	* g++.dg/init/ctor4-1.C: Same.
	* g++.dg/init/ctor4.C: Same.
	* g++.dg/init/new37.C: Same.
	* g++.dg/init/pr25811.C: Same.
	* g++.dg/init/pr29043.C: Same.
	* g++.dg/init/pr29571.C: Same.
	* g++.dg/lookup/duperr1.C: Same.
	* g++.dg/lookup/error1.C: Same.
	* g++.dg/lookup/koenig5.C: Same.
	* g++.dg/lookup/pr77549.C: Same.
	* g++.dg/lookup/suggestions1.C: Same.
	* g++.dg/lookup/using16.C: Same.
	* g++.dg/lookup/using7.C: Same.
	* g++.dg/other/anon-union3.C: Same.
	* g++.dg/other/array2.C: Same.
	* g++.dg/other/error13.C: Same.
	* g++.dg/other/error34.C: Same.
	* g++.dg/overload/builtin1.C: Same.
	* g++.dg/overload/conv-op1.C: Same.
	* g++.dg/overload/error3.C: Same.
	* g++.dg/overload/koenig1.C: Same.
	* g++.dg/overload/operator5.C: Same.
	* g++.dg/overload/template5.C: Same.
	* g++.dg/overload/unknown1.C: Same.
	* g++.dg/overload/using2.C: Same.
	* g++.dg/parse/constructor1.C: Same.
	* g++.dg/parse/crash36.C: Same.
	* g++.dg/parse/crash63.C: Same.
	* g++.dg/parse/error11.C: Same.
	* g++.dg/parse/error12.C: Same.
	* g++.dg/parse/error14.C: Same.
	* g++.dg/parse/error2.C: Same.
	* g++.dg/parse/error21.C: Same.
	* g++.dg/parse/error26.C: Same.
	* g++.dg/parse/error36.C: Same.
	* g++.dg/parse/friend12.C: Same.
	* g++.dg/parse/invalid-op1.C: Same.
	* g++.dg/parse/missing-template1.C: Same.
	* g++.dg/parse/parser-pr28152-2.C: Same.
	* g++.dg/parse/parser-pr28152.C: Same.
	* g++.dg/parse/pr16696-permissive.C: Same.
	* g++.dg/parse/pr16696.C: Same.
	* g++.dg/parse/pr69628.C: Same.
	* g++.dg/parse/ret-type2.C: Same.
	* g++.dg/parse/specialization1.C: Same.
	* g++.dg/parse/template3.C: Same.
	* g++.dg/parse/template9.C: Same.
	* g++.dg/parse/typename11.C: Same.
	* g++.dg/plugin/attribute_plugin-test-1.C: Same.
	* g++.dg/pr45330.C: Same.
	* g++.dg/rtti/typeid6.C: Same.
	* g++.dg/spellcheck-fields.C: Same.
	* g++.dg/spellcheck-typenames.C: Same.
	* g++.dg/tc1/dr108.C: Same.
	* g++.dg/tc1/dr147.C: Same.
	* g++.dg/template/arg7.C: Same.
	* g++.dg/template/conv11.C: Same.
	* g++.dg/template/crash13.C: Same.
	* g++.dg/template/crash55.C: Same.
	* g++.dg/template/dependent-expr5.C: Same.
	* g++.dg/template/error17.C: Same.
	* g++.dg/template/error33.C: Same.
	* g++.dg/template/error4.C: Same.
	* g++.dg/template/error50.C: Same.
	* g++.dg/template/error53.C: Same.
	* g++.dg/template/friend.C: Same.
	* g++.dg/template/func2.C: Same.
	* g++.dg/template/local6.C: Same.
	* g++.dg/template/member5.C: Same.
	* g++.dg/template/meminit1.C: Same.
	* g++.dg/template/nested3.C: Same.
	* g++.dg/template/nontype6.C: Same.
	* g++.dg/template/overload12.C: Same.
	* g++.dg/template/ptrmem8.C: Same.
	* g++.dg/template/qualified-id1.C: Same.
	* g++.dg/template/spec15.C: Same.
	* g++.dg/template/static1.C: Same.
	* g++.dg/template/static10.C: Same.
	* g++.dg/template/static2.C: Same.
	* g++.dg/template/ttp25.C: Same.
	* g++.dg/template/typedef2.C: Same.
	* g++.dg/template/typename2.C: Same.
	* g++.dg/template/unify10.C: Same.
	* g++.dg/template/unify6.C: Same.
	* g++.dg/template/unify7.C: Same.
	* g++.dg/template/unify9.C: Same.
	* g++.dg/template/varmod1.C: Same.
	* g++.dg/ubsan/div-by-zero-1.C: Same.
	* g++.dg/ubsan/pr63956.C: Same.
	* g++.dg/warn/Waddress-1.C: Same.
	* g++.dg/warn/Wconversion2.C: Same.
	* g++.dg/warn/Wnull-conversion-1.C: Same.
	* g++.dg/warn/Wsubobject-linkage-1.C: Same.
	* g++.dg/warn/Wsubobject-linkage-3.C: Same.
	* g++.dg/warn/Wswitch-1.C: Same.
	* g++.dg/warn/Wtype-limits-Wextra.C: Same.
	* g++.dg/warn/Wtype-limits.C: Same.
	* g++.dg/warn/Wunused-parm-5.C: Same.
	* g++.dg/warn/deprecated-6.C: Same.
	* g++.dg/warn/deprecated.C: Same.
	* g++.dg/warn/incomplete1.C: Same.
	* g++.dg/warn/multiple-overflow-warn-1.C: Same.
	* g++.dg/warn/multiple-overflow-warn-2.C: Same.
	* g++.dg/warn/multiple-overflow-warn-3.C: Same.
	* g++.dg/warn/overflow-warn-1.C: Same.
	* g++.dg/warn/overflow-warn-3.C: Same.
	* g++.dg/warn/overflow-warn-4.C: Same.
	* g++.dg/warn/pr12242.C: Same.
	* g++.dg/warn/pr30551-2.C: Same.
	* g++.dg/warn/pr30551.C: Same.
	* g++.old-deja/g++.benjamin/16077.C: Same.
	* g++.old-deja/g++.bob/inherit1.C: Same.
	* g++.old-deja/g++.brendan/crash56.C: Same.
	* g++.old-deja/g++.brendan/template17.C: Same.
	* g++.old-deja/g++.eh/ctor1.C: Same.
	* g++.old-deja/g++.jason/bool5.C: Same.
	* g++.old-deja/g++.jason/cond.C: Same.
	* g++.old-deja/g++.jason/operator.C: Same.
	* g++.old-deja/g++.jason/pmf5.C: Same.
	* g++.old-deja/g++.law/ctors5.C: Same.
	* g++.old-deja/g++.law/missed-error2.C: Same.
	* g++.old-deja/g++.law/operators9.C: Same.
	* g++.old-deja/g++.law/temps1.C: Same.
	* g++.old-deja/g++.mike/for2.C: Same.
	* g++.old-deja/g++.mike/ns5.C: Same.
	* g++.old-deja/g++.mike/ns7.C: Same.
	* g++.old-deja/g++.mike/p10769b.C: Same.
	* g++.old-deja/g++.niklas/t120.C: Same.
	* g++.old-deja/g++.niklas/t121.C: Same.
	* g++.old-deja/g++.ns/koenig5.C: Same.
	* g++.old-deja/g++.oliva/overload1.C: Same.
	* g++.old-deja/g++.other/crash24.C: Same.
	* g++.old-deja/g++.other/crash25.C: Same.
	* g++.old-deja/g++.other/decl5.C: Same.
	* g++.old-deja/g++.other/lineno5.C: Same.
	* g++.old-deja/g++.other/null3.C: Same.
	* g++.old-deja/g++.other/overcnv2.C: Same.
	* g++.old-deja/g++.other/ptrmem7.C: Same.
	* g++.old-deja/g++.other/typename1.C: Same.
	* g++.old-deja/g++.other/vaarg3.C: Same.
	* g++.old-deja/g++.pt/crash10.C: Same.
	* g++.old-deja/g++.pt/crash28.C: Same.
	* g++.old-deja/g++.pt/crash38.C: Same.
	* g++.old-deja/g++.pt/explicit70.C: Same.
	* g++.old-deja/g++.pt/explicit77.C: Same.
	* g++.old-deja/g++.pt/expr2.C: Same.
	* g++.old-deja/g++.pt/spec5.C: Same.
	* g++.old-deja/g++.pt/spec6.C: Same.
	* g++.old-deja/g++.pt/typename3.C: Same.
	* g++.old-deja/g++.pt/typename5.C: Same.
	* g++.old-deja/g++.pt/typename6.C: Same.
	* g++.old-deja/g++.pt/typename7.C: Same.
	* g++.old-deja/g++.pt/unify4.C: Same.
	* g++.old-deja/g++.pt/unify8.C: Same.
	* g++.old-deja/g++.pt/vaarg3.C: Same.
	* g++.old-deja/g++.robertl/eb22.C: Same.
	* g++.old-deja/g++.robertl/eb4.C: Same.
	* g++.old-deja/g++.robertl/eb44.C: Same.
	* g++.old-deja/g++.robertl/eb69.C: Same.
	* g++.old-deja/g++.robertl/eb98.C: Same.
	* gcc.dg/20031223-1.c: Same.
	* gcc.dg/940510-1.c: Same.
	* gcc.dg/990506-0.c: Same.
	* gcc.dg/Walloca-1.c: Same.
	* gcc.dg/Walloca-2.c: Same.
	* gcc.dg/Wconversion-integer.c: Same.
	* gcc.dg/Wcxx-compat-8.c: Same.
	* gcc.dg/Wimplicit-int-1.c: Same.
	* gcc.dg/Wimplicit-int-2.c: Same.
	* gcc.dg/Wimplicit-int-4.c: Same.
	* gcc.dg/Wpointer-sign-Wall.c: Same.
	* gcc.dg/Wpointer-sign-pedantic.c: Same.
	* gcc.dg/Wshadow-1.c: Same.
	* gcc.dg/Wshadow-3.c: Same.
	* gcc.dg/Wswitch-enum-error.c: Same.
	* gcc.dg/Wswitch-enum.c: Same.
	* gcc.dg/Wswitch-error.c: Same.
	* gcc.dg/Wswitch.c: Same.
	* gcc.dg/Wtype-limits-Wextra.c: Same.
	* gcc.dg/Wtype-limits.c: Same.
	* gcc.dg/Wvla-larger-than-2.c: Same.
	* gcc.dg/anon-struct-5.c: Same.
	* gcc.dg/array-10.c: Same.
	* gcc.dg/array-11.c: Same.
	* gcc.dg/array-15.c: Same.
	* gcc.dg/array-2.c: Same.
	* gcc.dg/array-8.c: Same.
	* gcc.dg/array-const-2.c: Same.
	* gcc.dg/array-const-3.c: Same.
	* gcc.dg/bitfld-1.c: Same.
	* gcc.dg/bitfld-8.c: Same.
	* gcc.dg/builtin-redefine.c: Same.
	* gcc.dg/c11-noreturn-1.c: Same.
	* gcc.dg/c11-noreturn-2.c: Same.
	* gcc.dg/c11-static-assert-3.c: Same.
	* gcc.dg/c90-arraydecl-1.c: Same.
	* gcc.dg/c90-complex-1.c: Same.
	* gcc.dg/c90-complit-1.c: Same.
	* gcc.dg/c90-const-expr-11.c: Same.
	* gcc.dg/c90-const-expr-7.c: Same.
	* gcc.dg/c90-const-expr-8.c: Same.
	* gcc.dg/c90-enum-comma-1.c: Same.
	* gcc.dg/c90-flex-array-1.c: Same.
	* gcc.dg/c90-hexfloat-1.c: Same.
	* gcc.dg/c90-idem-qual-1.c: Same.
	* gcc.dg/c90-idem-qual-2.c: Same.
	* gcc.dg/c90-idem-qual-3.c: Same.
	* gcc.dg/c90-mixdecl-1.c: Same.
	* gcc.dg/c90-restrict-1.c: Same.
	* gcc.dg/c90-return-1.c: Same.
	* gcc.dg/c99-array-nonobj-1.c: Same.
	* gcc.dg/c99-arraydecl-1.c: Same.
	* gcc.dg/c99-complex-1.c: Same.
	* gcc.dg/c99-complex-2.c: Same.
	* gcc.dg/c99-complit-2.c: Same.
	* gcc.dg/c99-const-expr-7.c: Same.
	* gcc.dg/c99-const-expr-8.c: Same.
	* gcc.dg/c99-flex-array-3.c: Same.
	* gcc.dg/c99-flex-array-7.c: Same.
	* gcc.dg/c99-flex-array-typedef-7.c: Same.
	* gcc.dg/c99-impl-decl-1.c: Same.
	* gcc.dg/c99-impl-int-1.c: Same.
	* gcc.dg/c99-impl-int-2.c: Same.
	* gcc.dg/c99-init-3.c: Same.
	* gcc.dg/c99-restrict-1.c: Same.
	* gcc.dg/c99-return-1.c: Same.
	* gcc.dg/c99-tag-1.c: Same.
	* gcc.dg/c99-tag-3.c: Same.
	* gcc.dg/call-diag-2.c: Same.
	* gcc.dg/cpp/19940712-1.c: Same.
	* gcc.dg/cpp/19951025-1.c: Same.
	* gcc.dg/cpp/19990413-1.c: Same.
	* gcc.dg/cpp/direct2.c: Same.
	* gcc.dg/cpp/direct2s.c: Same.
	* gcc.dg/cpp/pr28709.c: Same.
	* gcc.dg/cpp/pr61854-c90.c: Same.
	* gcc.dg/cpp/pr61854-c94.c: Same.
	* gcc.dg/cpp/pragma-1.c: Same.
	* gcc.dg/cpp/pragma-2.c: Same.
	* gcc.dg/cpp/trad/escaped-eof.c: Same.
	* gcc.dg/cpp/trad/literals-2.c: Same.
	* gcc.dg/cpp/warn-comments-2.c: Same.
	* gcc.dg/cpp/warn-comments-3.c: Same.
	* gcc.dg/cpp/warn-comments.c: Same.
	* gcc.dg/cpp/warn-long-long-2.c: Same.
	* gcc.dg/cpp/warn-long-long.c: Same.
	* gcc.dg/cpp/warn-redefined-2.c: Same.
	* gcc.dg/cpp/warn-redefined.c: Same.
	* gcc.dg/darwin-cfstring-2.c: Same.
	* gcc.dg/darwin-cfstring-format-1.c: Same.
	* gcc.dg/decl-9.c: Same.
	* gcc.dg/declspec-1.c: Same.
	* gcc.dg/declspec-10.c: Same.
	* gcc.dg/declspec-11.c: Same.
	* gcc.dg/declspec-13.c: Same.
	* gcc.dg/declspec-18.c: Same.
	* gcc.dg/declspec-4.c: Same.
	* gcc.dg/declspec-5.c: Same.
	* gcc.dg/declspec-6.c: Same.
	* gcc.dg/declspec-8.c: Same.
	* gcc.dg/deprecated-4.c: Same.
	* gcc.dg/deprecated.c: Same.
	* gcc.dg/dfp/composite-type.c: Same.
	* gcc.dg/empty-source-2.c: Same.
	* gcc.dg/empty-source-3.c: Same.
	* gcc.dg/format/attr-6.c: Same.
	* gcc.dg/format/branch-1.c: Same.
	* gcc.dg/format/c90-printf-1.c: Same.
	* gcc.dg/format/c90-strftime-2.c: Same.
	* gcc.dg/format/c99-strftime-1.c: Same.
	* gcc.dg/format/cmn-err-1.c: Same.
	* gcc.dg/format/few-1.c: Same.
	* gcc.dg/format/ms_branch-1.c: Same.
	* gcc.dg/format/ms_unnamed-1.c: Same.
	* gcc.dg/format/ms_va-1.c: Same.
	* gcc.dg/format/unnamed-1.c: Same.
	* gcc.dg/format/va-1.c: Same.
	* gcc.dg/format/xopen-1.c: Same.
	* gcc.dg/funcdef-var-1.c: Same.
	* gcc.dg/funcdef-var-2.c: Same.
	* gcc.dg/gnu89-const-expr-1.c: Same.
	* gcc.dg/gnu89-const-expr-2.c: Same.
	* gcc.dg/gnu90-const-expr-1.c: Same.
	* gcc.dg/gnu99-const-expr-1.c: Same.
	* gcc.dg/gnu99-const-expr-2.c: Same.
	* gcc.dg/gnu99-init-2.c: Same.
	* gcc.dg/gomp/_Atomic-5.c: Same.
	* gcc.dg/gomp/appendix-a/a.24.1.c: Same.
	* gcc.dg/gomp/atomic-5.c: Same.
	* gcc.dg/gomp/linear-1.c: Same.
	* gcc.dg/gomp/pr67500.c: Same.
	* gcc.dg/init-bad-1.c: Same.
	* gcc.dg/init-bad-2.c: Same.
	* gcc.dg/init-bad-3.c: Same.
	* gcc.dg/init-string-1.c: Same.
	* gcc.dg/label-compound-stmt-1.c: Same.
	* gcc.dg/label-decl-2.c: Same.
	* gcc.dg/label-decl-4.c: Same.
	* gcc.dg/large-size-array-2.c: Same.
	* gcc.dg/large-size-array-4.c: Same.
	* gcc.dg/lvalue-6.c: Same.
	* gcc.dg/m-un-2.c: Same.
	* gcc.dg/multiple-overflow-warn-1.c: Same.
	* gcc.dg/multiple-overflow-warn-2.c: Same.
	* gcc.dg/multiple-overflow-warn-3.c: Same.
	* gcc.dg/nested-redef-1.c: Same.
	* gcc.dg/no-asm-1.c: Same.
	* gcc.dg/no-asm-3.c: Same.
	* gcc.dg/no-asm-4.c: Same.
	* gcc.dg/noncompile/20010524-1.c: Same.
	* gcc.dg/noncompile/incomplete-5.c: Same.
	* gcc.dg/noncompile/pr44517.c: Same.
	* gcc.dg/noncompile/pr52290.c: Same.
	* gcc.dg/noreturn-1.c: Same.
	* gcc.dg/overflow-warn-1.c: Same.
	* gcc.dg/overflow-warn-2.c: Same.
	* gcc.dg/overflow-warn-3.c: Same.
	* gcc.dg/overflow-warn-4.c: Same.
	* gcc.dg/parm-mismatch-1.c: Same.
	* gcc.dg/parser-pr28152-2.c: Same.
	* gcc.dg/parser-pr28152.c: Same.
	* gcc.dg/pedwarn-init.c: Same.
	* gcc.dg/pointer-arith-2.c: Same.
	* gcc.dg/pointer-arith-3.c: Same.
	* gcc.dg/pointer-arith-4.c: Same.
	* gcc.dg/pr14475.c: Same.
	* gcc.dg/pr18596-3.c: Same.
	* gcc.dg/pr18809-1.c: Same.
	* gcc.dg/pr27953.c: Same.
	* gcc.dg/pr30457.c: Same.
	* gcc.dg/pr30551-2.c: Same.
	* gcc.dg/pr30551-3.c: Same.
	* gcc.dg/pr30551-4.c: Same.
	* gcc.dg/pr30551-5.c: Same.
	* gcc.dg/pr30551-6.c: Same.
	* gcc.dg/pr30551.c: Same.
	* gcc.dg/pr36997.c: Same.
	* gcc.dg/pr41842.c: Same.
	* gcc.dg/pr48552-1.c: Same.
	* gcc.dg/pr48552-2.c: Same.
	* gcc.dg/pr59717.c: Same.
	* gcc.dg/pr61077.c: Same.
	* gcc.dg/pr61096-1.c: Same.
	* gcc.dg/pr63626.c: Same.
	* gcc.dg/pr64223-1.c: Same.
	* gcc.dg/pr64223-2.c: Same.
	* gcc.dg/pr8788-1.c: Same.
	* gcc.dg/pr8927-1.c: Same.
	* gcc.dg/pragma-darwin.c: Same.
	* gcc.dg/pragma-diag-5.c: Same.
	* gcc.dg/pragma-message.c: Same.
	* gcc.dg/redecl-1.c: Same.
	* gcc.dg/simd-1.c: Same.
	* gcc.dg/simd-5.c: Same.
	* gcc.dg/simd-6.c: Same.
	* gcc.dg/spellcheck-fields.c: Same.
	* gcc.dg/spellcheck-typenames.c: Same.
	* gcc.dg/struct-semi-2.c: Same.
	* gcc.dg/struct-semi-3.c: Same.
	* gcc.dg/transparent-union-3.c: Same.
	* gcc.dg/ucnid-8.c: Same.
	* gcc.dg/uninit-pr19430-O0.c: Same.
	* gcc.dg/uninit-pr19430.c: Same.
	* gcc.dg/uninit-pr20644-O0.c: Same.
	* gcc.dg/utf-dflt.c: Same.
	* gcc.dg/utf-dflt2.c: Same.
	* gcc.dg/utf16-4.c: Same.
	* gcc.dg/vla-11.c: Same.
	* gcc.dg/vla-20.c: Same.
	* gcc.dg/vla-init-1.c: Same.
	* gcc.dg/vla-init-2.c: Same.
	* gcc.dg/vla-init-3.c: Same.
	* gcc.dg/weak/weak-6.c: Same.
	* gcc.dg/weak/weak-7.c: Same.
	* gcc.dg/wtr-int-type-1.c: Same.
	* gcc.target/aarch64/mgeneral-regs_1.c: Same.
	* gcc.target/arm/polytypes.c: Same.
	* gcc.target/i386/spellcheck-options-4.c: Same.
	* gcc.target/powerpc/20030218-1.c: Same.
	* gcc.target/sh/pr21255-4.c: Same.
	* gcc.test-framework/dg-error-exp-XP.c: Same.
	* gfortran.dg/array_constructor_30.f03: Same.
	* gfortran.dg/class_30.f90: Same.
	* gfortran.dg/goacc/subarrays.f95: Same.
	* gfortran.dg/gomp/appendix-a/a.23.5.f90: Same.
	* gfortran.dg/gomp/appendix-a/a.24.1.f90: Same.
	* gfortran.dg/intrinsic_std_1.f90: Same.
	* gfortran.dg/pr70006.f90: Same.
	* gfortran.dg/warning-directive-1.F90: Same.
	* gfortran.dg/warning-directive-2.F90: Same.
	* gfortran.dg/warning-directive-3.F90: Same.
	* gfortran.dg/warning-directive-4.F90: Same.
	* obj-c++.dg/attributes/method-noreturn-1.mm: Same.
	* obj-c++.dg/class-extension-1.mm: Same.
	* obj-c++.dg/class-extension-2.mm: Same.
	* obj-c++.dg/class-protocol-1.mm: Same.
	* obj-c++.dg/cxx-ivars-1.mm: Same.
	* obj-c++.dg/duplicate-class-1.mm: Same.
	* obj-c++.dg/exceptions-3.mm: Same.
	* obj-c++.dg/exceptions-4.mm: Same.
	* obj-c++.dg/exceptions-5.mm: Same.
	* obj-c++.dg/fsf-nsstring-format-1.mm: Same.
	* obj-c++.dg/fsf-package-0.m: Same.
	* obj-c++.dg/invalid-type-1.mm: Same.
	* obj-c++.dg/method-12.mm: Same.
	* obj-c++.dg/method-13.mm: Same.
	* obj-c++.dg/method-15.mm: Same.
	* obj-c++.dg/method-16.mm: Same.
	* obj-c++.dg/method-6.mm: Same.
	* obj-c++.dg/method-7.mm: Same.
	* obj-c++.dg/property/at-property-1.mm: Same.
	* obj-c++.dg/property/at-property-14.mm: Same.
	* obj-c++.dg/property/at-property-17.mm: Same.
	* obj-c++.dg/property/at-property-21.mm: Same.
	* obj-c++.dg/property/at-property-5.mm: Same.
	* obj-c++.dg/property/dotsyntax-4.mm: Same.
	* obj-c++.dg/property/dynamic-3.mm: Same.
	* obj-c++.dg/property/dynamic-4.mm: Same.
	* obj-c++.dg/property/property-neg-1.mm: Same.
	* obj-c++.dg/property/property-neg-6.mm: Same.
	* obj-c++.dg/property/synthesize-11.mm: Same.
	* obj-c++.dg/property/synthesize-5.mm: Same.
	* obj-c++.dg/property/synthesize-6.mm: Same.
	* obj-c++.dg/proto-lossage-4.mm: Same.
	* obj-c++.dg/protocol-qualifier-2.mm: Same.
	* obj-c++.dg/strings/strings-1.mm: Same.
	* obj-c++.dg/super-class-1.mm: Same.
	* obj-c++.dg/syntax-error-6.mm: Same.
	* obj-c++.dg/syntax-error-7.mm: Same.
	* obj-c++.dg/syntax-error-9.mm: Same.
	* obj-c++.dg/try-catch-13.mm: Same.
	* objc.dg/attributes/method-noreturn-1.m: Same.
	* objc.dg/bad-receiver-type-2.m: Same.
	* objc.dg/bad-receiver-type.m: Same.
	* objc.dg/call-super-2.m: Same.
	* objc.dg/class-2.m: Same.
	* objc.dg/class-extension-1.m: Same.
	* objc.dg/class-extension-2.m: Same.
	* objc.dg/class-protocol-1.m: Same.
	* objc.dg/desig-init-1.m: Same.
	* objc.dg/duplicate-class-1.m: Same.
	* objc.dg/exceptions-3.m: Same.
	* objc.dg/exceptions-4.m: Same.
	* objc.dg/exceptions-5.m: Same.
	* objc.dg/foreach-6.m: Same.
	* objc.dg/foreach-7.m: Same.
	* objc.dg/fsf-nsstring-format-1.m: Same.
	* objc.dg/fsf-package-0.m: Same.
	* objc.dg/invalid-type-1.m: Same.
	* objc.dg/method-11.m: Same.
	* objc.dg/method-19.m: Same.
	* objc.dg/method-2.m: Same.
	* objc.dg/method-20.m: Same.
	* objc.dg/method-5.m: Same.
	* objc.dg/method-6.m: Same.
	* objc.dg/method-7.m: Same.
	* objc.dg/method-9.m: Same.
	* objc.dg/missing-proto-3.m: Same.
	* objc.dg/private-1.m: Same.
	* objc.dg/property/at-property-1.m: Same.
	* objc.dg/property/at-property-14.m: Same.
	* objc.dg/property/at-property-17.m: Same.
	* objc.dg/property/at-property-21.m: Same.
	* objc.dg/property/at-property-5.m: Same.
	* objc.dg/property/dynamic-3.m: Same.
	* objc.dg/property/dynamic-4.m: Same.
	* objc.dg/property/property-neg-1.m: Same.
	* objc.dg/property/property-neg-6.m: Same.
	* objc.dg/property/synthesize-11.m: Same.
	* objc.dg/property/synthesize-5.m: Same.
	* objc.dg/property/synthesize-6.m: Same.
	* objc.dg/proto-hier-1.m: Same.
	* objc.dg/proto-lossage-4.m: Same.
	* objc.dg/protocol-qualifier-2.m: Same.
	* objc.dg/strings/strings-1.m: Same.
	* objc.dg/type-size-1.m: Same.

From-SVN: r246988
2017-04-19 06:55:33 +00:00