[Libreoffice-commits] core.git: compilerplugins/clang

Stephan Bergmann sbergman at redhat.com
Fri Nov 25 10:22:54 UTC 2016


 compilerplugins/clang/checkconfigmacros.cxx |   42 +++++-----------------------
 compilerplugins/clang/compat.hxx            |    6 ++++
 compilerplugins/clang/oslendian.cxx         |   22 ++++++--------
 3 files changed, 23 insertions(+), 47 deletions(-)

New commits:
commit bf53daa49aee46c1e0a5c4117841bc5b9b992f6d
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Nov 25 11:22:14 2016 +0100

    Clean up PPCallbacks compatiblity fix
    
    Change-Id: I91f1db18b7876c4ecc30f7f97283e0ef0369eba5

diff --git a/compilerplugins/clang/checkconfigmacros.cxx b/compilerplugins/clang/checkconfigmacros.cxx
index 1a92765..3d6dc98 100644
--- a/compilerplugins/clang/checkconfigmacros.cxx
+++ b/compilerplugins/clang/checkconfigmacros.cxx
@@ -35,20 +35,10 @@ class CheckConfigMacros
         explicit CheckConfigMacros( const InstantiationData& data );
         virtual void run() override;
         virtual void MacroDefined( const Token& macroToken, const MacroDirective* info ) override;
-#if CLANG_VERSION < 30700
-        virtual void MacroUndefined( const Token& macroToken, const MacroDirective* info ) override;
-        virtual void Ifdef( SourceLocation location, const Token& macroToken, const MacroDirective* info ) override;
-        virtual void Ifndef( SourceLocation location, const Token& macroToken, const MacroDirective* info ) override;
-#else
-        virtual void MacroUndefined( const Token& macroToken, const MacroDefinition& info ) override;
-        virtual void Ifdef( SourceLocation location, const Token& macroToken, const MacroDefinition& info ) override;
-        virtual void Ifndef( SourceLocation location, const Token& macroToken, const MacroDefinition& info ) override;
-#endif
-#if CLANG_VERSION < 30700
-        virtual void Defined( const Token& macroToken, const MacroDirective* info, SourceRange Range ) override;
-#else
-        virtual void Defined( const Token& macroToken, const MacroDefinition& info, SourceRange Range ) override;
-#endif
+        virtual void MacroUndefined( const Token& macroToken, compat::MacroDefinitionParam ) override;
+        virtual void Ifdef( SourceLocation location, const Token& macroToken, compat::MacroDefinitionParam ) override;
+        virtual void Ifndef( SourceLocation location, const Token& macroToken, compat::MacroDefinitionParam ) override;
+        virtual void Defined( const Token& macroToken, compat::MacroDefinitionParam, SourceRange Range ) override;
         enum { isPPCallback = true };
     private:
         void checkMacro( const Token& macroToken, SourceLocation location );
@@ -79,38 +69,22 @@ void CheckConfigMacros::MacroDefined( const Token& macroToken, const MacroDirect
         }
     }
 
-#if CLANG_VERSION < 30700
-void CheckConfigMacros::MacroUndefined( const Token& macroToken, const MacroDirective* )
-#else
-void CheckConfigMacros::MacroUndefined( const Token& macroToken, const MacroDefinition& )
-#endif
+void CheckConfigMacros::MacroUndefined( const Token& macroToken, compat::MacroDefinitionParam )
     {
     configMacros.erase( macroToken.getIdentifierInfo()->getName());
     }
 
-#if CLANG_VERSION < 30700
-void CheckConfigMacros::Ifdef( SourceLocation location, const Token& macroToken, const MacroDirective* )
-#else
-void CheckConfigMacros::Ifdef( SourceLocation location, const Token& macroToken, const MacroDefinition& )
-#endif
+void CheckConfigMacros::Ifdef( SourceLocation location, const Token& macroToken, compat::MacroDefinitionParam )
     {
     checkMacro( macroToken, location );
     }
 
-#if CLANG_VERSION < 30700
-void CheckConfigMacros::Ifndef( SourceLocation location, const Token& macroToken, const MacroDirective* )
-#else
-void CheckConfigMacros::Ifndef( SourceLocation location, const Token& macroToken, const MacroDefinition& )
-#endif
+void CheckConfigMacros::Ifndef( SourceLocation location, const Token& macroToken, compat::MacroDefinitionParam )
     {
     checkMacro( macroToken, location );
     }
 
-#if CLANG_VERSION < 30700
-void CheckConfigMacros::Defined( const Token& macroToken, const MacroDirective* , SourceRange )
-#else
-void CheckConfigMacros::Defined( const Token& macroToken, const MacroDefinition& , SourceRange )
-#endif
+void CheckConfigMacros::Defined( const Token& macroToken, compat::MacroDefinitionParam , SourceRange )
     {
     checkMacro( macroToken, macroToken.getLocation());
     }
diff --git a/compilerplugins/clang/compat.hxx b/compilerplugins/clang/compat.hxx
index 063d0ce..28dbeec 100644
--- a/compilerplugins/clang/compat.hxx
+++ b/compilerplugins/clang/compat.hxx
@@ -179,6 +179,12 @@ inline std::unique_ptr<llvm::raw_fd_ostream> create_raw_fd_ostream(
 #endif
 }
 
+#if CLANG_VERSION >= 30700
+using MacroDefinitionParam = clang::MacroDefinition const &;
+#else
+using MacroDefinitionParam = clang::MacroDirective const *;
+#endif
+
 inline void addPPCallbacks(
     clang::Preprocessor & preprocessor, clang::PPCallbacks * C)
 {
diff --git a/compilerplugins/clang/oslendian.cxx b/compilerplugins/clang/oslendian.cxx
index 2bac848..705a7bc 100644
--- a/compilerplugins/clang/oslendian.cxx
+++ b/compilerplugins/clang/oslendian.cxx
@@ -14,12 +14,6 @@
 
 namespace {
 
-#if CLANG_VERSION < 30700
-using MacroDefinitionParam = MacroDirective const *;
-#else
-using MacroDefinitionParam = MacroDefinition const &;
-#endif
-
 class OslEndian: public loplugin::Plugin, public PPCallbacks {
 public:
     explicit OslEndian(InstantiationData const & data): Plugin(data) {
@@ -64,8 +58,8 @@ private:
         }
     }
 
-    void MacroUndefined(Token const & MacroNameTok, MacroDefinitionParam)
-        override
+    void MacroUndefined(
+        Token const & MacroNameTok, compat::MacroDefinitionParam) override
     {
         auto id = MacroNameTok.getIdentifierInfo()->getName();
         if (id == "OSL_BIGENDIAN" || id == "OSL_LITENDIAN") {
@@ -76,21 +70,23 @@ private:
         }
     }
 
-    void Defined(Token const & MacroNameTok, MacroDefinitionParam, SourceRange)
+    void Defined(
+        Token const & MacroNameTok, compat::MacroDefinitionParam, SourceRange)
         override
     {
         check(MacroNameTok);
     }
 
-    void Ifdef(SourceLocation, Token const & MacroNameTok, MacroDefinitionParam)
-        override
+    void Ifdef(
+        SourceLocation, Token const & MacroNameTok,
+        compat::MacroDefinitionParam) override
     {
         check(MacroNameTok);
     }
 
     void Ifndef(
-        SourceLocation, Token const & MacroNameTok, MacroDefinitionParam)
-        override
+        SourceLocation, Token const & MacroNameTok,
+        compat::MacroDefinitionParam) override
     {
         check(MacroNameTok);
     }


More information about the Libreoffice-commits mailing list