From: Chris Lattner Date: Tue, 13 Oct 2009 06:04:29 +0000 (+0000) Subject: number address-taken labels from 1. This allows 0 to be used as a sentinel X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9329a5c2924bc2c6379d7c202a4b312321edd719;p=clang number address-taken labels from 1. This allows 0 to be used as a sentinel for a null pointer. In other words, "&&foo != NULL" will always work out to true. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83948 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CodeGenFunction.cpp b/lib/CodeGen/CodeGenFunction.cpp index 10c10d9a8a..2d4dc455f2 100644 --- a/lib/CodeGen/CodeGenFunction.cpp +++ b/lib/CodeGen/CodeGenFunction.cpp @@ -444,7 +444,7 @@ void CodeGenFunction::ErrorUnsupported(const Stmt *S, const char *Type, unsigned CodeGenFunction::GetIDForAddrOfLabel(const LabelStmt *L) { // Use LabelIDs.size() as the new ID if one hasn't been assigned. - return LabelIDs.insert(std::make_pair(L, LabelIDs.size())).first->second; + return LabelIDs.insert(std::make_pair(L, LabelIDs.size()+1)).first->second; } void CodeGenFunction::EmitMemSetToZero(llvm::Value *DestPtr, QualType Ty) {