summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr13804-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr13804-1.c')
-rw-r--r--gcc/testsuite/gcc.dg/pr13804-1.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr13804-1.c b/gcc/testsuite/gcc.dg/pr13804-1.c
new file mode 100644
index 000000000..436367828
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr13804-1.c
@@ -0,0 +1,28 @@
+/* Diagnostics for attempts to access a member not in a structure or
+ union should name the type involved. Bug 13804. */
+/* Origin: Joseph Myers <jsm@polyomino.org.uk> */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+struct s0 { int a; };
+union u0 { long b; };
+typedef struct s0 S0;
+typedef union u0 U0;
+
+struct s0 x0;
+S0 x1;
+union u0 x2;
+U0 x3;
+struct s0 *x4;
+union u0 *x5;
+
+void
+f (void)
+{
+ x0.c; /* { dg-error "'struct s0' has no member named 'c'" } */
+ x1.c; /* { dg-error "'S0' has no member named 'c'" } */
+ x2.c; /* { dg-error "'union u0' has no member named 'c'" } */
+ x3.c; /* { dg-error "'U0' has no member named 'c'" } */
+ x4->c; /* { dg-error "'struct s0' has no member named 'c'" } */
+ x5->c; /* { dg-error "'union u0' has no member named 'c'" } */
+}