From: Ted Kremenek Date: Fri, 26 Sep 2008 23:19:04 +0000 (+0000) Subject: Use a union instead of a bunch of magic casts to implement a variant. This removes... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1377e541eacaafa3e2c4ffa86f6540e6863beadb;p=clang Use a union instead of a bunch of magic casts to implement a variant. This removes the type-punning errors for DeclGroup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56708 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/DeclGroup.cpp b/lib/AST/DeclGroup.cpp index 5987d5a701..10c39283a6 100644 --- a/lib/AST/DeclGroup.cpp +++ b/lib/AST/DeclGroup.cpp @@ -43,17 +43,17 @@ void DeclGroup::Destroy(ASTContext& C) { } DeclGroupOwningRef::~DeclGroupOwningRef() { - assert (ThePtr == 0 && "Destroy method not called."); + assert (Raw == 0 && "Destroy method not called."); } void DeclGroupOwningRef::Destroy(ASTContext& C) { - if (!ThePtr) + if (!Raw) return; if (getKind() == DeclKind) - reinterpret_cast(ThePtr)->Destroy(C); + reinterpret_cast(Raw)->Destroy(C); else - reinterpret_cast(ThePtr & ~Mask)->Destroy(C); + reinterpret_cast(Raw & ~Mask)->Destroy(C); - ThePtr = 0; + Raw = 0; }