diff gcc/testsuite/gcc.dg/pr17188-1.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gcc.dg/pr17188-1.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,31 @@
+/* A redefinition of an empty struct should be diagnosed the same as a
+   redefinition of any other tag, but formerly only s2 and s4 were
+   diagnosed.  Bug 17188.  */
+/* Origin: Joseph Myers <jsm@polyomino.org.uk> */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+struct s0 { }; /* { dg-message "note: originally defined here" } */
+struct s0;
+struct s0 { }; /* { dg-error "redefinition of 'struct s0'" } */
+
+struct s1 { }; /* { dg-message "note: originally defined here" } */
+struct s1 { }; /* { dg-error "redefinition of 'struct s1'" } */
+
+struct s2 { int a : 1; }; /* { dg-message "note: originally defined here" } */
+struct s2 { int a : 1; }; /* { dg-error "redefinition of 'struct s2'" } */
+
+struct s3 { }; /* { dg-message "note: originally defined here" } */
+struct s3 { int a : 1; }; /* { dg-error "redefinition of 'struct s3'" } */
+
+struct s4 { int a : 1; }; /* { dg-message "note: originally defined here" } */
+struct s4 { }; /* { dg-error "redefinition of 'struct s4'" } */
+
+struct s5 { int a : 1; };
+struct s5;
+
+struct s6;
+struct s6 { int a : 1; };
+
+struct s7;
+struct s7 { };