Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

[irgen] Assertion failed: ((NumParams == FTy->getNumParams() || (FTy->isVarArg() && NumParams > FTy->getNumParams())) && "Calling a function with bad signature!" #6100

Closed Quuxplusone closed 14 years ago

Quuxplusone commented 14 years ago
Bugzilla Link PR5619
Status RESOLVED FIXED
Importance P normal
Reported by Daniel Dunbar (daniel@zuster.org)
Reported on 2009-11-25 22:47:43 -0800
Last modified on 2010-02-22 12:44:01 -0800
Version unspecified
Hardware PC All
CC cdavis5x@gmail.com, dgregor@apple.com, fjahanian@apple.com, llvm-bugs@lists.llvm.org, rdivacky@freebsd.org
Fixed by commit(s)
Attachments
Blocks PR5221
Blocked by
See also
--
ddunbar@giles:ClangOnLLVM$ cat t.cpp
struct basic_ios { };
template<typename _CharT> struct basic_istream : virtual public basic_ios {
  virtual ~basic_istream() {}
};
template<typename _CharT> struct basic_iostream : public basic_istream<_CharT> {
  virtual ~basic_iostream() {}
};
basic_iostream<char> res;
ddunbar@giles:ClangOnLLVM$ clang -c t.cpp
Assertion failed: ((NumParams == FTy->getNumParams() || (FTy->isVarArg() &&
NumParams > FTy->getNumParams())) && "Calling a function with bad signature!"),
function init, file
/Volumes/Data/Users/ddunbar/llvm/lib/VMCore/Instructions.cpp, line 307.
0  clang-cc          0x000000010119aa9f PrintStackTrace(void*) + 38
1  clang-cc          0x000000010119b02d SignalHandler(int) + 336
2  libSystem.B.dylib 0x00007fff88921eaa _sigtramp + 26
3  libSystem.B.dylib 0x000000005fbfb8e0 _sigtramp + 3610090064
4  libSystem.B.dylib 0x00007fff8899de74 __pthread_markcancel + 0
5  clang-cc          0x00000001010df168 llvm::CallInst::init(llvm::Value*,
llvm::Value* const*, unsigned int) + 246
6  clang-cc          0x0000000100dd22ce void
llvm::CallInst::init<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**,
llvm::Twine const&, std::random_access_iterator_tag) + 88
7  clang-cc          0x0000000100dd23ed
llvm::CallInst::CallInst<llvm::Value**>(llvm::Value*, llvm::Value**,
llvm::Value**, llvm::Twine const&, llvm::Instruction*) + 271
8  clang-cc          0x0000000100dd2460 llvm::CallInst*
llvm::CallInst::Create<llvm::Value**>(llvm::Value*, llvm::Value**,
llvm::Value**, llvm::Twine const&, llvm::Instruction*) + 106
9  clang-cc          0x0000000100dd253b llvm::CallInst* llvm::IRBuilder<true,
llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true>
>::CreateCall<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**,
llvm::Twine const&) + 71
10 clang-cc          0x000000010011e403
clang::CodeGen::CodeGenFunction::EmitCall(clang::CodeGen::CGFunctionInfo
const&, llvm::Value*, llvm::SmallVector<std::pair<clang::CodeGen::RValue,
clang::QualType>, 16u> const&, clang::Decl const*) + 2725
11 clang-cc          0x0000000100117736
clang::CodeGen::CodeGenFunction::EmitCXXMemberCall(clang::CXXMethodDecl const*,
llvm::Value*, llvm::Value*, clang::ConstExprIterator, clang::ConstExprIterator)
+ 586
12 clang-cc          0x00000001001177ed
clang::CodeGen::CodeGenFunction::EmitCXXDestructorCall(clang::CXXDestructorDecl
const*, clang::CXXDtorType, llvm::Value*) + 133
13 clang-cc          0x0000000100119717
clang::CodeGen::CodeGenFunction::EmitDtorEpilogue(clang::CXXDestructorDecl
const*, clang::CXXDtorType) + 1309
14 clang-cc          0x00000001001a7aa3
clang::CodeGen::CodeGenFunction::GenerateCode(clang::CodeGen::GlobalDecl,
llvm::Function*) + 1653
15 clang-cc          0x00000001001154d1
clang::CodeGen::CodeGenModule::EmitCXXDestructor(clang::CXXDestructorDecl
const*, clang::CXXDtorType) + 149
16 clang-cc          0x0000000100115557
clang::CodeGen::CodeGenModule::EmitCXXDestructors(clang::CXXDestructorDecl
const*) + 47
17 clang-cc          0x00000001001b0ee5
clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) + 679
18 clang-cc          0x00000001001c6fc6 (anonymous
namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) + 76
19 clang-cc          0x00000001000457df (anonymous
namespace)::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) + 145
20 clang-cc          0x000000010040edda
clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool) + 1430
21 clang-cc          0x000000010040e73b
clang::Sema::PerformPendingImplicitInstantiations() + 239
22 clang-cc          0x00000001002b9ec3
clang::Sema::ActOnEndOfTranslationUnit() + 31
23 clang-cc          0x000000010051c56d
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<1>&) + 91
24 clang-cc          0x00000001002b8e77 clang::ParseAST(clang::Preprocessor&,
clang::ASTConsumer*, clang::ASTContext&, bool, bool,
clang::CodeCompleteConsumer*) + 523
25 clang-cc          0x000000010005a5f8
clang::ASTFrontendAction::ExecuteAction() + 256
26 clang-cc          0x000000010005a6b8 clang::FrontendAction::Execute() + 178
27 clang-cc          0x000000010003a795 main + 1081
28 clang-cc          0x000000010002f044 start + 52
Stack dump:
0.  Program arguments: /Volumes/Data/Users/ddunbar/llvm.obj.64/Debug/bin/clang-
cc -triple x86_64-apple-darwin10.0 -S -disable-free -main-file-name t.cpp -
relocation-model pic -pic-level=1 -disable-fp-elim -unwind-tables=1 -mcpu core2
-fno-math-errno -fmessage-length 88 -stack-protector 1 -fblocks -fexceptions -
fdiagnostics-show-option -o /var/folders/DQ/DQ8GT3++HESEzT1obWBynE+++TI/-Tmp-
/cc-9H4lTT.s -x c++ t.cpp
1.  <eof> parser at end of file
2.  t.cpp:6:11: instantiating function definition
'basic_iostream<char>::~basic_iostream'
3.  t.cpp:6:11: LLVM IR generation of declaration
'basic_iostream<char>::~basic_iostream'
clang: error: compiler command failed due to signal 6 (use -v to see invocation)
ddunbar@giles:ClangOnLLVM$
--
Quuxplusone commented 14 years ago

looks related to CodeGenFunction::EmitCXXMemberCall

Quuxplusone commented 14 years ago

Fixed in TOT: http://llvm.org/viewvc/llvm-project?view=rev&revision=90158