aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation
diff options
Diffstat (limited to 'validation')
-rw-r--r--validation/bug_inline_switch.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/validation/bug_inline_switch.c b/validation/bug_inline_switch.c
new file mode 100644
index 00000000..95788240
--- /dev/null
+++ b/validation/bug_inline_switch.c
@@ -0,0 +1,25 @@
+
+#define __u16 unsigned short
+int foo(__u16 n);
+static inline __u16 f(__u16 val)
+{
+ return val;
+}
+
+static inline unsigned int bar(__u16 n)
+{
+ switch (n) {
+ case (1 ? 1 : f(1)):
+ return 4;
+ }
+}
+
+int foo(__u16 n)
+{
+ bar(n);
+ bar(n);
+ return 0;
+}
+/*
+ * check-name: inlining switch statement
+ */