[PATCH] D60283: [DebugInfo] Don't emit checksums when compiling a preprocessed CPP
Paul Robinson via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed May 15 09:50:12 PDT 2019
probinson added a comment.
Minor stuff. This solution is surprisingly simple, the main question being (and I don't have an answer) whether increasing the size of PresumedLoc is okay.
================
Comment at: lib/Basic/SourceManager.cpp:1460
+ FID = FileID::get(0); // contents of files referenced by #line aren't in
+ // the SourceManager
+ }
----------------
The comment would work better as a proper sentence, and on the line before the statement.
================
Comment at: lib/CodeGen/CGDebugInfo.cpp:429
+ // all the files referred by #line. Instead the checksum remains empty,
+ // leaving to the debugger to open the file without checksum validation.
Optional<llvm::DIFile::ChecksumKind> CSKind =
----------------
While the comment describes the desirable result, it is actually not describing what is happening right here. Maybe something like this:
Compute the checksum if possible. If the location is affected by a #line directive that refers to a file, PLoc will have an invalid FileID, and we will correctly get no checksum.
================
Comment at: test/CodeGen/debug-info-file-checksum.c:13
+// NOCHECKSUM-LABEL: !DIFile(filename: "{{.*}}code-coverage-filter2.h", directory: "{{[^"]*}}")
+// NOCHECKSUM-LABEL: !DIFile(filename: "{{.*}}debug-info-file-checksum.c", directory: "{{[^"]*}}")
+
----------------
These directives don't need the -LABEL suffix.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60283/new/
https://reviews.llvm.org/D60283
More information about the cfe-commits
mailing list