From: Sam Bishop Date: Sun, 13 Apr 2008 04:32:18 +0000 (+0000) Subject: Use static_cast<> instead of cast<> in Decl::Destroy(). Suggestion by Argiris X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1b30cb27f894687c6021e7331265ae21aeb57d3f;p=clang Use static_cast<> instead of cast<> in Decl::Destroy(). Suggestion by Argiris Kirtzidis! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49603 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp index bcb117dbc6..ac1a593e6f 100644 --- a/lib/AST/Decl.cpp +++ b/lib/AST/Decl.cpp @@ -329,7 +329,10 @@ const Attr *Decl::getAttrs() const { return (*DeclAttrs)[this]; } -#define CASE(KIND) case KIND: cast(this)->~KIND##Decl(); break +#define CASE(KIND) \ + case KIND: \ + static_cast(const_cast(this))->~KIND##Decl(); \ + break void Decl::Destroy(ASTContext& C) const { switch (getKind()) { @@ -355,7 +358,7 @@ void Decl::Destroy(ASTContext& C) const { CASE(LinkageSpec); case Struct: case Union: case Class: - cast(this)->~RecordDecl(); + static_cast(const_cast(this))->~RecordDecl(); break; default: assert(0 && "Unknown decl kind!");