Kaydet (Commit) bf53daa4 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Clean up PPCallbacks compatiblity fix

Change-Id: I91f1db18b7876c4ecc30f7f97283e0ef0369eba5
üst d63f42bd
......@@ -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());
}
......
......@@ -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)
{
......
......@@ -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);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment