summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-03-08 23:35:24 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-03-08 23:35:24 +0000
commit97d3a38c3eab5e2baac400bc152268068990934f (patch)
tree974fa4fb5bbe00b13bdf5e45be61bf40138ff7f5 /clang/lib/Basic/SourceManager.cpp
parent4bb6c6b37ed03f47fb07e1694e51c8a81ae3b33e (diff)
downloadbcm5719-llvm-97d3a38c3eab5e2baac400bc152268068990934f.tar.gz
bcm5719-llvm-97d3a38c3eab5e2baac400bc152268068990934f.zip
Add 'OverridenFilesKeepOriginalName' field in SourceManager which if true the SourceManager
should report the original file name for contents of files that were overriden by other files, otherwise it should report the name of the new file. Default is true. Also add similar field in PreprocessorOptions and pass similar parameter in ASTUnit::LoadFromCommandLine. llvm-svn: 127289
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
-rw-r--r--clang/lib/Basic/SourceManager.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp
index cffdb937bf0..b6939ec7d55 100644
--- a/clang/lib/Basic/SourceManager.cpp
+++ b/clang/lib/Basic/SourceManager.cpp
@@ -340,7 +340,7 @@ LineTableInfo &SourceManager::getLineTable() {
//===----------------------------------------------------------------------===//
SourceManager::SourceManager(Diagnostic &Diag, FileManager &FileMgr)
- : Diag(Diag), FileMgr(FileMgr),
+ : Diag(Diag), FileMgr(FileMgr), OverridenFilesKeepOriginalName(true),
ExternalSLocEntries(0), LineTable(0), NumLinearScans(0),
NumBinaryProbes(0) {
clearIDTables();
@@ -403,7 +403,9 @@ SourceManager::getOrCreateContentCache(const FileEntry *FileEnt) {
if (overI == OverriddenFiles.end())
new (Entry) ContentCache(FileEnt);
else
- new (Entry) ContentCache(FileEnt, overI->second);
+ new (Entry) ContentCache(OverridenFilesKeepOriginalName ? FileEnt
+ : overI->second,
+ overI->second);
return Entry;
}
OpenPOWER on IntegriCloud