diff gcc/testsuite/c-c++-common/pr53874.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/c-c++-common/pr53874.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,35 @@
+/* PR c/53874 */
+/* { dg-do compile } */
+/* { dg-options "-Wswitch-enum" } */
+
+enum E { A, B, C };
+struct S { enum E e:2; };
+typedef struct S TS;
+
+int
+fn0 (struct S *s)
+{
+  switch (s->e) /* { dg-warning "enumeration value .C. not handled in switch" } */
+    {
+    case A:
+      return 1;
+    case B:
+      return 2;
+    default:
+      return 0;
+    }
+}
+
+int
+fn1 (TS *s)
+{
+  switch (s->e) /* { dg-warning "enumeration value .C. not handled in switch" } */
+    {
+    case A:
+      return 1;
+    case B:
+      return 2;
+    default:
+      return 0;
+    }
+}