[PATCH] D30691: [analyzer] Support for naive cross translational unit analysis
Daniel Marjamäki via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 25 04:56:52 PDT 2017
danielmarjamaki added inline comments.
================
Comment at: lib/AST/ASTContext.cpp:1495
+ ASTUnit *Unit = nullptr;
+ StringRef ASTFileName;
+ auto FnUnitCacheEntry = FunctionAstUnitMap.find(MangledFnName);
----------------
As far as I see you can move this ASTFileName declaration down.
================
Comment at: lib/AST/ASTContext.cpp:1497
+ auto FnUnitCacheEntry = FunctionAstUnitMap.find(MangledFnName);
+ if (FnUnitCacheEntry == FunctionAstUnitMap.end()) {
+ if (FunctionFileMap.empty()) {
----------------
How about replacing FunctionAstUnitMap.find() with FunctionAstUnitMap.count()?
================
Comment at: lib/AST/ASTContext.cpp:1511
+ auto It = FunctionFileMap.find(MangledFnName);
+ if (It != FunctionFileMap.end())
+ ASTFileName = It->second;
----------------
As far as I see this can be changed to:
```
if (It == FunctionFileMap.end())
return nullptr;
const StringRef ASTFileName = It->second;
```
================
Comment at: tools/clang-func-mapping/ClangFnMapGen.cpp:48
+ : Ctx(Context), ItaniumCtx(MangleCtx) {}
+ std::string CurrentFileName;
+
----------------
As far I see CurrentFileName is only used in 1 method and should therefore be private.
================
Comment at: tools/clang-func-mapping/ClangFnMapGen.cpp:86
+ SM.getFileEntryForID(SM.getMainFileID())->getName();
+ char *Path = realpath(SMgrName.str().c_str(), nullptr);
+ CurrentFileName = Path;
----------------
I believe realpath is a posix function.
https://reviews.llvm.org/D30691
More information about the cfe-commits
mailing list