diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2018-08-10 12:35:21 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2018-08-10 15:14:03 +0200 |
commit | 3cc5149a84c7b8cfaf0deb2e2f6c88c72343ee28 (patch) | |
tree | 07bfda734ee36d2ca1dc83e2ac4a1c6ef3222691 /compilerplugins/clang/compat.hxx | |
parent | d1a19ef614fd1bf115af15d3cb16e24150d4ceb7 (diff) |
Avoid -Werror=deprecated-declarations with recent Clang trunk
...which first added alternative names to and then deprecated getLocBegin/End
Change-Id: Iaefb8ce259057abfa6cd20f0b63c0ef2949a96b2
Reviewed-on: https://gerrit.libreoffice.org/58820
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'compilerplugins/clang/compat.hxx')
-rw-r--r-- | compilerplugins/clang/compat.hxx | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/compilerplugins/clang/compat.hxx b/compilerplugins/clang/compat.hxx index e77846ab1166..a83ed8688278 100644 --- a/compilerplugins/clang/compat.hxx +++ b/compilerplugins/clang/compat.hxx @@ -14,6 +14,7 @@ #include <utility> #include "clang/AST/Decl.h" +#include "clang/AST/DeclCXX.h" #include "clang/AST/Expr.h" #include "clang/AST/ExprCXX.h" #include "clang/Basic/SourceManager.h" @@ -50,6 +51,70 @@ inline clang::FunctionDecl::param_const_range parameters( } #endif +inline clang::SourceLocation getBeginLoc(clang::Decl const * decl) { +#if CLANG_VERSION >= 80000 + return decl->getBeginLoc(); +#else + return decl->getLocStart(); +#endif +} + +inline clang::SourceLocation getEndLoc(clang::Decl const * decl) { +#if CLANG_VERSION >= 80000 + return decl->getEndLoc(); +#else + return decl->getLocEnd(); +#endif +} + +inline clang::SourceLocation getBeginLoc(clang::DeclarationNameInfo const & info) { +#if CLANG_VERSION >= 80000 + return info.getBeginLoc(); +#else + return info.getLocStart(); +#endif +} + +inline clang::SourceLocation getEndLoc(clang::DeclarationNameInfo const & info) { +#if CLANG_VERSION >= 80000 + return info.getEndLoc(); +#else + return info.getLocEnd(); +#endif +} + +inline clang::SourceLocation getBeginLoc(clang::Stmt const * stmt) { +#if CLANG_VERSION >= 80000 + return stmt->getBeginLoc(); +#else + return stmt->getLocStart(); +#endif +} + +inline clang::SourceLocation getEndLoc(clang::Stmt const * stmt) { +#if CLANG_VERSION >= 80000 + return stmt->getEndLoc(); +#else + return stmt->getLocEnd(); +#endif +} + +inline clang::SourceLocation getBeginLoc(clang::CXXBaseSpecifier const * spec) { +#if CLANG_VERSION >= 80000 + return spec->getBeginLoc(); +#else + return spec->getLocStart(); +#endif +} + +inline clang::SourceLocation getEndLoc(clang::CXXBaseSpecifier const * spec) { +#if CLANG_VERSION >= 80000 + return spec->getEndLoc(); +#else + return spec->getLocEnd(); +#endif +} + inline std::pair<clang::SourceLocation, clang::SourceLocation> getImmediateExpansionRange( clang::SourceManager const & SM, clang::SourceLocation Loc) { |