aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/predefined_macros.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/predefined_macros.sh')
-rw-r--r--tests/predefined_macros.sh55
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/predefined_macros.sh b/tests/predefined_macros.sh
new file mode 100644
index 0000000..51aeca8
--- /dev/null
+++ b/tests/predefined_macros.sh
@@ -0,0 +1,55 @@
+cat <<'EOF' > expected
+1
+EOF
+
+test_diff <<'EOF'
+int printf();
+
+int main() {
+ printf("%d\n", __ducc__);
+ return 0;
+}
+EOF
+
+cat <<'EOF' > expected
+main.c
+main.c
+main.c
+EOF
+
+cat <<'EOF' > header.h
+#define A __FILE__
+EOF
+
+test_diff <<'EOF'
+#define B __FILE__
+#include "header.h"
+int printf();
+int main() {
+ printf("%s\n", __FILE__);
+ printf("%s\n", B);
+ printf("%s\n", A);
+}
+EOF
+
+cat <<'EOF' > expected
+5
+6 6
+7 7
+EOF
+
+cat <<'EOF' > header.h
+#define A __LINE__
+EOF
+
+test_diff <<'EOF'
+#define B __LINE__
+#include "header.h"
+int printf();
+int main() {
+ printf("%d\n", __LINE__);
+ printf("%d %d\n", B, B);
+ printf("%d %d\n", A, A);
+}
+EOF
+