summaryrefslogtreecommitdiffstats
path: root/src/linguist/lupdate/clangtoolastreader.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/linguist/lupdate/clangtoolastreader.h')
-rw-r--r--src/linguist/lupdate/clangtoolastreader.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/linguist/lupdate/clangtoolastreader.h b/src/linguist/lupdate/clangtoolastreader.h
index e43bc471d..e339cca85 100644
--- a/src/linguist/lupdate/clangtoolastreader.h
+++ b/src/linguist/lupdate/clangtoolastreader.h
@@ -64,6 +64,10 @@ QT_BEGIN_NAMESPACE
Q_DECLARE_LOGGING_CATEGORY(lcClang)
+#define LUPDATE_CLANG_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
+#define LUPDATE_CLANG_VERSION LUPDATE_CLANG_VERSION_CHECK(LUPDATE_CLANG_VERSION_MAJOR, \
+ LUPDATE_CLANG_VERSION_MINOR, LUPDATE_CLANG_VERSION_PATCH)
+
class LupdateVisitor : public clang::RecursiveASTVisitor<LupdateVisitor>
{
public:
@@ -120,10 +124,17 @@ public:
: m_tor(tor)
{}
+#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(10,0,0))
+ std::unique_ptr<clang::FrontendAction> create() override
+ {
+ return std::make_unique<LupdateFrontendAction>(m_tor);
+ }
+#else
clang::FrontendAction *create() override
{
return new LupdateFrontendAction(m_tor);
}
+#endif
private:
Translator *m_tor { nullptr };