diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2016-11-25 11:22:14 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2016-11-25 11:22:14 +0100 |
commit | bf53daa49aee46c1e0a5c4117841bc5b9b992f6d (patch) | |
tree | a80cd361812291cc190313d8e1f574eb744eebbc | |
parent | d63f42bd2a5827a47e7aeae78dfb53da8c718934 (diff) |
Clean up PPCallbacks compatiblity fix
Change-Id: I91f1db18b7876c4ecc30f7f97283e0ef0369eba5
-rw-r--r-- | compilerplugins/clang/checkconfigmacros.cxx | 42 | ||||
-rw-r--r-- | compilerplugins/clang/compat.hxx | 6 | ||||
-rw-r--r-- | compilerplugins/clang/oslendian.cxx | 22 |
3 files changed, 23 insertions, 47 deletions
diff --git a/compilerplugins/clang/checkconfigmacros.cxx b/compilerplugins/clang/checkconfigmacros.cxx index 1a927658fcaf..3d6dc98ac7f7 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 063d0ce946fd..28dbeec71e20 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 2bac8489a8eb..705a7bcc987a 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); } |