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 | d766be689d5a78634c4f3daf670d3348de11146c (patch) | |
tree | 09d199400b834c9d20023f969b06c15e8cef590c /clang/lib/Basic/SourceManager.cpp | |
parent | 162b712d383dfb542137f66bf6f4e24c69167869 (diff) | |
download | bcm5719-llvm-d766be689d5a78634c4f3daf670d3348de11146c.tar.gz bcm5719-llvm-d766be689d5a78634c4f3daf670d3348de11146c.zip |
Fix a thinko with llvm::Optional, which is clearly the most dangerous class template in the universe
llvm-svn: 125679
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
-rw-r--r-- | clang/lib/Basic/SourceManager.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp index 4b0a3925ca3..044c88dd2bf 100644 --- a/clang/lib/Basic/SourceManager.cpp +++ b/clang/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; + } + } } } } |