]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/52330 (pr50305.c: valgrind problem on invalid asm)
authorUros Bizjak <uros@gcc.gnu.org>
Wed, 22 Feb 2012 19:42:17 +0000 (20:42 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 22 Feb 2012 19:42:17 +0000 (20:42 +0100)
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: r184491

gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr52330.c [new file with mode: 0644]

index 592b954c9bd02bbd9c79bc5b97f24fe4c18b060c..22e48889e13d2d20d9d2ea62a227c550f6219324 100644 (file)
@@ -1,3 +1,9 @@
+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-21  Richard Earnshaw  <rearnsha@arm.com>
 
        PR target/52294
@@ -54,7 +60,7 @@
 
 2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
 
-       Backport from mainline 
+       Backport from mainline
        2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
 
        PR middle-end/52140
@@ -62,7 +68,7 @@
 
 2012-02-09  Andrey Belevantsev  <abel@ispras.ru>
 
-       Backport from mainline 
+       Backport from mainline
        2012-01-20  Andrey Belevantsev  <abel@ispras.ru>
 
        PR target/51106
@@ -79,7 +85,7 @@
        family to distinguish PROCESSOR_ATHLON.
 
 2012-02-07  Kai Tietz  <ktietz@redhat.com>
-            Dave Korn  <dave.korn.cygwin@gmail.com>
+           Dave Korn  <dave.korn.cygwin@gmail.com>
 
        PR target/40068
        * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
@@ -90,8 +96,7 @@
        Backport from mainline:
        2012-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
 
-       config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true
-       condition.
+       * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition.
 
 2012-01-20  Eric Botcazou  <ebotcazou@adacore.com>
 
index 07ff3a36c8234fc29f8f0d6ee627435b409866a4..dc89207689525430e943a4f64a33bd3305bb61ff 100644 (file)
@@ -11872,6 +11872,13 @@ print_operand (FILE *file, rtx x, int code)
          return;
 
        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
             only going to use this for printing.  */
          x = adjust_address_nv (x, DImode, 8);
index 8b1e461c2c6e875cb1b4a5de27793ad564ef4136..bdf80bcc8dc60e1c95daa58356f20fd61ea4e635 100644 (file)
@@ -1,3 +1,8 @@
+2012-02-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/52330
+       * gcc.target/i386/pr52330.c: New test.
+
 2012-02-14  Bin Cheng  <bin.cheng@arm.com>
 
        Backport from mainline.
@@ -27,7 +32,7 @@
 
 2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
 
-       Backport from mainline 
+       Backport from mainline
        2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
 
        PR middle-end/52140
diff --git a/gcc/testsuite/gcc.target/i386/pr52330.c b/gcc/testsuite/gcc.target/i386/pr52330.c
new file mode 100644 (file)
index 0000000..22ba0b2
--- /dev/null
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+/* { dg-options "-O0" } */
+
+void foo (int a)
+{
+  asm volatile ("# %H0" : : "r" (a));  /* { dg-error "not an offsettable" } */
+}