[LLVMbugs] [Bug 7851] New: clang++ can't compile CryptoPP 5.6.0
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Mon Aug 9 09:13:36 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=7851
Summary: clang++ can't compile CryptoPP 5.6.0
Product: clang
Version: trunk
Platform: PC
OS/Version: MacOS X
Status: NEW
Severity: normal
Priority: P
Component: C++
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: himmes at idev.de
CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com
The cryptopp makes heavy use of c++ templates. So this might be a good test for
clang++.
I use following version:
$ clang++ -v
clang version 2.8 (trunk 110544)
Target: x86_64-apple-darwin10
Thread model: posix
And make of cryptopp fails with following output:
clang++ -DNDEBUG -g -O2 -DCRYPTOPP_DISABLE_ASM -pipe -c 3way.cpp
Assertion failed: (S.Context.hasSameUnqualifiedType(T, E->getRHS()->getType())
&& "comparison with mismatched types"), function AnalyzeComparison, file
SemaChecking.cpp, line 2467.
0 clang 0x000000010130ca82 std::vector<llvm::sys::Path,
std::allocator<llvm::sys::Path>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::sys::Path*,
std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> > >,
llvm::sys::Path const&) + 11570
1 clang 0x000000010130d723 std::vector<llvm::sys::Path,
std::allocator<llvm::sys::Path>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::sys::Path*,
std::vector<llvm::sys::Path, std::allocator<llvm::sys::Path> > >,
llvm::sys::Path const&) + 14803
2 libSystem.B.dylib 0x00007fff8685635a _sigtramp + 26
3 clang 0x00000001006a9ade llvm::DenseMap<clang::DeclarationName,
clang::StoredDeclsList, llvm::DenseMapInfo<clang::DeclarationName>,
llvm::DenseMapInfo<clang::StoredDeclsList>
>::LookupBucketFor(clang::DeclarationName const&,
std::pair<clang::DeclarationName, clang::StoredDeclsList>*&) const + 30
4 libSystem.B.dylib 0x00007fff868d19b4 __pthread_markcancel + 0
5 clang 0x00000001002cdaa2
llvm::cast_retty<clang::ClassTemplateDecl, clang::TemplateDecl*>::ret_type
llvm::cast<clang::ClassTemplateDecl, clang::TemplateDecl*>(clang::TemplateDecl*
const&) + 32914
6 clang 0x00000001002cdd09
llvm::cast_retty<clang::ClassTemplateDecl, clang::TemplateDecl*>::ret_type
llvm::cast<clang::ClassTemplateDecl, clang::TemplateDecl*>(clang::TemplateDecl*
const&) + 33529
7 clang 0x00000001002cdeed
llvm::cast_retty<clang::ClassTemplateDecl, clang::TemplateDecl*>::ret_type
llvm::cast<clang::ClassTemplateDecl, clang::TemplateDecl*>(clang::TemplateDecl*
const&) + 34013
8 clang 0x00000001002cdca8
llvm::cast_retty<clang::ClassTemplateDecl, clang::TemplateDecl*>::ret_type
llvm::cast<clang::ClassTemplateDecl, clang::TemplateDecl*>(clang::TemplateDecl*
const&) + 33432
9 clang 0x00000001002cdbf1
llvm::cast_retty<clang::ClassTemplateDecl, clang::TemplateDecl*>::ret_type
llvm::cast<clang::ClassTemplateDecl, clang::TemplateDecl*>(clang::TemplateDecl*
const&) + 33249
10 clang 0x00000001002cdbf1
llvm::cast_retty<clang::ClassTemplateDecl, clang::TemplateDecl*>::ret_type
llvm::cast<clang::ClassTemplateDecl, clang::TemplateDecl*>(clang::TemplateDecl*
const&) + 33249
11 clang 0x00000001002cdbf1
llvm::cast_retty<clang::ClassTemplateDecl, clang::TemplateDecl*>::ret_type
llvm::cast<clang::ClassTemplateDecl, clang::TemplateDecl*>(clang::TemplateDecl*
const&) + 33249
12 clang 0x00000001002cdbf1
llvm::cast_retty<clang::ClassTemplateDecl, clang::TemplateDecl*>::ret_type
llvm::cast<clang::ClassTemplateDecl, clang::TemplateDecl*>(clang::TemplateDecl*
const&) + 33249
13 clang 0x00000001002cdbf1
llvm::cast_retty<clang::ClassTemplateDecl, clang::TemplateDecl*>::ret_type
llvm::cast<clang::ClassTemplateDecl, clang::TemplateDecl*>(clang::TemplateDecl*
const&) + 33249
14 clang 0x00000001003bf694 clang::LookupResult::getFoundDecl()
const + 836
15 clang 0x00000001003c49be clang::LookupResult::getFoundDecl()
const + 22126
16 clang 0x000000010077027a
clang::PragmaWeakHandler::~PragmaWeakHandler() + 10538
17 clang 0x00000001007704c3
clang::PragmaWeakHandler::~PragmaWeakHandler() + 11123
18 clang 0x0000000100770a53
clang::PragmaWeakHandler::~PragmaWeakHandler() + 12547
19 clang 0x000000010076fd37
clang::PragmaWeakHandler::~PragmaWeakHandler() + 9191
20 clang 0x0000000100772fea
clang::PragmaWeakHandler::~PragmaWeakHandler() + 22170
21 clang 0x000000010076fee3
clang::PragmaWeakHandler::~PragmaWeakHandler() + 9619
22 clang 0x00000001007704c3
clang::PragmaWeakHandler::~PragmaWeakHandler() + 11123
23 clang 0x000000010077094d
clang::PragmaWeakHandler::~PragmaWeakHandler() + 12285
24 clang 0x000000010077f94c
llvm::SmallVectorTemplateCommon<clang::OpaquePtr<0> >::operator[](unsigned int)
+ 30908
25 clang 0x0000000100776fc2
clang::PragmaWeakHandler::~PragmaWeakHandler() + 38514
26 clang 0x0000000100777586
clang::PragmaWeakHandler::~PragmaWeakHandler() + 39990
27 clang 0x00000001007779c1
clang::PragmaWeakHandler::~PragmaWeakHandler() + 41073
28 clang 0x0000000100743d0c clang::Parser::ConsumeAnyToken() +
68124
29 clang 0x000000010078267f
llvm::SmallVectorTemplateCommon<clang::OpaquePtr<0> >::operator[](unsigned int)
+ 42479
30 clang 0x0000000100749829
clang::Parser::DeclaratorScopeObj::EnterDeclaratorScope() + 23209
31 clang 0x0000000100743c57 clang::Parser::ConsumeAnyToken() +
67943
32 clang 0x000000010078267f
llvm::SmallVectorTemplateCommon<clang::OpaquePtr<0> >::operator[](unsigned int)
+ 42479
33 clang 0x00000001007829b8
llvm::SmallVectorTemplateCommon<clang::OpaquePtr<0> >::operator[](unsigned int)
+ 43304
34 clang 0x00000001002adeeb llvm::DenseMap<clang::Stmt*, unsigned
int, llvm::DenseMapInfo<clang::Stmt*>, llvm::DenseMapInfo<unsigned int>
>::grow(unsigned int) + 667
35 clang 0x000000010026a34c
llvm::DenseMap<std::pair<clang::CXXRecordDecl const*, unsigned int>, unsigned
long long, llvm::DenseMapInfo<std::pair<clang::CXXRecordDecl const*, unsigned
int> >, llvm::DenseMapInfo<unsigned long long> >::grow(unsigned int) + 4204
36 clang 0x000000010004f279 llvm::DenseMap<clang::IdentifierInfo
const*, unsigned int, llvm::DenseMapInfo<clang::IdentifierInfo const*>,
llvm::DenseMapInfo<unsigned int> >::grow(unsigned int) + 6505
37 clang 0x000000010001fcc5 std::_Rb_tree<void const*,
std::pair<void const* const, llvm::PassInfo const*>,
std::_Select1st<std::pair<void const* const, llvm::PassInfo const*> >,
std::less<void const*>, std::allocator<std::pair<void const* const,
llvm::PassInfo const*> > >::_M_insert_unique(std::pair<void const* const,
llvm::PassInfo const*> const&) + 13909
38 clang 0x00000001000269f4 std::vector<std::string,
std::allocator<std::string> >::operator=(std::vector<std::string,
std::allocator<std::string> > const&) + 11316
39 clang 0x000000010001ddf8 std::_Rb_tree<void const*,
std::pair<void const* const, llvm::PassInfo const*>,
std::_Select1st<std::pair<void const* const, llvm::PassInfo const*> >,
std::less<void const*>, std::allocator<std::pair<void const* const,
llvm::PassInfo const*> > >::_M_insert_unique(std::pair<void const* const,
llvm::PassInfo const*> const&) + 6024
Stack dump:
0. Program arguments: /usr/local/bin/clang -cc1 -triple
x86_64-apple-darwin10.0.0 -emit-obj -disable-free -main-file-name 3way.cpp
-pic-level 1 -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2
-g -resource-dir /usr/local/lib/clang/2.8 -D NDEBUG -D CRYPTOPP_DISABLE_ASM -O2
-ferror-limit 19 -fmessage-length 124 -stack-protector 1 -fblocks -fexceptions
-fdiagnostics-show-option -fcolor-diagnostics -o 3way.o -x c++ 3way.cpp
1. ./misc.h:395:3: current parser token 'a'
2. ./misc.h:45:1 <Spelling=./config.h:75:29>: parsing namespace 'CryptoPP'
3. ./misc.h:381:1: parsing function body 'CryptoPP::IntToString'
4. ./misc.h:381:1: in compound statement ('{}')
5. ./misc.h:392:2: in compound statement ('{}')
clang: error: clang frontend command failed due to signal 6 (use -v to see
invocation)
make: *** [3way.o] Error 250
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list