interface: handle FileManager::getFile returning ErrorOr<const FileEntry *>
commitfeb3c94b1dc7ab60164e1b4ef23c09ac6ac61b57
authorSven Verdoolaege <sven.verdoolaege@gmail.com>
Sun, 4 Aug 2019 22:03:12 +0000 (5 00:03 +0200)
committerSven Verdoolaege <sven.verdoolaege@gmail.com>
Tue, 6 Aug 2019 19:23:32 +0000 (6 21:23 +0200)
treea89cd9e92d37be320a86934635892b0e4dd726f1
parentfabe1383aea8192c99f70acb251a703eb1510423
interface: handle FileManager::getFile returning ErrorOr<const FileEntry *>

LLVM commit 461f0722dd2 changed the return value of
FileManager::getFile to llvm::ErrorOr<const FileEntry *>.
Extract out the embedded const FileEntry * in this case,
while not modifying the return value if it is already
of type const FileEntry * (for older versions of LLVM/clang).
The code uses templates to pick the right version
because llvm::ErrorOr may not even be defined
(in really old versions of LLVM/clang).

Reported-by: Rainer Orth <ro@gcc.gnu.org>
Signed-off-by: Sven Verdoolaege <sven.verdoolaege@gmail.com>
interface/extract_interface.cc