[llvm-bugs] [Bug 28028] New: clang crashes on valid C++ code: Assertion `QualifierLoc && "should be created for dependent qualifiers"' failed

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jun 6 17:00:54 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=28028

            Bug ID: 28028
           Summary: clang crashes on valid C++ code: Assertion
                    `QualifierLoc && "should be created for dependent
                    qualifiers"' failed
           Product: clang
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: su at cs.ucdavis.edu
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

The current clang trunk crashes when compiling the following valid C++11 test
case on x86_64-linux-gnu in both 32-bit and 64-bit modes. 


$ clang++ -v
clang version 3.9.0 (trunk 271877)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-trunk/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
$ 
$ g++-6.1 -Wall -Wextra -pedantic -std=c++11 -c small.cpp
$ 
$ clang++ -std=c++11 -c small.cpp
small.cpp:6:32: fatal error: recursive template instantiation exceeded maximum
depth of 256
  static const int i = sizeof (X < X >::template foo < int >());
                               ^
small.cpp:6:32: note: in instantiation of template class
     
'X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<int>
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > >' requested here
small.cpp:6:32: note: in instantiation of template class
     
'X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<int>
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > >' requested here
small.cpp:6:32: note: in instantiation of template class
     
'X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<int>
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > >' requested here
small.cpp:6:32: note: in instantiation of template class
     
'X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<int>
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > >' requested here
small.cpp:6:32: note: in instantiation of template class
     
'X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<X<int>
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
      > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > >' requested here
small.cpp:6:32: note: (skipping 247 contexts in backtrace; use
-ftemplate-backtrace-limit=0 to see all)
small.cpp:6:32: note: in instantiation of template class 'X<X<X<X<X<int> > > >
>' requested here
small.cpp:6:32: note: in instantiation of template class 'X<X<X<X<int> > > >'
requested here
small.cpp:6:32: note: in instantiation of template class 'X<X<X<int> > >'
requested here
small.cpp:6:32: note: in instantiation of template class 'X<X<int> >' requested
here
small.cpp:9:16: note: in instantiation of template class 'X<int>' requested
here
template class X < int >;
               ^
small.cpp:6:32: note: use -ftemplate-depth=N to increase recursive template
instantiation depth
  static const int i = sizeof (X < X >::template foo < int >());
                               ^
clang-3.9:
/tmp/llvm-builder/llvm-source-trunk/tools/clang/lib/AST/ExprCXX.cpp:380: static
clang::DependentScopeDeclRefExpr*
clang::DependentScopeDeclRefExpr::Create(const clang::ASTContext&,
clang::NestedNameSpecifierLoc, clang::SourceLocation, const
clang::DeclarationNameInfo&, const clang::TemplateArgumentListInfo*): Assertion
`QualifierLoc && "should be created for dependent qualifiers"' failed.
#0 0x0000000001e1a4f5 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/usr/local/clang-trunk/bin/clang-3.9+0x1e1a4f5)
#1 0x0000000001e18486 llvm::sys::RunSignalHandlers()
(/usr/local/clang-trunk/bin/clang-3.9+0x1e18486)
#2 0x0000000001e186a4 SignalHandler(int)
(/usr/local/clang-trunk/bin/clang-3.9+0x1e186a4)
#3 0x00007f9aad2fb340 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10340)
#4 0x00007f9aac519cc9 gsignal
/build/eglibc-3GlaMS/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#5 0x00007f9aac51d0d8 abort
/build/eglibc-3GlaMS/eglibc-2.19/stdlib/abort.c:91:0
#6 0x00007f9aac512b86 __assert_fail_base
/build/eglibc-3GlaMS/eglibc-2.19/assert/assert.c:92:0
#7 0x00007f9aac512c32 (/lib/x86_64-linux-gnu/libc.so.6+0x2fc32)
#8 0x0000000003446300
clang::DependentScopeDeclRefExpr::Create(clang::ASTContext const&,
clang::NestedNameSpecifierLoc, clang::SourceLocation,
clang::DeclarationNameInfo const&, clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x3446300)
#9 0x0000000002eaa625
clang::Sema::BuildDependentDeclRefExpr(clang::CXXScopeSpec const&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2eaa625)
#10 0x0000000002ec3d11
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2ec3d11)
#11 0x0000000002f57582 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) (/usr/local/clang-trunk/bin/clang-3.9+0x2f57582)
#12 0x0000000002f57f5d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f57f5d)
#13 0x0000000002f3b587 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b587)
#14 0x0000000002f4138e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f4138e)
#15 0x0000000002f3b696 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b696)
#16 0x0000000002f43d68 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f43d68)
#17 0x0000000002f3b964 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b964)
#18 0x0000000002f58053 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f58053)
#19 0x0000000002f3b85a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b85a)
#20 0x0000000002f3cce8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3cce8)
#21 0x0000000002f3d064 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3d064)
#22 0x0000000002f6a351
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f6a351)
#23 0x0000000002f728e4 clang::Sema::BuildVariableInstantiation(clang::VarDecl*,
clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f728e4)
#24 0x0000000002f73137
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f73137)
#25 0x0000000002f46622 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f46622)
#26 0x0000000002f62304
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/usr/local/clang-trunk/bin/clang-3.9+0x2f62304)
#27 0x0000000002f9f5ef
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*) (/usr/local/clang-trunk/bin/clang-3.9+0x2f9f5ef)
#28 0x0000000002f9f8b5 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f9f8b5)
#29 0x0000000002b4db89
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/usr/local/clang-trunk/bin/clang-3.9+0x2b4db89)
#30 0x0000000002ec3d4e
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2ec3d4e)
#31 0x0000000002f57582 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) (/usr/local/clang-trunk/bin/clang-3.9+0x2f57582)
#32 0x0000000002f57f5d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f57f5d)
#33 0x0000000002f3b587 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b587)
#34 0x0000000002f4138e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f4138e)
#35 0x0000000002f3b696 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b696)
#36 0x0000000002f43d68 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f43d68)
#37 0x0000000002f3b964 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b964)
#38 0x0000000002f58053 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f58053)
#39 0x0000000002f3b85a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b85a)
#40 0x0000000002f3cce8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3cce8)
#41 0x0000000002f3d064 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3d064)
#42 0x0000000002f6a351
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f6a351)
#43 0x0000000002f728e4 clang::Sema::BuildVariableInstantiation(clang::VarDecl*,
clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f728e4)
#44 0x0000000002f73137
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f73137)
#45 0x0000000002f46622 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f46622)
#46 0x0000000002f62304
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/usr/local/clang-trunk/bin/clang-3.9+0x2f62304)
#47 0x0000000002f9f5ef
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*) (/usr/local/clang-trunk/bin/clang-3.9+0x2f9f5ef)
#48 0x0000000002f9f8b5 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f9f8b5)
#49 0x0000000002b4db89
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/usr/local/clang-trunk/bin/clang-3.9+0x2b4db89)
#50 0x0000000002ec3d4e
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2ec3d4e)
#51 0x0000000002f57582 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) (/usr/local/clang-trunk/bin/clang-3.9+0x2f57582)
#52 0x0000000002f57f5d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f57f5d)
#53 0x0000000002f3b587 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b587)
#54 0x0000000002f4138e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f4138e)
#55 0x0000000002f3b696 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b696)
#56 0x0000000002f43d68 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f43d68)
#57 0x0000000002f3b964 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b964)
#58 0x0000000002f58053 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f58053)
#59 0x0000000002f3b85a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b85a)
#60 0x0000000002f3cce8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3cce8)
#61 0x0000000002f3d064 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3d064)
#62 0x0000000002f6a351
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f6a351)
#63 0x0000000002f728e4 clang::Sema::BuildVariableInstantiation(clang::VarDecl*,
clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f728e4)
#64 0x0000000002f73137
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f73137)
#65 0x0000000002f46622 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f46622)
#66 0x0000000002f62304
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/usr/local/clang-trunk/bin/clang-3.9+0x2f62304)
#67 0x0000000002f9f5ef
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*) (/usr/local/clang-trunk/bin/clang-3.9+0x2f9f5ef)
#68 0x0000000002f9f8b5 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f9f8b5)
#69 0x0000000002b4db89
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/usr/local/clang-trunk/bin/clang-3.9+0x2b4db89)
#70 0x0000000002ec3d4e
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2ec3d4e)
#71 0x0000000002f57582 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) (/usr/local/clang-trunk/bin/clang-3.9+0x2f57582)
#72 0x0000000002f57f5d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f57f5d)
#73 0x0000000002f3b587 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b587)
#74 0x0000000002f4138e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f4138e)
#75 0x0000000002f3b696 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b696)
#76 0x0000000002f43d68 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f43d68)
#77 0x0000000002f3b964 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b964)
#78 0x0000000002f58053 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f58053)
#79 0x0000000002f3b85a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b85a)
#80 0x0000000002f3cce8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3cce8)
#81 0x0000000002f3d064 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3d064)
#82 0x0000000002f6a351
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f6a351)
#83 0x0000000002f728e4 clang::Sema::BuildVariableInstantiation(clang::VarDecl*,
clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f728e4)
#84 0x0000000002f73137
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f73137)
#85 0x0000000002f46622 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f46622)
#86 0x0000000002f62304
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/usr/local/clang-trunk/bin/clang-3.9+0x2f62304)
#87 0x0000000002f9f5ef
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*) (/usr/local/clang-trunk/bin/clang-3.9+0x2f9f5ef)
#88 0x0000000002f9f8b5 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f9f8b5)
#89 0x0000000002b4db89
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/usr/local/clang-trunk/bin/clang-3.9+0x2b4db89)
#90 0x0000000002ec3d4e
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2ec3d4e)
#91 0x0000000002f57582 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) (/usr/local/clang-trunk/bin/clang-3.9+0x2f57582)
#92 0x0000000002f57f5d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f57f5d)
#93 0x0000000002f3b587 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b587)
#94 0x0000000002f4138e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f4138e)
#95 0x0000000002f3b696 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b696)
#96 0x0000000002f43d68 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f43d68)
#97 0x0000000002f3b964 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b964)
#98 0x0000000002f58053 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f58053)
#99 0x0000000002f3b85a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b85a)
#100 0x0000000002f3cce8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3cce8)
#101 0x0000000002f3d064 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3d064)
#102 0x0000000002f6a351
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f6a351)
#103 0x0000000002f728e4
clang::Sema::BuildVariableInstantiation(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f728e4)
#104 0x0000000002f73137
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f73137)
#105 0x0000000002f46622 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f46622)
#106 0x0000000002f62304
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/usr/local/clang-trunk/bin/clang-3.9+0x2f62304)
#107 0x0000000002f9f5ef
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*) (/usr/local/clang-trunk/bin/clang-3.9+0x2f9f5ef)
#108 0x0000000002f9f8b5 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f9f8b5)
#109 0x0000000002b4db89
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/usr/local/clang-trunk/bin/clang-3.9+0x2b4db89)
#110 0x0000000002ec3d4e
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2ec3d4e)
#111 0x0000000002f57582 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) (/usr/local/clang-trunk/bin/clang-3.9+0x2f57582)
#112 0x0000000002f57f5d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f57f5d)
#113 0x0000000002f3b587 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b587)
#114 0x0000000002f4138e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f4138e)
#115 0x0000000002f3b696 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b696)
#116 0x0000000002f43d68 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f43d68)
#117 0x0000000002f3b964 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b964)
#118 0x0000000002f58053 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f58053)
#119 0x0000000002f3b85a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b85a)
#120 0x0000000002f3cce8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3cce8)
#121 0x0000000002f3d064 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3d064)
#122 0x0000000002f6a351
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f6a351)
#123 0x0000000002f728e4
clang::Sema::BuildVariableInstantiation(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f728e4)
#124 0x0000000002f73137
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f73137)
#125 0x0000000002f46622 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f46622)
#126 0x0000000002f62304
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/usr/local/clang-trunk/bin/clang-3.9+0x2f62304)
#127 0x0000000002f9f5ef
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*) (/usr/local/clang-trunk/bin/clang-3.9+0x2f9f5ef)
#128 0x0000000002f9f8b5 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f9f8b5)
#129 0x0000000002b4db89
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/usr/local/clang-trunk/bin/clang-3.9+0x2b4db89)
#130 0x0000000002ec3d4e
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2ec3d4e)
#131 0x0000000002f57582 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) (/usr/local/clang-trunk/bin/clang-3.9+0x2f57582)
#132 0x0000000002f57f5d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f57f5d)
#133 0x0000000002f3b587 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b587)
#134 0x0000000002f4138e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f4138e)
#135 0x0000000002f3b696 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b696)
#136 0x0000000002f43d68 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f43d68)
#137 0x0000000002f3b964 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b964)
#138 0x0000000002f58053 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f58053)
#139 0x0000000002f3b85a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b85a)
#140 0x0000000002f3cce8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3cce8)
#141 0x0000000002f3d064 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3d064)
#142 0x0000000002f6a351
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f6a351)
#143 0x0000000002f728e4
clang::Sema::BuildVariableInstantiation(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f728e4)
#144 0x0000000002f73137
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f73137)
#145 0x0000000002f46622 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f46622)
#146 0x0000000002f62304
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/usr/local/clang-trunk/bin/clang-3.9+0x2f62304)
#147 0x0000000002f9f5ef
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*) (/usr/local/clang-trunk/bin/clang-3.9+0x2f9f5ef)
#148 0x0000000002f9f8b5 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f9f8b5)
#149 0x0000000002b4db89
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/usr/local/clang-trunk/bin/clang-3.9+0x2b4db89)
#150 0x0000000002ec3d4e
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2ec3d4e)
#151 0x0000000002f57582 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) (/usr/local/clang-trunk/bin/clang-3.9+0x2f57582)
#152 0x0000000002f57f5d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f57f5d)
#153 0x0000000002f3b587 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b587)
#154 0x0000000002f4138e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f4138e)
#155 0x0000000002f3b696 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b696)
#156 0x0000000002f43d68 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f43d68)
#157 0x0000000002f3b964 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b964)
#158 0x0000000002f58053 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f58053)
#159 0x0000000002f3b85a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b85a)
#160 0x0000000002f3cce8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3cce8)
#161 0x0000000002f3d064 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3d064)
#162 0x0000000002f6a351
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f6a351)
#163 0x0000000002f728e4
clang::Sema::BuildVariableInstantiation(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f728e4)
#164 0x0000000002f73137
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f73137)
#165 0x0000000002f46622 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f46622)
#166 0x0000000002f62304
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/usr/local/clang-trunk/bin/clang-3.9+0x2f62304)
#167 0x0000000002f9f5ef
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*) (/usr/local/clang-trunk/bin/clang-3.9+0x2f9f5ef)
#168 0x0000000002f9f8b5 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f9f8b5)
#169 0x0000000002b4db89
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/usr/local/clang-trunk/bin/clang-3.9+0x2b4db89)
#170 0x0000000002ec3d4e
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2ec3d4e)
#171 0x0000000002f57582 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) (/usr/local/clang-trunk/bin/clang-3.9+0x2f57582)
#172 0x0000000002f57f5d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f57f5d)
#173 0x0000000002f3b587 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b587)
#174 0x0000000002f4138e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f4138e)
#175 0x0000000002f3b696 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b696)
#176 0x0000000002f43d68 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f43d68)
#177 0x0000000002f3b964 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b964)
#178 0x0000000002f58053 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f58053)
#179 0x0000000002f3b85a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b85a)
#180 0x0000000002f3cce8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3cce8)
#181 0x0000000002f3d064 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3d064)
#182 0x0000000002f6a351
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f6a351)
#183 0x0000000002f728e4
clang::Sema::BuildVariableInstantiation(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f728e4)
#184 0x0000000002f73137
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f73137)
#185 0x0000000002f46622 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f46622)
#186 0x0000000002f62304
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/usr/local/clang-trunk/bin/clang-3.9+0x2f62304)
#187 0x0000000002f9f5ef
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*) (/usr/local/clang-trunk/bin/clang-3.9+0x2f9f5ef)
#188 0x0000000002f9f8b5 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f9f8b5)
#189 0x0000000002b4db89
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/usr/local/clang-trunk/bin/clang-3.9+0x2b4db89)
#190 0x0000000002ec3d4e
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2ec3d4e)
#191 0x0000000002f57582 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) (/usr/local/clang-trunk/bin/clang-3.9+0x2f57582)
#192 0x0000000002f57f5d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f57f5d)
#193 0x0000000002f3b587 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b587)
#194 0x0000000002f4138e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f4138e)
#195 0x0000000002f3b696 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b696)
#196 0x0000000002f43d68 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f43d68)
#197 0x0000000002f3b964 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b964)
#198 0x0000000002f58053 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f58053)
#199 0x0000000002f3b85a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b85a)
#200 0x0000000002f3cce8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3cce8)
#201 0x0000000002f3d064 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3d064)
#202 0x0000000002f6a351
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f6a351)
#203 0x0000000002f728e4
clang::Sema::BuildVariableInstantiation(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f728e4)
#204 0x0000000002f73137
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f73137)
#205 0x0000000002f46622 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f46622)
#206 0x0000000002f62304
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/usr/local/clang-trunk/bin/clang-3.9+0x2f62304)
#207 0x0000000002f9f5ef
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*) (/usr/local/clang-trunk/bin/clang-3.9+0x2f9f5ef)
#208 0x0000000002f9f8b5 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f9f8b5)
#209 0x0000000002b4db89
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/usr/local/clang-trunk/bin/clang-3.9+0x2b4db89)
#210 0x0000000002ec3d4e
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2ec3d4e)
#211 0x0000000002f57582 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) (/usr/local/clang-trunk/bin/clang-3.9+0x2f57582)
#212 0x0000000002f57f5d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f57f5d)
#213 0x0000000002f3b587 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b587)
#214 0x0000000002f4138e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f4138e)
#215 0x0000000002f3b696 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b696)
#216 0x0000000002f43d68 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f43d68)
#217 0x0000000002f3b964 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b964)
#218 0x0000000002f58053 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f58053)
#219 0x0000000002f3b85a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b85a)
#220 0x0000000002f3cce8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3cce8)
#221 0x0000000002f3d064 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3d064)
#222 0x0000000002f6a351
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f6a351)
#223 0x0000000002f728e4
clang::Sema::BuildVariableInstantiation(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f728e4)
#224 0x0000000002f73137
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f73137)
#225 0x0000000002f46622 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f46622)
#226 0x0000000002f62304
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/usr/local/clang-trunk/bin/clang-3.9+0x2f62304)
#227 0x0000000002f9f5ef
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*) (/usr/local/clang-trunk/bin/clang-3.9+0x2f9f5ef)
#228 0x0000000002f9f8b5 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f9f8b5)
#229 0x0000000002b4db89
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/usr/local/clang-trunk/bin/clang-3.9+0x2b4db89)
#230 0x0000000002ec3d4e
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2ec3d4e)
#231 0x0000000002f57582 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) (/usr/local/clang-trunk/bin/clang-3.9+0x2f57582)
#232 0x0000000002f57f5d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f57f5d)
#233 0x0000000002f3b587 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b587)
#234 0x0000000002f4138e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f4138e)
#235 0x0000000002f3b696 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b696)
#236 0x0000000002f43d68 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f43d68)
#237 0x0000000002f3b964 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b964)
#238 0x0000000002f58053 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f58053)
#239 0x0000000002f3b85a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b85a)
#240 0x0000000002f3cce8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3cce8)
#241 0x0000000002f3d064 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3d064)
#242 0x0000000002f6a351
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f6a351)
#243 0x0000000002f728e4
clang::Sema::BuildVariableInstantiation(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f728e4)
#244 0x0000000002f73137
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f73137)
#245 0x0000000002f46622 clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f46622)
#246 0x0000000002f62304
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/usr/local/clang-trunk/bin/clang-3.9+0x2f62304)
#247 0x0000000002f9f5ef
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*) (/usr/local/clang-trunk/bin/clang-3.9+0x2f9f5ef)
#248 0x0000000002f9f8b5 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser&)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f9f8b5)
#249 0x0000000002b4db89
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/usr/local/clang-trunk/bin/clang-3.9+0x2b4db89)
#250 0x0000000002ec3d4e
clang::Sema::BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec&,
clang::SourceLocation, clang::DeclarationNameInfo const&,
clang::TemplateArgumentListInfo const*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2ec3d4e)
#251 0x0000000002f57582 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) (/usr/local/clang-trunk/bin/clang-3.9+0x2f57582)
#252 0x0000000002f57f5d clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f57f5d)
#253 0x0000000002f3b587 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b587)
#254 0x0000000002f4138e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f4138e)
#255 0x0000000002f3b696 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/clang-trunk/bin/clang-3.9+0x2f3b696)
Stack dump:
0.    Program arguments: /usr/local/clang-trunk/bin/clang-3.9 -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name
small.cpp -mrelocation-model static -mthread-model posix -mdisable-fp-elim
-fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables
-fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb
-coverage-file /data2/small.cpp -resource-dir
/usr/local/clang-trunk/bin/../lib/clang/3.9.0 -internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9 -internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../include/x86_64-linux-gnu/c++/4.9
-internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../include/x86_64-linux-gnu/c++/4.9
-internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/backward
-internal-isystem /usr/local/include -internal-isystem
/usr/local/clang-trunk/bin/../lib/clang/3.9.0/include -internal-externc-isystem
/usr/include/x86_64-linux-gnu -internal-externc-isystem /include
-internal-externc-isystem /usr/include -std=c++11 -fdeprecated-macro
-fdebug-compilation-dir /data2 -ferror-limit 19 -fmessage-length 146
-fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option
-fcolor-diagnostics -o small.o -x c++ small.cpp 
1.    small.cpp:9:25: current parser token ';'
2.    small.cpp:9:16: instantiating class definition 'X<int>'
3.    small.cpp:2:7: instantiating class definition 'X<X<int> >'
4.    small.cpp:2:7: instantiating class definition 'X<X<X<int> > >'
5.    small.cpp:2:7: instantiating class definition 'X<X<X<X<int> > > >'
6.    small.cpp:2:7: instantiating class definition 'X<X<X<X<X<int> > > > >'
7.    small.cpp:2:7: instantiating class definition 'X<X<X<X<X<X<int> > > > > 


< ... snipped ... > 


205.    small.cpp:2:7: instantiating class definition 'X<clang-3.9: error:
unable to execute command: Segmentation fault (core dumped)
clang-3.9: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 3.9.0 (trunk 271877)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-trunk/bin
clang-3.9: note: diagnostic msg: PLEASE submit a bug report to
http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and
associated run script.
clang-3.9: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-3.9: note: diagnostic msg: /tmp/small-adb30a.cpp
clang-3.9: note: diagnostic msg: /tmp/small-adb30a.sh
clang-3.9: note: diagnostic msg: 

********************
$ 


-----------------------------------------------------------------


template < typename > 
class X
{
public:
  template < typename > static int foo ();
  static const int i = sizeof (X < X >::template foo < int >());
};

template class X < int >;

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160607/8d91339b/attachment-0001.html>


More information about the llvm-bugs mailing list