From: Ted Kremenek Date: Thu, 29 May 2008 21:52:26 +0000 (+0000) Subject: Fix one strict-aliasing warning. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=54eec4c00d25cbb30a3e589f1b3a4ebaa72c81a0;p=clang Fix one strict-aliasing warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51707 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/CFG.cpp b/lib/AST/CFG.cpp index aad9ee7ada..ba6a6c8552 100644 --- a/lib/AST/CFG.cpp +++ b/lib/AST/CFG.cpp @@ -1177,17 +1177,17 @@ typedef llvm::FoldingSet BlkEdgeSetTy; const std::pair* CFG::getBlockEdgeImpl(const CFGBlock* B1, const CFGBlock* B2) { - llvm::BumpPtrAllocator*& Alloc = - reinterpret_cast(Allocator); + if (!Allocator) + Allocator = new llvm::BumpPtrAllocator(); - if (!Alloc) - Alloc = new llvm::BumpPtrAllocator(); + llvm::BumpPtrAllocator* Alloc = + static_cast(Allocator); - BlkEdgeSetTy*& p = reinterpret_cast(BlkEdgeSet); + if (!BlkEdgeSet) + BlkEdgeSet = new BlkEdgeSetTy(); + + BlkEdgeSetTy* p = static_cast(BlkEdgeSet); - if (!p) - p = new BlkEdgeSetTy(); - // Profile the edges. llvm::FoldingSetNodeID profile; void* InsertPos;