[cfe-dev] regression with function pointers

Nuno Lopes nunoplopes at sapo.pt
Fri Nov 30 15:17:25 PST 2007


Hi,

There was some kind of regression in function pointers handling.  
Attached is a file that triggers an assert failure (when run with e.g.  
-ast-dump):

clang: /cvs/llvm/include/llvm/Support/Casting.h:199: typename  
llvm::cast_retty<To, From>::ret_type llvm::cast(const Y&) [with X =  
clang::FunctionTypeProto, Y = clang::Type*]: Assertion `isa<X>(Val) &&  
"cast<Ty>() argument of incompatible type!"' failed.
(...)
/lib/libc.so.6(__assert_fail+0xf5)[0xb7d287a5]
../../Debug/bin/clang(llvm::cast_retty<clang::FunctionTypeProto,  
clang::Type*>::ret_type llvm::cast<clang::FunctionTypeProto,  
clang::Type*>(clang::Type* const&)+0x4b)[0x831125d]
../../Debug/bin/clang(clang::FunctionDecl::getNumParams()  
const+0x3a)[0x831f92a]
../../Debug/bin/clang((anonymous  
namespace)::DeclPrinter::PrintFunctionDeclStart(clang::FunctionDecl*)+0x169)[0x826cd33]
../../Debug/bin/clang((anonymous  
namespace)::ASTDumper::HandleTopLevelDecl(clang::Decl*)+0x30)[0x826fc80]
../../Debug/bin/clang(clang::ParseAST(clang::Preprocessor&, unsigned  
int, clang::ASTConsumer*, bool)+0x107)[0x82dc1c7]


Sorry for the big file, but I didn't have the time to strip it.


Regards,
Nuno
-------------- next part --------------
A non-text attachment was scrubbed...
Name: php_example.c
Type: text/x-csrc
Size: 213591 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20071130/81661ad5/attachment.c>


More information about the cfe-dev mailing list