PR middle-end/18160
* gcc.dg/register-var-1.c: New test.
* gcc.dg/register-var-2.c: New test.
* gcc.dg/asm-7.c: Taking the address of a register variable is an
error now.
From-SVN: r89773
+2004-10-28 Adam Nemet <anemet@lnxw.com>
+
+ PR middle-end/18160
+ * gcc.dg/register-var-1.c: New test.
+ * gcc.dg/register-var-2.c: New test.
+ * gcc.dg/asm-7.c: Taking the address of a register variable is an
+ error now.
+
2004-10-28 Dorit Naishlos <dorit@il.ibm.com>
PR other/18172
static int m;
int *p;
- __asm__ ("" : : "m"(r)); /* { dg-warning "address of register" } */
+ __asm__ ("" : : "m"(r)); /* { dg-error "" } */
__asm__ ("" : : "m"(i));
__asm__ ("" : : "m"(m));
__asm__ ("" : : "m"(0)); /* { dg-error "" } */
__asm__ ("" : : "g"(0));
__asm__ ("" : : "g"(i+1));
- __asm__ ("" : "=m"(r2)); /* { dg-warning "address of register" } */
+ __asm__ ("" : "=m"(r2)); /* { dg-error "" } */
__asm__ ("" : "=m"(i));
__asm__ ("" : "=m"(m));
}
--- /dev/null
+/* PR/18160 */
+
+/* { dg-do compile { target i?86-*-* } } */
+
+/* This should yield an error even without -pedantic. */
+/* { dg-options "-ansi" } */
+
+void g(int *);
+
+void f(void)
+{
+ register int x __asm ("eax");
+ g(&x); /* { dg-error "error: address of register variable" } */
+}
--- /dev/null
+/* PR/18160 */
+
+/* { dg-do compile } */
+
+/* This should yield an error even without -pedantic. */
+/* { dg-options "-ansi" } */
+
+void g(int *);
+
+void f(void)
+{
+ register int x;
+ g(&x); /* { dg-error "error: address of register variable" } */
+}