[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