Commit 9517e333 by Uros Bizjak

re PR target/52330 (pr50305.c: valgrind problem on invalid asm)

	PR target/52330
	* config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
	is not offsettable memory reference.

testsuite/ChangeLog:

	PR target/52330
	* gcc.target/i386/pr52330.c: New test.

From-SVN: r184488
parent 4ff89fcb
2012-02-22 Uros Bizjak <ubizjak@gmail.com>
PR target/52330
* config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
is not offsettable memory reference.
2012-02-22 Georg-Johann Lay <avr@gjlay.de> 2012-02-22 Georg-Johann Lay <avr@gjlay.de>
PR target/18145 PR target/18145
...@@ -422,8 +428,7 @@ ...@@ -422,8 +428,7 @@
2012-02-14 Bernd Schmidt <bernds@codesourcery.com> 2012-02-14 Bernd Schmidt <bernds@codesourcery.com>
* haifa-sched.c (prune_ready_list): Ensure that if there is a * haifa-sched.c (prune_ready_list): Ensure that if there is a
sched-group insn, it either remains alone or the entire list is sched-group insn, it either remains alone or the entire list is pruned.
pruned.
2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com> 2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
...@@ -553,13 +558,11 @@ ...@@ -553,13 +558,11 @@
* cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
away if seen. away if seen.
* cselib.c (dump_cselib_val): Don't assume l->setting_insn is * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL.
non-NULL.
PR middle-end/52230 PR middle-end/52230
* omp-low.c (expand_omp_for): If a static schedule without * omp-low.c (expand_omp_for): If a static schedule without chunk size
chunk size has NULL region->cont, force fd.chunk_size to be has NULL region->cont, force fd.chunk_size to be integer_zero_node.
integer_zero_node.
2012-02-13 Andrew MacLeod <amacleod@redhat.com> 2012-02-13 Andrew MacLeod <amacleod@redhat.com>
...@@ -607,8 +610,7 @@ ...@@ -607,8 +610,7 @@
2012-02-11 Jakub Jelinek <jakub@redhat.com> 2012-02-11 Jakub Jelinek <jakub@redhat.com>
PR debug/52132 PR debug/52132
* reg-stack.c (subst_stack_regs_in_debug_insn): Don't use * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg.
get_true_reg.
2012-02-11 Uros Bizjak <ubizjak@gmail.com> 2012-02-11 Uros Bizjak <ubizjak@gmail.com>
......
...@@ -14091,6 +14091,13 @@ ix86_print_operand (FILE *file, rtx x, int code) ...@@ -14091,6 +14091,13 @@ ix86_print_operand (FILE *file, rtx x, int code)
return; return;
case 'H': case 'H':
if (!offsettable_memref_p (x))
{
output_operand_lossage ("operand is not an offsettable memory "
"reference, invalid operand "
"code 'H'");
return;
}
/* It doesn't actually matter what mode we use here, as we're /* It doesn't actually matter what mode we use here, as we're
only going to use this for printing. */ only going to use this for printing. */
x = adjust_address_nv (x, DImode, 8); x = adjust_address_nv (x, DImode, 8);
2012-02-22 Uros Bizjak <ubizjak@gmail.com>
PR target/52330
* gcc.target/i386/pr52330.c: New test.
2012-02-22 Tobias Burnus <burnus@net-b.de> 2012-02-22 Tobias Burnus <burnus@net-b.de>
PR fortran/52335 PR fortran/52335
...@@ -10,8 +15,7 @@ ...@@ -10,8 +15,7 @@
2012-02-21 Kai Tietz <ktietz@redhat.com> 2012-02-21 Kai Tietz <ktietz@redhat.com>
* gcc.dg/bf-ms-layout-3.c: Mark char typed bitfield * gcc.dg/bf-ms-layout-3.c: Mark char typed bitfield as extension.
as extension.
2012-02-21 Richard Guenther <rguenther@suse.de> 2012-02-21 Richard Guenther <rguenther@suse.de>
...@@ -154,8 +158,7 @@ ...@@ -154,8 +158,7 @@
2012-02-14 Hans-Peter Nilsson <hp@axis.com> 2012-02-14 Hans-Peter Nilsson <hp@axis.com>
* lib/target-supports.exp (check_effective_target_fgnu_tm): New * lib/target-supports.exp (check_effective_target_fgnu_tm): New proc.
proc.
* gfortran.dg/trans-mem-skel.f90: Gate test on effective_target * gfortran.dg/trans-mem-skel.f90: Gate test on effective_target
fgnu_tm. fgnu_tm.
* gcc.dg/lto/trans-mem-1_0.c, gcc.dg/lto/trans-mem-2_0.c, * gcc.dg/lto/trans-mem-1_0.c, gcc.dg/lto/trans-mem-2_0.c,
......
/* { dg-do compile } */
/* { dg-options "-O0" } */
void foo (int a)
{
asm volatile ("# %H0" : : "r" (a)); /* { dg-error "not an offsettable" } */
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment