[LLVMbugs] [Bug 11984] New: Compiler crash when attempting to compile valid C++11 code which uses future, async, lambda
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Sat Feb 11 08:19:17 PST 2012
http://llvm.org/bugs/show_bug.cgi?id=11984
Bug #: 11984
Summary: Compiler crash when attempting to compile valid C++11
code which uses future, async, lambda
Product: clang
Version: trunk
Platform: Macintosh
OS/Version: MacOS X
Status: NEW
Severity: normal
Priority: P
Component: C++0x
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: krig at koru.se
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
The crash below occurs when compiling the given program using trunk clang,
trunk libc++. The program is adapted from an example given by Stephan Lavavej
at the GoingNative conference.
Code (async.cpp):
#include <string>
#include <vector>
#include <algorithm>
#include <future>
#include <iostream>
std::string flip(std::string s) {
std::reverse(s.begin(), s.end());
return s;
}
int main() {
std::vector<std::future<std::string>> v;
v.push_back(std::async([] { return flip(" ,olleH"); }));
v.push_back(std::async([] { return flip(" evitaNgnioG"); }));
v.push_back(std::async([] { return flip("\n!2102"); }));
for (auto& e : v) {
std::cout << e.get();
}
}
Crash:
% clang++ -std=c++0x -stdlib=libc++ async.cpp
(master)17:11
Assertion failed: (DeclAccess != AS_none), function MergeAccess, file
/Users/krig/projects/sources/llvm/tools/clang/lib/AST/../../include/clang/AST/DeclCXX.h,
line 1382.
0 clang 0x00000001014bf9f2
llvm::SmallVectorImpl<char>::swap(llvm::SmallVectorImpl<char>&) + 16178
1 clang 0x00000001014bff09
llvm::SmallVectorImpl<char>::swap(llvm::SmallVectorImpl<char>&) + 17481
2 libSystem.B.dylib 0x00007fff89e6e1ba _sigtramp + 26
3 clang 0x000000010084b935 std::_Rb_tree<clang::SourceLocation,
std::pair<clang::SourceLocation const, std::_List_iterator<clang::Token> >,
std::_Select1st<std::pair<clang::SourceLocation const,
std::_List_iterator<clang::Token> > >, std::less<clang::SourceLocation>,
std::allocator<std::pair<clang::SourceLocation const,
std::_List_iterator<clang::Token> > >
>::_M_erase(std::_Rb_tree_node<std::pair<clang::SourceLocation const,
std::_List_iterator<clang::Token> > >*) + 1141
4 clang 0x00000001014bfc36
llvm::SmallVectorImpl<char>::swap(llvm::SmallVectorImpl<char>&) + 16758
5 clang 0x00000001014bfbf5
llvm::SmallVectorImpl<char>::swap(llvm::SmallVectorImpl<char>&) + 16693
6 clang 0x00000001008bace3
llvm::SmallVectorImpl<clang::Attr*>::swap(llvm::SmallVectorImpl<clang::Attr*>&)
+ 30675
7 clang 0x00000001008b71a1
llvm::SmallVectorImpl<clang::Attr*>::swap(llvm::SmallVectorImpl<clang::Attr*>&)
+ 15505
8 clang 0x000000010049d7ea std::_Rb_tree<clang::Decl*,
clang::Decl*, std::_Identity<clang::Decl*>, std::less<clang::Decl*>,
std::allocator<clang::Decl*> >::_M_erase(std::_Rb_tree_node<clang::Decl*>*) +
100698
9 clang 0x00000001004a720c std::_Rb_tree<clang::Decl*,
clang::Decl*, std::_Identity<clang::Decl*>, std::less<clang::Decl*>,
std::allocator<clang::Decl*> >::_M_erase(std::_Rb_tree_node<clang::Decl*>*) +
140156
10 clang 0x0000000100400588 clang::ObjCObjectPointerType const*
clang::Type::castAs<clang::ObjCObjectPointerType>() const + 146504
11 clang 0x0000000100532dff
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 53679
12 clang 0x000000010054103b
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 111595
13 clang 0x0000000100532dff
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 53679
14 clang 0x0000000100539bda
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 81802
15 clang 0x000000010052acc8
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 20600
16 clang 0x0000000100542c9c
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 118860
17 clang 0x000000010052a845
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 19445
18 clang 0x000000010052cce8
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 28824
19 clang 0x000000010054ca57
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 159239
20 clang 0x000000010054b720
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 154320
21 clang 0x00000001005522ef clang::TagType const*
clang::Type::castAs<clang::TagType>() const + 863
22 clang 0x000000010054efbb
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 168811
23 clang 0x0000000100505da9 std::vector<std::pair<llvm::APSInt,
clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> >
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt,
clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>,
std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >,
std::pair<llvm::APSInt, clang::CaseStmt*> const&) + 248281
24 clang 0x00000001005082d7 std::vector<std::pair<llvm::APSInt,
clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> >
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt,
clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>,
std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >,
std::pair<llvm::APSInt, clang::CaseStmt*> const&) + 257799
25 clang 0x000000010049b7af std::_Rb_tree<clang::Decl*,
clang::Decl*, std::_Identity<clang::Decl*>, std::less<clang::Decl*>,
std::allocator<clang::Decl*> >::_M_erase(std::_Rb_tree_node<clang::Decl*>*) +
92447
26 clang 0x00000001004a4bca std::_Rb_tree<clang::Decl*,
clang::Decl*, std::_Identity<clang::Decl*>, std::less<clang::Decl*>,
std::allocator<clang::Decl*> >::_M_erase(std::_Rb_tree_node<clang::Decl*>*) +
130362
27 clang 0x00000001004a49f5 std::_Rb_tree<clang::Decl*,
clang::Decl*, std::_Identity<clang::Decl*>, std::less<clang::Decl*>,
std::allocator<clang::Decl*> >::_M_erase(std::_Rb_tree_node<clang::Decl*>*) +
129893
28 clang 0x00000001004a4ebb std::_Rb_tree<clang::Decl*,
clang::Decl*, std::_Identity<clang::Decl*>, std::less<clang::Decl*>,
std::allocator<clang::Decl*> >::_M_erase(std::_Rb_tree_node<clang::Decl*>*) +
131115
29 clang 0x00000001003e4039 clang::ObjCObjectPointerType const*
clang::Type::castAs<clang::ObjCObjectPointerType>() const + 30457
30 clang 0x0000000100542068
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 115736
31 clang 0x000000010053557c
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 63788
32 clang 0x000000010052acc8
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 20600
33 clang 0x000000010052956a
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 14618
34 clang 0x000000010053df7c
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 99116
35 clang 0x000000010053ff19
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 107209
36 clang 0x000000010053b8cc
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 89212
37 clang 0x000000010052bc48
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 24568
38 clang 0x000000010052956a
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 14618
39 clang 0x000000010052e78d
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 35645
40 clang 0x000000010052ed7e
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 37166
41 clang 0x000000010052ff10
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 41664
42 clang 0x000000010057167c std::deque<std::pair<clang::ValueDecl*,
clang::SourceLocation>, std::allocator<std::pair<clang::ValueDecl*,
clang::SourceLocation> > >::_M_new_elements_at_front(unsigned long) + 122812
43 clang 0x00000001005719f1 std::deque<std::pair<clang::ValueDecl*,
clang::SourceLocation>, std::allocator<std::pair<clang::ValueDecl*,
clang::SourceLocation> > >::_M_new_elements_at_front(unsigned long) + 123697
44 clang 0x00000001003a1c95 std::_Rb_tree<clang::QualType,
std::pair<clang::QualType const, std::pair<bool, unsigned int> >,
std::_Select1st<std::pair<clang::QualType const, std::pair<bool, unsigned int>
> >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const,
std::pair<bool, unsigned int> > >
>::_M_erase(std::_Rb_tree_node<std::pair<clang::QualType const, std::pair<bool,
unsigned int> > >*) + 138997
45 clang 0x000000010052e38c
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 34620
46 clang 0x000000010052ed7e
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 37166
47 clang 0x000000010052ff10
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 41664
48 clang 0x000000010057167c std::deque<std::pair<clang::ValueDecl*,
clang::SourceLocation>, std::allocator<std::pair<clang::ValueDecl*,
clang::SourceLocation> > >::_M_new_elements_at_front(unsigned long) + 122812
49 clang 0x00000001005719f1 std::deque<std::pair<clang::ValueDecl*,
clang::SourceLocation>, std::allocator<std::pair<clang::ValueDecl*,
clang::SourceLocation> > >::_M_new_elements_at_front(unsigned long) + 123697
50 clang 0x00000001003a1c95 std::_Rb_tree<clang::QualType,
std::pair<clang::QualType const, std::pair<bool, unsigned int> >,
std::_Select1st<std::pair<clang::QualType const, std::pair<bool, unsigned int>
> >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const,
std::pair<bool, unsigned int> > >
>::_M_erase(std::_Rb_tree_node<std::pair<clang::QualType const, std::pair<bool,
unsigned int> > >*) + 138997
51 clang 0x000000010052e38c
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 34620
52 clang 0x000000010052ed7e
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 37166
53 clang 0x000000010052ff10
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 41664
54 clang 0x000000010057167c std::deque<std::pair<clang::ValueDecl*,
clang::SourceLocation>, std::allocator<std::pair<clang::ValueDecl*,
clang::SourceLocation> > >::_M_new_elements_at_front(unsigned long) + 122812
55 clang 0x00000001005719f1 std::deque<std::pair<clang::ValueDecl*,
clang::SourceLocation>, std::allocator<std::pair<clang::ValueDecl*,
clang::SourceLocation> > >::_M_new_elements_at_front(unsigned long) + 123697
56 clang 0x00000001002ecfae std::vector<std::pair<unsigned int,
clang::SourceLocation>, std::allocator<std::pair<unsigned int,
clang::SourceLocation> >
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned int,
clang::SourceLocation>*, std::vector<std::pair<unsigned int,
clang::SourceLocation>, std::allocator<std::pair<unsigned int,
clang::SourceLocation> > > >, std::pair<unsigned int, clang::SourceLocation>
const&) + 2638
57 clang 0x00000001003e8c71 clang::ObjCObjectPointerType const*
clang::Type::castAs<clang::ObjCObjectPointerType>() const + 49969
58 clang 0x00000001005364d8
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 67720
59 clang 0x0000000100541064
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 111636
60 clang 0x0000000100532dff
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 53679
61 clang 0x000000010053e3e2
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 100242
62 clang 0x000000010053ff19
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 107209
63 clang 0x000000010053b8cc
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 89212
64 clang 0x000000010052bc48
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 24568
65 clang 0x0000000100542c9c
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 118860
66 clang 0x000000010052a845
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 19445
67 clang 0x000000010052cce8
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 28824
68 clang 0x000000010054ca57
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 159239
69 clang 0x000000010054b720
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 154320
70 clang 0x00000001005522ef clang::TagType const*
clang::Type::castAs<clang::TagType>() const + 863
71 clang 0x000000010054efbb
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 168811
72 clang 0x0000000100505da9 std::vector<std::pair<llvm::APSInt,
clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> >
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt,
clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>,
std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >,
std::pair<llvm::APSInt, clang::CaseStmt*> const&) + 248281
73 clang 0x00000001005082d7 std::vector<std::pair<llvm::APSInt,
clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> >
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt,
clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>,
std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >,
std::pair<llvm::APSInt, clang::CaseStmt*> const&) + 257799
74 clang 0x000000010049b7af std::_Rb_tree<clang::Decl*,
clang::Decl*, std::_Identity<clang::Decl*>, std::less<clang::Decl*>,
std::allocator<clang::Decl*> >::_M_erase(std::_Rb_tree_node<clang::Decl*>*) +
92447
75 clang 0x00000001004a4bca std::_Rb_tree<clang::Decl*,
clang::Decl*, std::_Identity<clang::Decl*>, std::less<clang::Decl*>,
std::allocator<clang::Decl*> >::_M_erase(std::_Rb_tree_node<clang::Decl*>*) +
130362
76 clang 0x00000001004a49f5 std::_Rb_tree<clang::Decl*,
clang::Decl*, std::_Identity<clang::Decl*>, std::less<clang::Decl*>,
std::allocator<clang::Decl*> >::_M_erase(std::_Rb_tree_node<clang::Decl*>*) +
129893
77 clang 0x00000001004a4ebb std::_Rb_tree<clang::Decl*,
clang::Decl*, std::_Identity<clang::Decl*>, std::less<clang::Decl*>,
std::allocator<clang::Decl*> >::_M_erase(std::_Rb_tree_node<clang::Decl*>*) +
131115
78 clang 0x00000001003e4039 clang::ObjCObjectPointerType const*
clang::Type::castAs<clang::ObjCObjectPointerType>() const + 30457
79 clang 0x0000000100542068
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 115736
80 clang 0x000000010053557c
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 63788
81 clang 0x000000010052acc8
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 20600
82 clang 0x000000010052956a
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 14618
83 clang 0x00000001005293fc
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 14252
84 clang 0x0000000100545f40
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 131824
85 clang 0x0000000100552247 clang::TagType const*
clang::Type::castAs<clang::TagType>() const + 695
86 clang 0x000000010052ef0b
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 37563
87 clang 0x000000010052ff10
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 41664
88 clang 0x000000010057167c std::deque<std::pair<clang::ValueDecl*,
clang::SourceLocation>, std::allocator<std::pair<clang::ValueDecl*,
clang::SourceLocation> > >::_M_new_elements_at_front(unsigned long) + 122812
89 clang 0x00000001005719f1 std::deque<std::pair<clang::ValueDecl*,
clang::SourceLocation>, std::allocator<std::pair<clang::ValueDecl*,
clang::SourceLocation> > >::_M_new_elements_at_front(unsigned long) + 123697
90 clang 0x00000001002ecfae std::vector<std::pair<unsigned int,
clang::SourceLocation>, std::allocator<std::pair<unsigned int,
clang::SourceLocation> >
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned int,
clang::SourceLocation>*, std::vector<std::pair<unsigned int,
clang::SourceLocation>, std::allocator<std::pair<unsigned int,
clang::SourceLocation> > > >, std::pair<unsigned int, clang::SourceLocation>
const&) + 2638
91 clang 0x00000001003e8c71 clang::ObjCObjectPointerType const*
clang::Type::castAs<clang::ObjCObjectPointerType>() const + 49969
92 clang 0x00000001005364d8
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 67720
93 clang 0x000000010053e3e2
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 100242
94 clang 0x000000010053ff19
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 107209
95 clang 0x000000010052baa4
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 24148
96 clang 0x000000010052956a
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 14618
97 clang 0x000000010052e78d
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 35645
98 clang 0x000000010052ed7e
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 37166
99 clang 0x000000010052ff10
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 41664
100 clang 0x000000010057167c
std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>,
std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> >
>::_M_new_elements_at_front(unsigned long) + 122812
101 clang 0x00000001005719f1
std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>,
std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> >
>::_M_new_elements_at_front(unsigned long) + 123697
102 clang 0x00000001002ecfae std::vector<std::pair<unsigned int,
clang::SourceLocation>, std::allocator<std::pair<unsigned int,
clang::SourceLocation> >
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned int,
clang::SourceLocation>*, std::vector<std::pair<unsigned int,
clang::SourceLocation>, std::allocator<std::pair<unsigned int,
clang::SourceLocation> > > >, std::pair<unsigned int, clang::SourceLocation>
const&) + 2638
103 clang 0x00000001003e8c71 clang::ObjCObjectPointerType const*
clang::Type::castAs<clang::ObjCObjectPointerType>() const + 49969
104 clang 0x00000001005364d8
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 67720
105 clang 0x000000010053e3e2
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 100242
106 clang 0x000000010053ff19
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 107209
107 clang 0x000000010052baa4
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 24148
108 clang 0x000000010052956a
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 14618
109 clang 0x000000010052e78d
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 35645
110 clang 0x000000010052ed7e
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 37166
111 clang 0x000000010052ff10
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 41664
112 clang 0x000000010057167c
std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>,
std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> >
>::_M_new_elements_at_front(unsigned long) + 122812
113 clang 0x00000001005719f1
std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>,
std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> >
>::_M_new_elements_at_front(unsigned long) + 123697
114 clang 0x00000001002ecfae std::vector<std::pair<unsigned int,
clang::SourceLocation>, std::allocator<std::pair<unsigned int,
clang::SourceLocation> >
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned int,
clang::SourceLocation>*, std::vector<std::pair<unsigned int,
clang::SourceLocation>, std::allocator<std::pair<unsigned int,
clang::SourceLocation> > > >, std::pair<unsigned int, clang::SourceLocation>
const&) + 2638
115 clang 0x00000001003e8c71 clang::ObjCObjectPointerType const*
clang::Type::castAs<clang::ObjCObjectPointerType>() const + 49969
116 clang 0x00000001005364d8
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 67720
117 clang 0x00000001005327c1
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 52081
118 clang 0x000000010054d44f
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 161791
119 clang 0x000000010054b03c
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 152556
120 clang 0x0000000100552303 clang::TagType const*
clang::Type::castAs<clang::TagType>() const + 883
121 clang 0x000000010052ef0b
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 37563
122 clang 0x000000010052ff10
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 41664
123 clang 0x000000010057167c
std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>,
std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> >
>::_M_new_elements_at_front(unsigned long) + 122812
124 clang 0x00000001005719f1
std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>,
std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> >
>::_M_new_elements_at_front(unsigned long) + 123697
125 clang 0x00000001003a1c95 std::_Rb_tree<clang::QualType,
std::pair<clang::QualType const, std::pair<bool, unsigned int> >,
std::_Select1st<std::pair<clang::QualType const, std::pair<bool, unsigned int>
> >, clang::QualTypeOrdering, std::allocator<std::pair<clang::QualType const,
std::pair<bool, unsigned int> > >
>::_M_erase(std::_Rb_tree_node<std::pair<clang::QualType const, std::pair<bool,
unsigned int> > >*) + 138997
126 clang 0x000000010052e620
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 35280
127 clang 0x000000010052ed7e
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 37166
128 clang 0x000000010052ff10
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 41664
129 clang 0x000000010057167c
std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>,
std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> >
>::_M_new_elements_at_front(unsigned long) + 122812
130 clang 0x00000001005695dc
std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>,
std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> >
>::_M_new_elements_at_front(unsigned long) + 89884
131 clang 0x00000001003772c9 std::_Rb_tree<clang::NamespaceDecl*,
std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*>,
std::_Select1st<std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*>
>, std::less<clang::NamespaceDecl*>,
std::allocator<std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*> >
>::_M_erase(std::_Rb_tree_node<std::pair<clang::NamespaceDecl* const,
clang::NamespaceDecl*> >*) + 151417
132 clang 0x0000000100547f27
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 139991
133 clang 0x00000001005522dd clang::TagType const*
clang::Type::castAs<clang::TagType>() const + 845
134 clang 0x000000010052ef0b
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 37563
135 clang 0x000000010052ff10
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 41664
136 clang 0x000000010057167c
std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>,
std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> >
>::_M_new_elements_at_front(unsigned long) + 122812
137 clang 0x00000001005695dc
std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>,
std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> >
>::_M_new_elements_at_front(unsigned long) + 89884
138 clang 0x00000001003772c9 std::_Rb_tree<clang::NamespaceDecl*,
std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*>,
std::_Select1st<std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*>
>, std::less<clang::NamespaceDecl*>,
std::allocator<std::pair<clang::NamespaceDecl* const, clang::NamespaceDecl*> >
>::_M_erase(std::_Rb_tree_node<std::pair<clang::NamespaceDecl* const,
clang::NamespaceDecl*> >*) + 151417
139 clang 0x0000000100547f27
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 139991
140 clang 0x00000001005522dd clang::TagType const*
clang::Type::castAs<clang::TagType>() const + 845
141 clang 0x000000010052ef0b
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 37563
142 clang 0x000000010052ff10
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 41664
143 clang 0x000000010057167c
std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>,
std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> >
>::_M_new_elements_at_front(unsigned long) + 122812
144 clang 0x00000001005719f1
std::deque<std::pair<clang::ValueDecl*, clang::SourceLocation>,
std::allocator<std::pair<clang::ValueDecl*, clang::SourceLocation> >
>::_M_new_elements_at_front(unsigned long) + 123697
145 clang 0x00000001002ecfae std::vector<std::pair<unsigned int,
clang::SourceLocation>, std::allocator<std::pair<unsigned int,
clang::SourceLocation> >
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<unsigned int,
clang::SourceLocation>*, std::vector<std::pair<unsigned int,
clang::SourceLocation>, std::allocator<std::pair<unsigned int,
clang::SourceLocation> > > >, std::pair<unsigned int, clang::SourceLocation>
const&) + 2638
146 clang 0x00000001004e006d std::vector<std::pair<llvm::APSInt,
clang::CaseStmt*>, std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> >
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::pair<llvm::APSInt,
clang::CaseStmt*>*, std::vector<std::pair<llvm::APSInt, clang::CaseStmt*>,
std::allocator<std::pair<llvm::APSInt, clang::CaseStmt*> > > >,
std::pair<llvm::APSInt, clang::CaseStmt*> const&) + 93341
147 clang 0x000000010052bd3e
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 24814
148 clang 0x000000010052956a
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 14618
149 clang 0x00000001005293fc
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 14252
150 clang 0x0000000100545f40
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 131824
151 clang 0x0000000100552247 clang::TagType const*
clang::Type::castAs<clang::TagType>() const + 695
152 clang 0x000000010054efbb
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 168811
153 clang 0x00000001005310c5
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 46197
154 clang 0x00000001005414de
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 112782
155 clang 0x0000000100530fe4
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 45972
156 clang 0x0000000100530511
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 43201
157 clang 0x000000010054f962
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 171282
158 clang 0x0000000100550c03
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 176051
159 clang 0x000000010054fb17
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 171719
160 clang 0x0000000100550c03
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>::operator=(llvm::SmallVectorImpl<clang::DeducedTemplateArgument>
const&) + 176051
161 clang 0x00000001002deefa void
std::__merge_without_buffer<clang::CodeCompletionResult*,
long>(clang::CodeCompletionResult*, clang::CodeCompletionResult*,
clang::CodeCompletionResult*, long, long) + 47402
162 clang 0x00000001002be840
llvm::SmallVectorTemplateBase<clang::ParsedTemplateArgument,
false>::grow(unsigned long) + 22016
163 clang 0x00000001002699d5
clang::CanQual<clang::FunctionNoProtoType>::CreateUnsafe(clang::QualType) +
68133
164 clang 0x0000000100235e76 std::vector<clang::CXXRecordDecl
const*, std::allocator<clang::CXXRecordDecl const*>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::CXXRecordDecl const**,
std::vector<clang::CXXRecordDecl const*, std::allocator<clang::CXXRecordDecl
const*> > >, clang::CXXRecordDecl const* const&) + 6742
165 clang 0x00000001000230f5 std::vector<clang::CompilerInstance*,
std::allocator<clang::CompilerInstance*>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<clang::CompilerInstance**,
std::vector<clang::CompilerInstance*, std::allocator<clang::CompilerInstance*>
> >, clang::CompilerInstance* const&) + 15621
166 clang 0x000000010000a762 std::_Rb_tree<std::string,
std::string, std::_Identity<std::string>, std::less<std::string>,
std::allocator<std::string> >::_M_insert_unique(std::string const&) + 3730
167 clang 0x000000010000150b
168 clang 0x0000000100006aff std::vector<std::string,
std::allocator<std::string>
>::_M_insert_aux(__gnu_cxx::__normal_iterator<std::string*,
std::vector<std::string, std::allocator<std::string> > >, std::string const&) +
1455
169 clang 0x0000000100000934
Stack dump:
0. Program arguments: /usr/local/bin/clang -cc1 -triple
x86_64-apple-macosx10.6.0 -emit-obj -mrelax-all -disable-free -main-file-name
async.cpp -pic-level 1 -mdisable-fp-elim -masm-verbose -munwind-tables
-target-cpu core2 -target-linker-version 127.2 -resource-dir
/usr/local/bin/../lib/clang/3.1 -fmodule-cache-path
/var/folders/R0/R0PJN4dDFomO6ejCRQ0lv++++TI/-Tmp-/clang-module-cache
-stdlib=libc++ -std=c++0x -fdeprecated-macro -fdebug-compilation-dir
/Users/krig/projects/k11/src -ferror-limit 19 -fmessage-length 133
-stack-protector 1 -mstackrealign -fblocks -fobjc-dispatch-method=mixed
-fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o
/var/folders/R0/R0PJN4dDFomO6ejCRQ0lv++++TI/-Tmp-/async-EIPDke.o -x c++
async.cpp
1. <eof> parser at end of file
2. /usr/include/c++/v1/future:2250:1: instantiating function definition
'async'
3. /usr/include/c++/v1/future:2233:1: instantiating function definition
'async'
clang: error: unable to execute command: Illegal instruction
clang: error: clang frontend command failed due to signal (use -v to see
invocation)
clang: note: diagnostic msg: Please submit a bug report to
http://llvm.org/bugs/ and include command line arguments and all diagnostic
information.
clang: note: diagnostic msg: Preprocessed source(s) and associated run
script(s) are located at:
clang: note: diagnostic msg:
/var/folders/R0/R0PJN4dDFomO6ejCRQ0lv++++TI/-Tmp-/async-9pdpMh.ii
clang: note: diagnostic msg:
/var/folders/R0/R0PJN4dDFomO6ejCRQ0lv++++TI/-Tmp-/async-9pdpMh.sh
--
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