summaryrefslogtreecommitdiffstats
path: root/clang/test/Preprocessor/line-directive-output.c
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-04-13 00:01:41 +0000
committerChris Lattner <sabre@nondot.org>2010-04-13 00:01:41 +0000
commit5dbefc6697fbaaeb11a0143454112976de993831 (patch)
treeea5de05bf5396f34571aca688489b9b2b39ed96e /clang/test/Preprocessor/line-directive-output.c
parentd75c8a0813e3e1f78a13aee67db0a3287098f0d1 (diff)
downloadbcm5719-llvm-5dbefc6697fbaaeb11a0143454112976de993831.tar.gz
bcm5719-llvm-5dbefc6697fbaaeb11a0143454112976de993831.zip
make the preprocessor listen to linemarker directives in -E mode,
PR6101. This is based on a patch and testcase by Jordy Rose! llvm-svn: 101097
Diffstat (limited to 'clang/test/Preprocessor/line-directive-output.c')
-rw-r--r--clang/test/Preprocessor/line-directive-output.c71
1 files changed, 71 insertions, 0 deletions
diff --git a/clang/test/Preprocessor/line-directive-output.c b/clang/test/Preprocessor/line-directive-output.c
new file mode 100644
index 00000000000..fc1a310bf0b
--- /dev/null
+++ b/clang/test/Preprocessor/line-directive-output.c
@@ -0,0 +1,71 @@
+// RUN: %clang_cc1 -E %s 2>&1 | FileCheck %s -strict-whitespace
+// PR6101
+int a;
+// CHECK: # 2 "{{.*}}line-directive-output.c"
+// CHECK: int a;
+
+// CHECK-NEXT: # 50 "{{.*}}line-directive-output.c"
+// CHECK-NEXT: int b;
+#line 50
+int b;
+
+// CHECK: # 13 "{{.*}}line-directive-output.c"
+// CHECK-NEXT: int c;
+# 13
+int c;
+
+
+// CHECK-NEXT: # 1 "A.c"
+#line 1 "A.c"
+// CHECK-NEXT: # 2 "A.c"
+#line 2
+
+// CHECK-NEXT: # 1 "B.c"
+#line 1 "B.c"
+
+// CHECK-NEXT: # 1000 "A.c"
+#line 1000 "A.c"
+
+int y;
+
+
+
+
+
+
+
+// CHECK: # 1010 "A.c"
+int z;
+
+extern int x;
+
+# 3 "temp2.h" 1
+extern int y;
+
+# 7 "A.c" 2
+extern int z;
+
+
+
+
+
+
+
+
+
+
+
+
+
+// CHECK: # 25 "A.c"
+
+
+// CHECK: # 50 "C.c" 1
+# 50 "C.c" 1
+
+
+// CHECK-NEXT: # 2000 "A.c" 2
+# 2000 "A.c" 2
+# 42 "A.c"
+# 44 "A.c"
+# 49 "A.c"
OpenPOWER on IntegriCloud