summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
diff options
context:
space:
mode:
authorAlexandre Ganea <alexandre.ganea@ubisoft.com>2019-05-21 19:40:28 +0000
committerAlexandre Ganea <alexandre.ganea@ubisoft.com>2019-05-21 19:40:28 +0000
commit047e65db77571bb586429a8094b3dfa43cecd449 (patch)
treef82cd9abcbd0023fe8625bd40a16ed05378ef404 /clang/test/CodeGen
parentb07176666b8ec276902d207f8ee0f832323a2128 (diff)
downloadbcm5719-llvm-047e65db77571bb586429a8094b3dfa43cecd449.tar.gz
bcm5719-llvm-047e65db77571bb586429a8094b3dfa43cecd449.zip
[DebugInfo] Don't emit checksums when compiling a preprocessed CPP
Fixes PR41215 Differential Revision: https://reviews.llvm.org/D60283 llvm-svn: 361296
Diffstat (limited to 'clang/test/CodeGen')
-rw-r--r--clang/test/CodeGen/Inputs/debug-info-file-checksum-line.cpp9
-rw-r--r--clang/test/CodeGen/Inputs/debug-info-file-checksum-pre.cpp10
-rw-r--r--clang/test/CodeGen/debug-info-file-checksum.c12
3 files changed, 31 insertions, 0 deletions
diff --git a/clang/test/CodeGen/Inputs/debug-info-file-checksum-line.cpp b/clang/test/CodeGen/Inputs/debug-info-file-checksum-line.cpp
new file mode 100644
index 00000000000..e5fe98263a1
--- /dev/null
+++ b/clang/test/CodeGen/Inputs/debug-info-file-checksum-line.cpp
@@ -0,0 +1,9 @@
+int foo(int x) {
+ return x+1;
+}
+
+#line 100
+void test1() {}
+
+#line 200
+void test2() {}
diff --git a/clang/test/CodeGen/Inputs/debug-info-file-checksum-pre.cpp b/clang/test/CodeGen/Inputs/debug-info-file-checksum-pre.cpp
new file mode 100644
index 00000000000..11029e6b7a5
--- /dev/null
+++ b/clang/test/CodeGen/Inputs/debug-info-file-checksum-pre.cpp
@@ -0,0 +1,10 @@
+#line 1 "F:\\svn\\clang\\test\\CodeGen\\Inputs\\debug-info-file-checksum.c"
+#line 1 "f:\\svn\\clang\\test\\codegen\\inputs\\code-coverage-filter1.h"
+void test1() {}
+#line 2 "F:\\svn\\clang\\test\\CodeGen\\Inputs\\debug-info-file-checksum.c"
+#line 1 "f:\\svn\\clang\\test\\codegen\\inputs\\code-coverage-filter2.h"
+void test2() {}
+#line 3 "F:\\svn\\clang\\test\\CodeGen\\Inputs\\debug-info-file-checksum.c"
+int foo(int x) {
+ return x+1;
+}
diff --git a/clang/test/CodeGen/debug-info-file-checksum.c b/clang/test/CodeGen/debug-info-file-checksum.c
index d644aac0614..273a10b0678 100644
--- a/clang/test/CodeGen/debug-info-file-checksum.c
+++ b/clang/test/CodeGen/debug-info-file-checksum.c
@@ -4,3 +4,15 @@
// Check that "checksum" is created correctly for the compiled file.
// CHECK: !DIFile(filename:{{.*}}, directory:{{.*}}, checksumkind: CSK_MD5, checksum: "a3b7d27af071accdeccaa933fc603608")
+
+// Ensure #line directives (in already pre-processed files) do not emit checksums
+// RUN: %clang -emit-llvm -S -g -gcodeview -x c %S/Inputs/debug-info-file-checksum-pre.cpp -o - | FileCheck %s --check-prefix NOCHECKSUM
+
+// NOCHECKSUM: !DIFile(filename: "{{.*}}code-coverage-filter1.h", directory: "{{[^"]*}}")
+// NOCHECKSUM: !DIFile(filename: "{{.*}}code-coverage-filter2.h", directory: "{{[^"]*}}")
+// NOCHECKSUM: !DIFile(filename: "{{.*}}debug-info-file-checksum.c", directory: "{{[^"]*}}")
+
+// Ensure #line directives without name do emit checksums
+// RUN: %clang -emit-llvm -S -g -gcodeview -x c %S/Inputs/debug-info-file-checksum-line.cpp -o - | FileCheck %s --check-prefix CHECKSUM
+
+// CHECKSUM: !DIFile(filename: "{{.*}}debug-info-file-checksum-line.cpp", directory:{{.*}}, checksumkind: CSK_MD5, checksum: "7b568574d0e3c56c28e5e0234d1f4a06")
OpenPOWER on IntegriCloud