From d24931632b480e0472e88df200c4ef80649e48f1 Mon Sep 17 00:00:00 2001 From: Torok Edwin Date: Fri, 31 Oct 2008 17:27:41 +0000 Subject: [PATCH] Add an assert to catch user errors like: MyFunctionPass() : FunctionPass(ID) {} when the user actually meant to write: MyFunctionPass() : FunctionPass(&ID) {} git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58518 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Pass.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/include/llvm/Pass.h b/include/llvm/Pass.h index 305ac37b17d..247805f4dbf 100644 --- a/include/llvm/Pass.h +++ b/include/llvm/Pass.h @@ -81,8 +81,12 @@ class Pass { void operator=(const Pass&); // DO NOT IMPLEMENT Pass(const Pass &); // DO NOT IMPLEMENT public: - explicit Pass(intptr_t pid) : Resolver(0), PassID(pid) {} - explicit Pass(const void *pid) : Resolver(0), PassID((intptr_t)pid) {} + explicit Pass(intptr_t pid) : Resolver(0), PassID(pid) { + assert(pid && "pid cannot be 0"); + } + explicit Pass(const void *pid) : Resolver(0), PassID((intptr_t)pid) { + assert(pid && "pid cannot be 0"); + } virtual ~Pass(); /// getPassName - Return a nice clean name for a pass. This usually