summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2016-11-25 11:22:14 +0100
committerStephan Bergmann <sbergman@redhat.com>2016-11-25 11:22:14 +0100
commitbf53daa49aee46c1e0a5c4117841bc5b9b992f6d (patch)
treea80cd361812291cc190313d8e1f574eb744eebbc
parentd63f42bd2a5827a47e7aeae78dfb53da8c718934 (diff)
Clean up PPCallbacks compatiblity fix
Change-Id: I91f1db18b7876c4ecc30f7f97283e0ef0369eba5
-rw-r--r--compilerplugins/clang/checkconfigmacros.cxx42
-rw-r--r--compilerplugins/clang/compat.hxx6
-rw-r--r--compilerplugins/clang/oslendian.cxx22
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);
}