diff options
Diffstat (limited to 'compilerplugins/clang/compat.hxx')
-rw-r--r-- | compilerplugins/clang/compat.hxx | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/compilerplugins/clang/compat.hxx b/compilerplugins/clang/compat.hxx index 1f025e70472f..3d265722c044 100644 --- a/compilerplugins/clang/compat.hxx +++ b/compilerplugins/clang/compat.hxx @@ -20,6 +20,7 @@ #include "clang/AST/Type.h" #include "clang/Basic/Diagnostic.h" #include "clang/Basic/DiagnosticIDs.h" +#include "clang/Basic/SourceManager.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/raw_ostream.h" @@ -101,6 +102,16 @@ inline unsigned getBuiltinCallee(clang::CallExpr const & expr) { #endif } +inline bool isInMainFile( + clang::SourceManager const & manager, clang::SourceLocation Loc) +{ +#if (__clang_major__ == 3 && __clang_minor__ >= 4) || __clang_major__ > 3 + return manager.isInMainFile(Loc); +#else + return manager.isFromMainFile(Loc); +#endif +} + inline unsigned getCustomDiagID( clang::DiagnosticsEngine & engine, clang::DiagnosticsEngine::Level L, llvm::StringRef FormatString) |