how to know whether a function is a declaration or definition


I found a function call Function::isDeclaration() in llvm 2.5 (I know that’s ancient…), which is useful to me, but I can’t find it in the later version 3.3, nor the latest 3.7…Therefore, is there an alternative way to check whether the function is just a declaration or a definition ?

PS: I read the source code of llvm 2.5, and found isDeclaration is simply to check if the private member “basicblocks” in a function is empty, but since it’s private, I can’t call it outside the class…



isDeclaration() now belongs to the GlobalValue class. Since Function is a subclass of GlobalValue, you can use this function as usual.



Thank you all, guys !