From 292a5e719543ec9e6f5fe18fec371302983be038 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Tue, 28 Jul 2020 08:14:49 +0200 Subject: Adapt to Clang 12 trunk Expr::getIntegerConstantExpression "Reapply 'Rename/refactor isIntegerConstantExpression to getIntegerConstantExpression'" Change-Id: I99277601fe7ffa3e0e5d22a4b3aaca4f51551ab3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99570 Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- compilerplugins/clang/compat.hxx | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'compilerplugins/clang/compat.hxx') diff --git a/compilerplugins/clang/compat.hxx b/compilerplugins/clang/compat.hxx index 76f076621394..8a1a728bd95b 100644 --- a/compilerplugins/clang/compat.hxx +++ b/compilerplugins/clang/compat.hxx @@ -174,6 +174,17 @@ inline bool EvaluateAsInt(clang::Expr const * expr, llvm::APSInt& intRes, const #endif } +inline llvm::Optional getIntegerConstantExpr( + clang::Expr const * expr, clang::ASTContext const & context) +{ +#if CLANG_VERSION >= 120000 + return expr->getIntegerConstantExpr(context); +#else + llvm::APSInt res; + return expr->isIntegerConstantExpr(res, context) ? res : llvm::Optional(); +#endif +} + inline clang::Expr * getSubExpr(clang::MaterializeTemporaryExpr const * expr) { #if CLANG_VERSION >= 100000 return expr->getSubExpr(); -- cgit