diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-02-16 19:09:24 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-02-16 19:09:24 +0000 |
commit | 37c02bf479c86c31ad2af75adbe1ead2b928ca93 (patch) | |
tree | c163be26aa95d36ab3e5ff37e2649b1410b5bd68 /lib/Basic/SourceManager.cpp | |
parent | 48601b32321496b07a18fb6631f8563275d8c5fb (diff) |
Fix a thinko with llvm::Optional, which is clearly the most dangerous class template in the universe
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125679 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/SourceManager.cpp')
-rw-r--r-- | lib/Basic/SourceManager.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/Basic/SourceManager.cpp b/lib/Basic/SourceManager.cpp index 4b0a3925ca..044c88dd2b 100644 --- a/lib/Basic/SourceManager.cpp +++ b/lib/Basic/SourceManager.cpp @@ -1156,10 +1156,14 @@ SourceLocation SourceManager::getLocation(const FileEntry *SourceFile, SourceFileName = llvm::sys::path::filename(SourceFile->getName()); if (*SourceFileName == llvm::sys::path::filename(MainFile->getName())) { SourceFileInode = getActualFileInode(SourceFile); - if (SourceFileInode && - *SourceFileInode == getActualFileInode(MainFile)) { - FirstFID = MainFileID; - SourceFile = MainFile; + if (SourceFileInode) { + if (llvm::Optional<ino_t> MainFileInode + = getActualFileInode(MainFile)) { + if (*SourceFileInode == *MainFileInode) { + FirstFID = MainFileID; + SourceFile = MainFile; + } + } } } } |