summaryrefslogtreecommitdiff
path: root/Examples/test-suite/preproc_defined.h
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/preproc_defined.h')
-rw-r--r--Examples/test-suite/preproc_defined.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/Examples/test-suite/preproc_defined.h b/Examples/test-suite/preproc_defined.h
new file mode 100644
index 000000000..1e60ca116
--- /dev/null
+++ b/Examples/test-suite/preproc_defined.h
@@ -0,0 +1,21 @@
+/*
+ * This should not compile in when this bug is present
+ * https://github.com/swig/swig/issues/2525
+ */
+
+#define my_bad_attr __attribute__
+#define my_good_attr(x) __attribute__(x)
+
+int bad my_bad_attr((used));
+int good my_good_attr((used));
+
+/*
+ * The behaviour of Self-Referential Macros is defined
+ * https://gcc.gnu.org/onlinedocs/gcc-4.8.5/cpp/Self-Referential-Macros.html
+ */
+int y = 0;
+
+#define x (4 + y)
+#define y (2 * x)
+
+int z = y;