aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.target')
-rw-r--r--gcc/testsuite/gcc.target/i386/pr79804.c6
-rw-r--r--gcc/testsuite/gcc.target/i386/pr88178.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr92469.c24
3 files changed, 28 insertions, 4 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr79804.c b/gcc/testsuite/gcc.target/i386/pr79804.c
index 08d1a3e..fcfcef7 100644
--- a/gcc/testsuite/gcc.target/i386/pr79804.c
+++ b/gcc/testsuite/gcc.target/i386/pr79804.c
@@ -4,7 +4,7 @@
void foo (void)
{
- register int r19 asm ("19");
+ register int r19 asm ("19"); /* { dg-error "register specified for 'r19' is an internal GCC implementation detail" } */
- asm volatile ("# %0" : "=r"(r19)); /* { dg-error "invalid use of register" } */
-} /* { dg-error "cannot be used in 'asm' here" } */
+ asm volatile ("# %0" : "=r"(r19));
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr88178.c b/gcc/testsuite/gcc.target/i386/pr88178.c
index a5fbd35..622e1c2 100644
--- a/gcc/testsuite/gcc.target/i386/pr88178.c
+++ b/gcc/testsuite/gcc.target/i386/pr88178.c
@@ -4,5 +4,5 @@
void foo (void)
{
- register int r19 asm ("19");
+ register int r19 asm ("19"); /* { dg-error "register specified for 'r19' is an internal GCC implementation detail" } */
}
diff --git a/gcc/testsuite/gcc.target/i386/pr92469.c b/gcc/testsuite/gcc.target/i386/pr92469.c
new file mode 100644
index 0000000..8cff36b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr92469.c
@@ -0,0 +1,24 @@
+/* PR target/92469 */
+/* { dg-do compile } */
+/* { dg-options "-O0" } */
+
+void
+foo (void)
+{
+ register int x asm ("frame"); /* { dg-error "register specified for 'x' is an internal GCC implementation detail" } */
+ int y = x;
+}
+
+void
+bar (void)
+{
+ register int x asm ("19"); /* { dg-error "register specified for 'x' is an internal GCC implementation detail" } */
+ int y = x;
+}
+
+void
+baz (void)
+{
+ register int x asm ("argp"); /* { dg-error "register specified for 'x' is an internal GCC implementation detail" } */
+ int y = x;
+}