Commit Graph

160965 Commits

Author SHA1 Message Date
Ian Lance Taylor
2885a4939a re PR go/85429 (Several gotools tests FAIL with Solaris as)
PR go/85429
    cmd/go: add Solaris assembler syntax for gccgo buildid file
    
    The Solaris assembler uses a different syntax for section directives.
    
    This is https://golang.org/cl/109140 ported over to gccgo.
    
    Reviewed-on: https://go-review.googlesource.com/109141

From-SVN: r259719
2018-04-27 18:01:00 +00:00
Jason Merrill
4c8906c942 * g++.dg/cpp1z/noexcept-type20.C: Elaborate.
From-SVN: r259718
2018-04-27 13:32:00 -04:00
Jason Merrill
d760b06868 cvt.c (cp_fold_convert): Use convert_ptrmem.
* cvt.c (cp_fold_convert): Use convert_ptrmem.

	* typeck.c (convert_ptrmem): Add a NOP even if no adjustment.

From-SVN: r259717
2018-04-27 13:09:17 -04:00
Paolo Carlini
a6e34898d1 re PR c++/84691 (internal compiler error: in poplevel_class, at cp/name-lookup.c:4430)
/cp
2018-04-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84691
	* decl.c (grokdeclarator): Clear friendp upon definition in local
	class definition error.

/testsuite
2018-04-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84691
	* g++.dg/cpp0x/friend3.C: New.

From-SVN: r259716
2018-04-27 16:56:55 +00:00
Jason Merrill
6d0e87b25e PR c++/85545 - ICE with noexcept PMF conversion.
* cvt.c (cp_fold_convert): Pass PMF CONSTRUCTORs to
	build_ptrmemfunc.
	* typeck.c (build_ptrmemfunc): Don't build a NOP_EXPR for zero
	adjustment.
	(build_ptrmemfunc_access_expr): Special-case CONSTRUCTORs.

From-SVN: r259712
2018-04-27 11:00:53 -04:00
Richard Biener
4bdc2738ce Fix aarch64 ILP32 ICE with vaarg gimplified code
2018-04-27  Richard Biener  <rguenther@suse.de>

	* config/aarch64/aarch64.c: Simplify ap.__stack advance and
	fix for ILP32.

From-SVN: r259711
2018-04-27 14:32:09 +00:00
Nathan Sidwell
036b5ad136 [C++ PATCH] cleanup 2
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01231.html
	* typeck.c (convert_ptrmem): Move local var decls to initialization.

From-SVN: r259710
2018-04-27 14:01:09 +00:00
Richard Biener
3db18011e5 tree-cfg.c (verify_expr): Make dead code hit gcc_unreachable.
2018-04-27  Richard Biener  <rguenther@suse.de>

	* tree-cfg.c (verify_expr): Make dead code hit gcc_unreachable.

From-SVN: r259705
2018-04-27 12:53:40 +00:00
Nathan Sidwell
d4e15523c1 [C++ PATCH] some cleanups
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01227.html
	* cp-tree.h (TEMPLATE_INFO): Fix comments.
	(TI_PENDING_TEMPLATE_FLAG): Check TEMPLATE_INFO.
	(NON_DEFAULT_TEMPLATE_ARG_COUNT): Wrap line.
	(dump, print_other_binding_stacks): Remove declarations.
	* name-lookup.c (print_other_binding_stack): Make static.
	* pt.c (build_template_decl): Make static.

From-SVN: r259704
2018-04-27 11:55:38 +00:00
Alan Modra
ae0432915e PR85532, crtend.o built without --enable-initfini-array has bad .eh_frame
PR libgcc/85532
	* config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add
	-fno-asynchronous-unwind-tables.

From-SVN: r259702
2018-04-27 18:36:39 +09:30
Uros Bizjak
038acbbaa8 i386.md (*movti_internal): Substitute Ye constraint with Yd constraint.
* config/i386/i386.md (*movti_internal): Substitute Ye constraint
	with Yd constraint. Set "preferred_for_speed" attribute from
	TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC for alternatives
	with Yd constraint.
	(*movdi_internal): Ditto.
	(movti_interunit splitters): Remove
	TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC from insn condition.
	(movdi_interunit splitters): Ditto.
	* config/i386/constraints.md (Ye): Remove.
	(Yd): Do not depend on TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC.

From-SVN: r259701
2018-04-27 11:00:27 +02:00
Kyrylo Tkachov
d318d551b3 [arm] PR target/82518: Return false in ARRAY_MODE_SUPPORTED_P for BYTES_BIG_ENDIAN followup
PR target/82518
	* lib/target-supports.exp (check_effective_target_vect_load_lanes):
	Use check_effective_target_arm_little_endian.

From-SVN: r259700
2018-04-27 08:56:02 +00:00
Kyrylo Tkachov
b4c0db2578 [AArch64] PR target/85512: Tighten SIMD right shift immediate constraints pt2
PR target/85512
	* config/aarch64/constraints.md (Usg): Limit to 31.
	(Usj): Limit to 63.

From-SVN: r259699
2018-04-27 08:48:49 +00:00
Eric Botcazou
9f47a64fcc re PR ada/85540 (gcc/ada/init.c:1282: suspicious expression ?)
PR ada/85540
	* init.c (__gnat_handle_vms_condition): Add missing parentheses.

From-SVN: r259698
2018-04-27 08:05:44 +00:00
Jakub Jelinek
92007ba607 re PR tree-optimization/85529 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
PR tree-optimization/85529
	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Add FIRST_BB
	argument.  Don't call get_nonzero_bits if opcode is ERROR_MARK_NODE,
	rhs2 def stmt's bb is dominated by first_bb and it isn't an obvious
	zero extension or masking of the MSB bit.
	(optimize_range_tests): Add FIRST_BB argument, pass it through
	to optimize_range_tests_var_bound.
	(maybe_optimize_range_tests, reassociate_bb): Adjust
	optimize_range_tests callers.

	* gcc.c-torture/execute/pr85529-1.c: New test.
	* gcc.c-torture/execute/pr85529-2.c: New test.
	* gcc.dg/pr85529.c: New test.

From-SVN: r259696
2018-04-27 09:09:51 +02:00
GCC Administrator
be876cc498 Daily bump.
From-SVN: r259695
2018-04-27 00:16:25 +00:00
Maciej W. Rozycki
b4d62b40b7 MIPS/GCC/testsuite: Fix data-sym-pool.c for n64 code
With the soft-float n64 ABI and the data-sym-pool.c test case code like 
below is produced:

	.file	1 "data-sym-pool.c"
	.section .mdebug.abi64
	.previous
	.nan	legacy
	.module	softfloat
	.module	oddspreg
	.abicalls
	.option	pic0
	.text
	.align	2
	.globl	frob
	.set	mips16
	.set	nomicromips
	.ent	frob
	.type	frob, @function
frob:
	.frame	$17,16,$31		# vars= 0, regs= 1/0, args= 0, gp= 0
	.mask	0x00020000,-8
	.fmask	0x00000000,0
	daddiu	$sp,-16
	sd	$17,8($sp)
	move	$17,$sp
	ld	$2,.L3
	move	$sp,$17
	ld	$17,8($sp)
	daddiu	$sp,16
	jr	$31
	.type	__pool_frob_3, @object
__pool_frob_3:
	.align	3
.L3:
	.dword	305419896
	.type	__pend_frob_3, @function
__pend_frob_3:
	.insn
	.end	frob
	.size	frob, .-frob
	.ident	"GCC: (GNU) 8.0.1 20180410 (experimental)"

(we have no support for hard-float n64 MIPS16 code generation), which 
means that the test case will fail, as the regular expression pattern 
expects `lw' and `.word' rather than `ld' and `.dword' respectively to 
appear in assembly code generation.  Correct the pattern in an obvious 
way then making it accept both intructions and pseudo-ops.

	gcc/testsuite/
	* gcc.target/mips/data-sym-pool.c (dg-options): Match `ld' and
	`.dword' in addition to `lw' and `.word'.

From-SVN: r259691
2018-04-26 21:03:11 +00:00
Maciej W. Rozycki
7dc5410af0 MIPS/GCC/testsuite: Fix data-sym-pool.c for SVR4 model at -O0
With GCC configurations using the SVR4 rather than the PLT dynamic 
executable model and the o32 ABI with the data-sym-pool.c test case code 
like below is produced:

	.file	1 "data-sym-pool.c"
	.section .mdebug.abi32
	.previous
	.nan	legacy
	.module	fp=xx
	.module	nooddspreg
	.abicalls
	.text
	.align	2
	.globl	frob
	.set	mips16
	.set	nomicromips
	.ent	frob
	.type	frob, @function
frob:
	.frame	$17,8,$31		# vars= 0, regs= 1/0, args= 0, gp= 0
	.mask	0x00020000,-4
	.fmask	0x00000000,0
	save	8,$17
	move	$17,$sp
	lw	$2,$L4
	move	$sp,$17
	restore	8,$17
	jr	$31
	.type	__pool_frob_3, @object
__pool_frob_3:
	.align	2
$L3:
	.word	__gnu_local_gp
$L4:
	.word	305419896
	.type	__pend_frob_3, @function
__pend_frob_3:
	.insn
	.end	frob
	.size	frob, .-frob
	.ident	"GCC: (GNU) 8.0.1 20180410 (experimental)"

causing a failure due to the unexpected `__gnu_local_gp' entry in the 
constant pool, even though there is nothing wrong with it as far as the 
annotation being examined is concerned.

Given that the SVR4 vs PLT code model consideration is irrelevant for 
this test case rather than rewriting the regular expression to match 
this variant of code just enforce the PLT model by using the `-mplt' 
option.  It is safe to use this option unconditionally as it is silently 
ignored with configurations that do not support this model, e.g. bare 
metal ELF.

	gcc/testsuite/
	* gcc.target/mips/data-sym-pool.c (dg-options): Add `-mplt'.

From-SVN: r259690
2018-04-26 21:01:31 +00:00
Jason Merrill
128d29a52f PR c++/85545 - ICE with noexcept PMF conversion.
* cvt.c (cp_fold_convert): Handle PMF CONSTRUCTORs directly.

From-SVN: r259689
2018-04-26 16:32:32 -04:00
Richard Biener
e94497fbc0 cgraph.h (symbol_table): Just declare debug method here.
* cgraph.h (symbol_table): Just declare debug method here.
	* symtab.c (symbol_table::debug): Define.

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

From-SVN: r259685
2018-04-26 22:04:15 +02:00
Eric Botcazou
7ee1f872ca * loop-invariant.c (may_assign_reg_p): Return false for frame pointer.
From-SVN: r259683
2018-04-26 15:21:09 +00:00
Uros Bizjak
b1ea83878e i386.md ("isa" attribute): Add x64_sse2.
* config/i386/i386.md ("isa" attribute): Add x64_sse2.
	("enabled" attribute): Handle "isa" attribute.
	(*movdi_internal): Substitute Yi and Yj constraint with x
	and Ym and Yn constraint with y constraint.  Update "isa"
	attribute and set "preferred_for_speed" attribute from
	TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC for updated alternatives.
	(*movsi_internal): Ditto.
	(*movdf_internal): Ditto.
	(*movsf_internal): Ditto.
	(*zero_extendsidi2): Ditto.
	* config/i386/sse.md (vec_set<mode>_0): Ditto.
	(sse2_loadld): Ditto.
	(*vec_extract<ssevecmodelower>_0): Ditto.
	(*vec_extractv4si_0_zext_sse4): Ditto.
	(vec_concatv2di): Ditto.
	(*vec_dup<mode>): Ditto.
	* config/i386/mmx.md (*mov<mode>_internal): Ditto.
	* config/i386/constraints.md (Yi): Remove.
	(Yj): Remove.
	(Ym): Remove.
	(Yn): Remove.

From-SVN: r259682
2018-04-26 16:49:32 +02:00
Nathan Sidwell
5d8b352a10 dumpfile cleanup
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01173.html
	* dumpfile.c (dump_open): New.
	(dump_open_alternate_stream, dump_start, dump_begin): Call it.
	(dump_finish): Detect stdio/stderr by value not name.

From-SVN: r259681
2018-04-26 14:15:58 +00:00
Jonathan Wakely
030b3bddb0 Document that -Wreturn-type is enabled by default for C++
* doc/invoke.texi (-Wreturn-type): Document default status for C++.

From-SVN: r259679
2018-04-26 14:52:15 +01:00
Tom de Vries
df36a3d3be [nvptx, libgomp] Add GOMP_NVPTX_JIT=-O[0-4] in nvptx libgomp plugin
2018-04-26  Tom de Vries  <tom@codesourcery.com>

	PR libgomp/84020
	* plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
	* plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
	(process_GOMP_NVPTX_JIT): New function.
	(link_ptx): Use process_GOMP_NVPTX_JIT.

From-SVN: r259678
2018-04-26 13:27:04 +00:00
Tom de Vries
a874808c61 [nvptx] Verify bar.sync position
2018-04-26  Tom de Vries  <tom@codesourcery.com>

	PR target/84952
	* config/nvptx/nvptx.c (verify_neutering_jumps)
	(verify_neutering_labels): New function
	(nvptx_single): Use verify_neutering_jumps and verify_neutering_labels.

From-SVN: r259677
2018-04-26 13:26:48 +00:00
Tom de Vries
6beefdbdf3 [nvptx] Fix branch-around-nothing
2018-04-26  Tom de Vries  <tom@codesourcery.com>

	PR target/84025
	* config/nvptx/nvptx.c (needs_neutering_p): New function.
	(nvptx_single): Use needs_neutering_p to skip over insns that do not
	need neutering.

From-SVN: r259676
2018-04-26 13:26:38 +00:00
Richard Biener
d160ae7814 [lto] Fixup loops before lto write-out
2018-04-26  Richard Biener <rguenther@suse.de>
	    Tom de Vries  <tom@codesourcery.com>

	PR lto/85422
	* lto-streamer-out.c (output_function): Fixup loops if required to match
	discovery done in the reader.

	* testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.

Co-Authored-By: Tom de Vries <tom@codesourcery.com>

From-SVN: r259675
2018-04-26 13:26:25 +00:00
Tom de Vries
ca9dc64220 [nvptx, libgomp, testsuite] Reduce recursion depth in declare_target-{1,2}.f90
2018-04-26  Tom de Vries  <tom@codesourcery.com>

	PR target/85519
	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
	recursion depth from 25 to 23.
	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.

From-SVN: r259674
2018-04-26 13:26:09 +00:00
Richard Biener
1c53fa8ca9 re PR libstdc++/85116 (std::min_element does not optimize well with inlined predicate)
2018-04-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/85116
	* tree-ssa-loop-ch.c (do_while_loop_p): A do-while loop should
	have a loop exit from the single latch predecessor.  Remove
	case of header with just condition.
	(ch_base::copy_headers): Exclude infinite loops from any
	processing.
	(pass_ch::execute): Record exits.

	* gcc.dg/tree-ssa/copy-headers-2.c: New testcase.
	* gcc.dg/tree-ssa/copy-headers-3.c: Likewise.
	* gcc.dg/tree-ssa/copy-headers-4.c: Likewise.
	* gcc.dg/tree-ssa/loadpre6.c: Adjust.

From-SVN: r259672
2018-04-26 12:18:58 +00:00
Richard Biener
ae05281f4a Makefile.tpl (STAGE1_TFLAGS): Add -fno-checking.
2018-04-26  Richard Biener  <rguenther@suse.de>

	* Makefile.tpl (STAGE1_TFLAGS): Add -fno-checking.
	(STAGE2_CFLAGS): Likewise.
	(STAGE2_TFLAGS): Likewise.
	(STAGE3_CFLAGS): Add -fchecking.
	(STAGE3_TFLAGS): Likewise.
	(STAGEtrain_CFLAGS): Filter out -fchecking.
	(STAGEtrain_TFLAGS): Likewise.
	* Makefile.in: Re-generate.

From-SVN: r259669
2018-04-26 08:47:31 +00:00
Richard Biener
c76d9edb09 tree-vect-data-refs.c (vect_get_data_access_cost): Get prologue cost vector and pass it to vect_get_load_cost.
2018-04-26  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_get_data_access_cost): Get
	prologue cost vector and pass it to vect_get_load_cost.
	(vect_get_peeling_costs_all_drs): Likewise.
	(vect_peeling_hash_get_lowest_cost): Likewise.
	(vect_enhance_data_refs_alignment): Likewise.

From-SVN: r259668
2018-04-26 07:30:55 +00:00
Richard Biener
bde84d5120 re PR middle-end/85450 (ICE: invalid types in nop conversion during GIMPLE pass: ompexp)
2018-04-26  Richard Biener  <rguenther@suse.de>

	PR middle-end/85450
	* tree-cfg.c (verify_gimple_assign_unary): Restore proper
	checking of integer<->pointer conversions.
	* omp-expand.c (expand_omp_for_static_nochunk): Avoid
	sign-/zero-extending pointer types.
	(expand_omp_for_static_chunk): Likewise.

From-SVN: r259667
2018-04-26 07:21:42 +00:00
Hans-Peter Nilsson
e92306590e mips.c (mips_asan_shadow_offset): New function.
* config/mips/mips.c (mips_asan_shadow_offset): New function.
	(TARGET_ASAN_SHADOW_OFFSET): Define.
	* config/mips/mips.h (FRAME_GROWS_DOWNWARD): Augment to also be
	true for -fsanitize=address.

Co-Authored-By: Jean Lee <xiaoyur347@gmail.com>

From-SVN: r259666
2018-04-26 01:21:32 +00:00
Hans-Peter Nilsson
752361c980 If someone has access to a 64-bit mips-linux system to test this (with the obvious edit), that'd be really nice.
If someone has access to a 64-bit mips-linux system to test
this (with the obvious edit), that'd be really nice.  Until
then, best to not introduce possible build failures.

	* configure.tgt <mips*-*-linux*>: Enable build, excluding
	mips*64*-*-linux*.

From-SVN: r259665
2018-04-26 01:16:47 +00:00
Hans-Peter Nilsson
9f943b2446 As mentioned in <http://gcc.gnu.org/ml/gcc/2018-03/msg00133.html> the bogus adjustment to 160 from 144 (which is reverted here)...
As mentioned in <http://gcc.gnu.org/ml/gcc/2018-03/msg00133.html>
the bogus adjustment to 160 from 144 (which is reverted here),
is a single-token commit in upstream r301307, an attempt to
correct a failed build due to an upstream change to compile the
runtime with D_FILE_OFFSET_BITS=64.  The correct fix is here:
just use the right include.  Yes, user-struct-stat64-as-stat is
actually 160 for MIPS o32 and I hear user-struct-stat is also
160 for n32.  There are additional fields appended for
user-struct-stat!  I guess for MIPS it's as bad as it gets for
mixing up kernel and user struct stat.  The context of the patch
doesn't show that in the #else there's the correct include, the
one for <asm/stat.h> to get the kernel-struct-stat.  If you
can't compile it, IMHO the kernel headers are just too old; 3.2
is fine for example.

	* sanitizer_common/sanitizer_platform_limits_linux.cc: Do not
	take the shortcut to #include <sys/stat.h> for MIPS instead of
	the kernel <asm/stat.h>.  Explain why sys/stat.h is misleading
	or wrong to get the kernel struct stat.
	* sanitizer_common/sanitizer_platform_limits_posix.h [__mips__]:
	Correct the value for 32-bit non-android struct_kernel_stat_sz.

From-SVN: r259664
2018-04-26 01:12:56 +00:00
Hans-Peter Nilsson
bc40f16691 This appears to be present in compiler-rt upstream, but as part of more intrusive changes.
This appears to be present in compiler-rt upstream, but as part
of more intrusive changes.  For gcc, the lack of this results in
a fatal warning (-Werror) at build-time.

	* sanitizer_common/sanitizer_atomic_clang_other.h [_MIPS_SIM
	&& _MIPS_SIM == _ABIO32] (lock): Add initializer for .pad member.

From-SVN: r259663
2018-04-26 01:09:27 +00:00
GCC Administrator
3ce4730b76 Daily bump.
From-SVN: r259662
2018-04-26 00:16:35 +00:00
Catherine Moore
c6e34a9bb9 MAINTAINERS (mips): Remove myself as MIPS maintainer.
2018-04-25  Catherine Moore <clm@codesourcery.com>

        * MAINTAINERS (mips): Remove myself as MIPS maintainer.

From-SVN: r259658
2018-04-25 18:40:04 -04:00
Mark Wielaard
1b08ada61e DWARF sort longer dirs before shorter ones in directory table.
When gcc dwarf2out generates the .debug_line table itself (for example
when generating one for a split DWARF .dwo) it uses natural sorting for
the directory table. Shorter directory paths come before longer directory
paths with the same prefix. This causes the files in the line table to
pick the shorter dir. Creating slightly ineffecient line tables because
the longer directory paths will never be used.

Fix this by changing file_info_cmp () to pick longer directory prefixes
before shorter ones. We still sort files (the compilation unit) without
any directory path before all entries with a directory path, so they
will still use dir entry 0 (the working directory).

A hello.c program would get the following dir and line table before:

Directory table:
 /opt/local/install/gcc/lib/gcc/x86_64-pc-linux-gnu/8.0.1/include
 /usr/include
 /usr/include/bits

File name table:
 Entry Dir   Time      Size      Name
 1     0     0         0         hello.c
 2     1     0         0         stddef.h
 3     2     0         0         bits/types.h
 4     2     0         0         libio.h
 5     2     0         0         stdio.h
 6     2     0         0         bits/sys_errlist.h

Note that the last directory table entry is never used.
After this patch it looks as follows:

Directory table:
 /opt/local/install/gcc/lib/gcc/x86_64-pc-linux-gnu/8.0.1/include
 /usr/include/bits
 /usr/include

File name table:
 Entry Dir   Time      Size      Name
 1     0     0         0         hello.c
 2     1     0         0         stddef.h
 3     2     0         0         types.h
 4     3     0         0         libio.h
 5     3     0         0         stdio.h
 6     2     0         0         sys_errlist.h

Which is similar to what gas would output.

gcc/ChangeLog:

	* dwarf2out.c (file_info_cmp): Sort longer dir prefixes before
	shorter ones.

From-SVN: r259655
2018-04-25 17:34:00 +00:00
Jakub Jelinek
971424e418 i386.md (*x86_mov<mode>cc_0_m1): Use type "alu1" rather than "alu"...
* config/i386/i386.md (*x86_mov<mode>cc_0_m1): Use type "alu1" rather
	than "alu", remove explicit "memory" and "imm_disp" attributes.
	(*x86_mov<mode>cc_0_m1_se, *x86_mov<mode>cc_0_m1_neg): Likewise.

From-SVN: r259650
2018-04-25 15:11:03 +02:00
Jakub Jelinek
b15b6fc564 re PR middle-end/85414 (ICE: in ix86_expand_prologue, at config/i386/i386.c:13810 with -Og -fgcse)
PR middle-end/85414
	* simplify-rtx.c (simplify_unary_operation_1) <case SIGN_EXTEND,
	case ZERO_EXTEND>: Pass SUBREG_REG (op) rather than op to
	gen_lowpart_no_emit.

From-SVN: r259649
2018-04-25 15:10:01 +02:00
Sebastian Peryt
be3830f845 re PR target/85473 (internal compiler error: in emit_move_insn, at expr.c:3722)
2018-04-25  Sebastian Peryt  <sebastian.peryt@intel.com>

	gcc/ChangeLog:

	PR target/85473
	* config/i386/i386.c (ix86_expand_builtin): Change memory
	operand to XI, extend p0 to Pmode.
	* config/i386/i386.md: Change unspec volatile and operand
	1 mode to XI, change operand 0 mode to P.

	gcc/testsuite/ChangeLog:

	PR target/85473
	* gcc.target/i386/pr85473-1.c: New test.
	* gcc.target/i386/pr85473-2.c: New test.

From-SVN: r259648
2018-04-25 14:39:57 +02:00
Chung-Ju Wu
d3e6cab2e0 [NDS32] Fix bug in bit-instruction checking functions.
gcc/
	* config/nds32/nds32-predicates.c (nds32_can_use_bclr_p): Mask with
	GET_MODE_MASK before any checking.
	(nds32_can_use_bset_p): Likewise.
	(nds32_can_use_btgl_p): Likewise.

From-SVN: r259647
2018-04-25 12:32:19 +00:00
Chung-Ju Wu
ed4230b2f9 [NDS32] Split movdi/df if reigster number is illegal.
gcc/
	* config/nds32/nds32-doubleword.md: New define_split pattern for
	illegal register number.

From-SVN: r259646
2018-04-25 12:17:29 +00:00
Chung-Ju Wu
ba169b7424 [NDS32] Fix incorrect settings in sfp-machine.h and t-nds32-newlib for hard fp.
libgcc/
	* config/nds32/sfp-machine.h: Fix settings for NDS32_ABI_2FP_PLUS.
	* config/nds32/t-nds32-newlib (HOST_LIBGCC2_CFLAGS): Use -fwrapv.

From-SVN: r259645
2018-04-25 12:08:14 +00:00
Chung-Ju Wu
bfeb66850f [NDS32] Fix print operand for cctl register.
gcc/
	* config/nds32/nds32.c (nds32_print_operand): Set op_value ealier.

From-SVN: r259643
2018-04-25 11:22:55 +00:00
Chung-Ju Wu
c77562ca50 [NDS32] Add missing newline character into ASM_APP_ON macro.
gcc/
	* config/nds32/nds32.h (ASM_APP_ON): Add missing newline character.

From-SVN: r259642
2018-04-25 10:24:49 +00:00
Jakub Jelinek
b33a0cb323 re PR sanitizer/84307 (asan blocks dead-store elimination)
PR sanitizer/84307
	* c-decl.c (build_compound_literal): Call pushdecl (decl) even when
	it is not TREE_STATIC.
	* c-typeck.c (c_mark_addressable) <case COMPOUND_LITERAL_EXPR>: Mark
	not just the COMPOUND_LITERAL_EXPR node itself addressable, but also
	its COMPOUND_LITERAL_EXPR_DECL.

From-SVN: r259641
2018-04-25 12:02:24 +02:00
Eric Botcazou
87ed4159ac re PR ada/85007 (-b flag to gnatlink not recognized)
PR ada/85007
	* gnat_ugn.texi: Regenerate.

From-SVN: r259639
2018-04-25 10:01:13 +00:00