From: Douglas Gregor Date: Wed, 16 Feb 2011 19:09:24 +0000 (+0000) Subject: Fix a thinko with llvm::Optional, which is clearly the most dangerous class template... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=37c02bf479c86c31ad2af75adbe1ead2b928ca93;p=clang 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 --- 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 MainFileInode + = getActualFileInode(MainFile)) { + if (*SourceFileInode == *MainFileInode) { + FirstFID = MainFileID; + SourceFile = MainFile; + } + } } } }