diff options
Diffstat (limited to 'validation')
| -rw-r--r-- | validation/bug_inline_switch.c | 25 |
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 + */ |
