Hello,
Following statement from LLVM Programmer's Manual is not compiling.
CallInst* callInst = dyn_cast<CallInst>(&*basic_block_iterator_1);
The gcc version is :
gcc (GCC) 4.0.2 20051125 (Red Hat 4.0.2-8)
===========Error message
===========llvm/include/llvm/Support/Casting.h: In function 'bool
llvm::isa_impl(const From&) [with To = llvm::CallInst, From
llvm::Instruction]':
llvm/include/llvm/Support/Casting.h:69: instantiated from 'static
bool llvm::isa_impl_wrap<To, const FromTy, const FromTy>::doit(const
FromTy&) [with To = llvm::CallInst, FromTy = llvm::Instruction]'
llvm/include/llvm/Support/Casting.h:81: instantiated from 'static
bool llvm::isa_impl_cl<FromCl>::isa(const FromCl&) [with ToCl
llvm::CallInst, FromCl = llvm::Instruction]'
llvm/include/llvm/Support/Casting.h:99: instantiated from 'static
bool llvm::isa_impl_cl<FromCl*>::isa(FromCl*) [with ToCl llvm::CallInst,
FromCl = llvm::Instruction]'
llvm/include/llvm/Support/Casting.h:114: instantiated from 'bool
llvm::isa(const Y&) [with X = llvm::CallInst, Y = llvm::Instruction*]'
llvm/include/llvm/Support/Casting.h:223: instantiated from 'typename
llvm::cast_retty<To, From>::ret_type llvm::dyn_cast(Y) [with X
llvm::CallInst, Y = llvm::Instruction*]'
callsite.cc:22: instantiated from here
llvm/include/llvm/Support/Casting.h:52: error: incomplete type
'llvm::CallInst' used in nested name specifier
=========
Any hints about what the issue could be?
TIA