diff options
Diffstat (limited to 'tinycc/tests/bug.c')
| -rw-r--r-- | tinycc/tests/bug.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tinycc/tests/bug.c b/tinycc/tests/bug.c new file mode 100644 index 0000000..b0bc2d5 --- /dev/null +++ b/tinycc/tests/bug.c @@ -0,0 +1,35 @@ +#include <stdio.h> +#include <stdarg.h> + +int compile_errors(void) +{ +#if TEST == 1 + { + /* Not constant */ + static int i = (&"Foobar"[1] - &"Foobar"[0]); + } +#endif +#if TEST == 2 + { + /* Not constant */ + struct{int c;}v; + static long i=((char*)&(v.c)-(char*)&v); + } +#endif +#if TEST == 3 + { + /* Not constant */ + static const short ar[] = { &&l1 - &&l1, &&l2 - &&l1 }; + void *p = &&l1 + ar[0]; + goto *p; + l1: return 1; + l2: return 2; + } +#endif + return 0; +} + +int +main(void) +{ +} |
