From 1b30cb27f894687c6021e7331265ae21aeb57d3f Mon Sep 17 00:00:00 2001 From: Sam Bishop Date: Sun, 13 Apr 2008 04:32:18 +0000 Subject: [PATCH] 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 --- lib/AST/Decl.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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!"); -- 2.40.0