[PATCH] D58743: Handle built-in when importing SourceLocation and FileID
Balázs Kéri via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 28 06:11:23 PST 2019
balazske added inline comments.
================
Comment at: include/clang/AST/ASTImporter.h:342
// FIXME: Remove this version.
- FileID Import(FileID);
+ FileID Import(FileID, bool isBuiltin=false);
----------------
teemperor wrote:
> `IsBuiltin`, not `isBuiltin`
`IsBuiltin = false` should be the correct formatting.
================
Comment at: lib/AST/ASTImporter.cpp:8250
Expected<FileID> ASTImporter::Import_New(FileID FromID) {
FileID ToID = Import(FromID);
----------------
The new parameter should be added here too.
================
Comment at: lib/AST/ASTImporter.cpp:8284
+
+ if (!isBuiltin) {
+ // Include location of this file.
----------------
The `Cache` can be moved into this block and the block to `else if`.
================
Comment at: lib/AST/ASTImporter.cpp:8301
+ ToID = ToSM.createFileID(Entry, ToIncludeLoc,
+ FromSLoc.getFile().getFileCharacteristic());
+ }
----------------
Is it possible that in the `isBuiltin` true case this part of the code does run (always) without assertion or other error and the result is always an invalid `ToID`? (If yes the whole change is not needed, so I want to know what was the reason for this change, was there any crash or bug.)
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58743/new/
https://reviews.llvm.org/D58743
More information about the cfe-commits
mailing list