aboutsummaryrefslogtreecommitdiff
path: root/tinycc/tests/bug.c
diff options
context:
space:
mode:
Diffstat (limited to 'tinycc/tests/bug.c')
-rw-r--r--tinycc/tests/bug.c35
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)
+{
+}