summaryrefslogtreecommitdiff
path: root/extra/scripts/unifdef.test
diff options
context:
space:
mode:
Diffstat (limited to 'extra/scripts/unifdef.test')
-rw-r--r--extra/scripts/unifdef.test61
1 files changed, 61 insertions, 0 deletions
diff --git a/extra/scripts/unifdef.test b/extra/scripts/unifdef.test
new file mode 100644
index 000000000..7cd4f148e
--- /dev/null
+++ b/extra/scripts/unifdef.test
@@ -0,0 +1,61 @@
+Run me through unifdef -UA
+*** Nothing should be visible here:
+#if defined A && defined B
+hello world
+#endif
+#if defined A && B
+hello world
+#endif
+#if defined A && 1
+hello world
+#endif
+#if defined A && (1 > 0)
+hello world
+#endif
+#if defined B && defined A
+hello world
+#endif
+#if B && defined A
+hello world
+#endif
+#if 1 && defined A
+hello world
+#endif
+#if (1 > 0) && defined A
+hello world
+#endif
+
+*** Everything should be visible here, but #if/#endif removed:
+#if defined B || !defined A
+hello world 1
+#endif
+#if !defined A || defined B
+hello world 2 (last)
+#endif
+
+*** This should be unchanged (#if/#endif not removed):
+#if defined A || defined B
+I am here 1
+#endif
+#if defined B || defined A
+I am here 2
+#endif
+I am here 3
+#if !defined FOO && !defined BAR \
+ && !defined BAZ
+# error "I am here 4"
+#endif
+I am here 5
+#if (!defined FOO \
+ && (defined BAR || defined BAZ \
+ || defined XYZ))
+I am here 6
+#endif
+I am here 7
+#if !defined FOO \
+ && defined BAR
+I am here 8
+#endif
+I am here 9 (last)
+
+*** End