[cfe-dev] Clang crash with attribute-types that have extra parens:
Keane, Erich via cfe-dev
cfe-dev at lists.llvm.org
Tue Dec 13 15:13:19 PST 2016
Hi all, I'm stuck on the following defect and was hoping someone could give a bit of advice to get me unstuck-
I found that doing the following causes an assertion failure:
int (__attribute__((vector_size(16))) vs_test);
The following does not for comparison sake:
int (__attribute__((aligned(16))) align_test);
The initial problem seems to be that SemaType.cpp's Sema::GetTypeSourceInfoForDeclarator receives a VectorType, which is not terribly implemented. The first assertion failure is caused by DeclaratorLocFiller::Visit on this value. I fixed this by adding a DeclaratorLocFiller::VisitVectorTypeLoc.
The next issue is an actual crash (not an assertion) due to dereferencing a null in the call to TypeLocVisitor::Visit in the 'else' clause of the ReturnTypeInfo test. Due to the CurrTL.getNextTypeLoc returning an empty type, this is a null dereference. It seemed to me that once again, VectorType hadn't been properly implemented. Digging down, it would seem that the stock ConcreteTypeLoc implementation would work by implementing getInnerType, but the TypeSpecTypeLoc implementation gets called, which is what results in a 'null'. Thus, the crash in the output below:
I've attempted to actually just implement VectorTypeLoc::getNextTypeLoc as : return TypeLoc(getTypePtr()->getElementType(), getNonLocalData());, however this causes a different test to fail, SemaTemplate/ext-vector-type.cpp.
In that case, it seems that TypeLocBuilder::pushImpl attempts to confirm that the 'getNextTypeLoc' was the previously built thing (essentially an empty TypeLoc in the 1st call case).
The following code repros that issue (see 2nd crash log below):
1 template <typename T, unsigned Len>
1 struct make1 {
2 typedef T __attribute((ext_vector_type(Len))) type;
3 };
4
5 void test() {
6 make1<int, 5>::type x;
7 }
So, after that LONG introduction, my question is: Am I way off the rails in my attempt here? Am I missing the idea behind getNextTypeLoc? Should VectorType even be possible to get to GetTypeSourceInfoForDeclarator, and I should be running up the stack from there? Is the issue with something in the TypeLocBuilder stuff?
Thanks,
Erich
Command Output (stderr):
--
#0 0x0000000003663417 llvm::sys::PrintStackTrace(llvm::raw_ostream&) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/lib/Support/Unix/Signals.inc:402:0
#1 0x00000000036637d9 PrintStackTraceSignalHandler(void*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/lib/Support/Unix/Signals.inc:466:0
#2 0x0000000003661a36 llvm::sys::RunSignalHandlers() /export/iusers/ekeane1/workspaces/is_compile_time/llvm/lib/Support/Signals.cpp:44:0
#3 0x0000000003662da9 SignalHandler(int) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/lib/Support/Unix/Signals.inc:256:0
#4 0x00002b22d3f9c130 __restore_rt (/lib64/libpthread.so.0+0xf130)
#5 0x00000000038a64a6 clang::Type::getTypeClass() const /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/include/clang/AST/Type.h:1535:0
#6 0x00000000059b3c6c clang::UnqualTypeLoc::getTypeLocClass() const /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/include/clang/AST/TypeLoc.h:233:0
#7 0x00000000059b1990 clang::TypeLocVisitor<(anonymous namespace)::TypeSpecLocFiller, void>::Visit(clang::UnqualTypeLoc) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/include/clang/AST/TypeLocVisitor.h:40:0
#8 0x00000000059a89ce clang::Sema::GetTypeSourceInfoForDeclarator(clang::Declarator&, clang::QualType, clang::TypeSourceInfo*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaType.cpp:5376:0
#9 0x00000000059a6195 GetFullTypeForDeclarator((anonymous namespace)::TypeProcessingState&, clang::QualType, clang::TypeSourceInfo*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaType.cpp:4755:0
#10 0x00000000059a6288 clang::Sema::GetTypeForDeclarator(clang::Declarator&, clang::Scope*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaType.cpp:4775:0
#11 0x00000000052e33d6 clang::Sema::HandleDeclarator(clang::Scope*, clang::Declarator&, llvm::MutableArrayRef<clang::TemplateParameterList*>) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaDecl.cpp:5040:0
#12 0x00000000052e249e clang::Sema::ActOnDeclarator(clang::Scope*, clang::Declarator&) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaDecl.cpp:4835:0
#13 0x0000000004ed21ec clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/ParseDecl.cpp:1991:0
#14 0x0000000004ed1b37 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/ParseDecl.cpp:1867:0
#15 0x0000000004eb4ac7 clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/Parser.cpp:984:0
#16 0x0000000004eb4b80 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*, clang::AccessSpecifier) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/Parser.cpp:999:0
#17 0x0000000004eb423a clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/Parser.cpp:851:0
#18 0x0000000004eb351e clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/Parser.cpp:627:0
#19 0x0000000004eaf62f clang::ParseAST(clang::Sema&, bool, bool) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/ParseAST.cpp:146:0
#20 0x0000000003e6e514 clang::ASTFrontendAction::ExecuteAction() /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:560:0
#21 0x00000000042c13af clang::CodeGenAction::ExecuteAction() /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:909:0
#22 0x0000000003e6dfbb clang::FrontendAction::Execute() /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:463:0
#23 0x0000000003e1a4d2 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:931:0
#24 0x0000000003f8e9ca clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:249:0
#25 0x0000000001c08ea2 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/tools/driver/cc1_main.cpp:221:0
#26 0x0000000001bff313 ExecuteCC1Tool(llvm::ArrayRef<char const*>, llvm::StringRef) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/tools/driver/driver.cpp:299:0
#27 0x0000000001bffea1 main /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/tools/driver/driver.cpp:380:0
#28 0x00002b22d5235af5 __libc_start_main (/lib64/libc.so.6+0x21af5)
#29 0x0000000001bfcbd9 _start (/export/iusers/ekeane1/workspaces/is_compile_time/build/./bin/clang+0x1bfcbd9)
Stack dump:
0. Program arguments: /export/iusers/ekeane1/workspaces/is_compile_time/build/./bin/clang -cc1 -internal-isystem /export/iusers/ekeane1/workspaces/is_compile_time/build/bin/../lib/clang/4.0.0/include -nostdsysteminc -triple x86_64-linux-gnu -emit-llvm -o - /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/test/CodeGen/vector_size.c
1. /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/test/CodeGen/vector_size.c:4:40: current parser token ';'
FileCheck error: '-' is empty.
FileCheck command line: /export/iusers/ekeane1/workspaces/is_compile_time/build/./bin/FileCheck /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/test/CodeGen/vector_size.c
********************
FAIL: Clang :: SemaTemplate/ext-vector-type.cpp (10163 of 10164)
******************** TEST 'Clang :: SemaTemplate/ext-vector-type.cpp' FAILED ********************
Script:
--
/export/iusers/ekeane1/workspaces/is_compile_time/build/./bin/clang -cc1 -internal-isystem /export/iusers/ekeane1/workspaces/is_compile_time/build/bin/../lib/clang/4.0.0/include -nostdsysteminc -fsyntax-only -verify /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/test/SemaTemplate/ext-vector-type.cpp
--
Exit Code: 134
Command Output (stderr):
--
clang: /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/TypeLocBuilder.cpp:67: clang::TypeLoc clang::TypeLocBuilder::pushImpl(clang::QualType, size_t, unsigned int): Assertion `TLast == LastTy && "mismatch between last type and new type's inner type"' failed.
#0 0x0000000003663417 llvm::sys::PrintStackTrace(llvm::raw_ostream&) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/lib/Support/Unix/Signals.inc:402:0
#1 0x00000000036637d9 PrintStackTraceSignalHandler(void*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/lib/Support/Unix/Signals.inc:466:0
#2 0x0000000003661a36 llvm::sys::RunSignalHandlers() /export/iusers/ekeane1/workspaces/is_compile_time/llvm/lib/Support/Signals.cpp:44:0
#3 0x0000000003662da9 SignalHandler(int) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/lib/Support/Unix/Signals.inc:256:0
#4 0x00002b9c9cbdc130 __restore_rt (/lib64/libpthread.so.0+0xf130)
#5 0x00002b9c9de895d7 __GI_raise (/lib64/libc.so.6+0x355d7)
#6 0x00002b9c9de8acc8 __GI_abort (/lib64/libc.so.6+0x36cc8)
#7 0x00002b9c9de82546 __assert_fail_base (/lib64/libc.so.6+0x2e546)
#8 0x00002b9c9de825f2 (/lib64/libc.so.6+0x2e5f2)
#9 0x00000000059b880d clang::TypeLocBuilder::pushImpl(clang::QualType, unsigned long, unsigned int) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/TypeLocBuilder.cpp:68:0
#10 0x0000000005585b62 clang::ExtVectorTypeLoc clang::TypeLocBuilder::push<clang::ExtVectorTypeLoc>(clang::QualType) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/TypeLocBuilder.h:100:0
#11 0x000000000590f6c9 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentSizedExtVectorType(clang::TypeLocBuilder&, clang::DependentSizedExtVectorTypeLoc) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/TreeTransform.h:4595:0
#12 0x00000000058fb1e8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/include/clang/AST/TypeNodes.def:75:0
#13 0x00000000058fae7d clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/TreeTransform.h:4011:0
#14 0x00000000058f2ff6 clang::Sema::SubstType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp:1483:0
#15 0x0000000005935c9f clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(clang::TypedefNameDecl*, bool) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:476:0
#16 0x0000000005936232 clang::TemplateDeclInstantiator::VisitTypedefDecl(clang::TypedefDecl*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:545:0
#17 0x000000000592c3f9 clang::declvisitor::Base<clang::declvisitor::make_ptr, clang::TemplateDeclInstantiator, clang::Decl*>::Visit(clang::Decl*) /export/iusers/ekeane1/workspaces/is_compile_time/build/tools/clang/include/clang/AST/DeclNodes.inc:303:0
#18 0x00000000058f4c0d clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp:1978:0
#19 0x00000000058f6293 clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp:2399:0
#20 0x00000000059afac5 clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaType.cpp:7241:0
#21 0x00000000059aefcb clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser&) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaType.cpp:7031:0
#22 0x00000000052323e9 bool clang::Sema::RequireCompleteType<clang::SourceRange>(clang::SourceLocation, clang::QualType, unsigned int, clang::SourceRange const&) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/include/clang/Sema/Sema.h:1484:0
#23 0x000000000522df80 clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp:223:0
#24 0x0000000005688cdf clang::Sema::LookupParsedName(clang::LookupResult&, clang::Scope*, clang::CXXScopeSpec*, bool, bool) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaLookup.cpp:2241:0
#25 0x00000000052d162c clang::Sema::ClassifyName(clang::Scope*, clang::CXXScopeSpec&, clang::IdentifierInfo*&, clang::SourceLocation, clang::Token const&, bool, std::unique_ptr<clang::CorrectionCandidateCallback, std::default_delete<clang::CorrectionCandidateCallback> >) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Sema/SemaDecl.cpp:792:0
#26 0x0000000004eb6952 clang::Parser::TryAnnotateName(bool, std::unique_ptr<clang::CorrectionCandidateCallback, std::default_delete<clang::CorrectionCandidateCallback> >) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/Parser.cpp:1501:0
#27 0x0000000004f59267 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::AllowedContsructsKind, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/ParseStmt.cpp:189:0
#28 0x0000000004f58dc6 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::AllowedContsructsKind, clang::SourceLocation*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/ParseStmt.cpp:111:0
#29 0x0000000004f5bedd clang::Parser::ParseCompoundStatementBody(bool) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/ParseStmt.cpp:987:0
#30 0x0000000004f5f632 clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/ParseStmt.cpp:1951:0
#31 0x0000000004eb59ec clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/Parser.cpp:1216:0
#32 0x0000000004ed17c4 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/ParseDecl.cpp:1813:0
#33 0x0000000004eb4ac7 clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/Parser.cpp:984:0
#34 0x0000000004eb4b80 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*, clang::AccessSpecifier) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/Parser.cpp:999:0
#35 0x0000000004eb423a clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/Parser.cpp:851:0
#36 0x0000000004eb351e clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/Parser.cpp:627:0
#37 0x0000000004eaf62f clang::ParseAST(clang::Sema&, bool, bool) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Parse/ParseAST.cpp:146:0
#38 0x0000000003e6e514 clang::ASTFrontendAction::ExecuteAction() /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:560:0
#39 0x0000000003e6dfbb clang::FrontendAction::Execute() /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:463:0
#40 0x0000000003e1a4d2 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:931:0
#41 0x0000000003f8e9ca clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:249:0
#42 0x0000000001c08ea2 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/tools/driver/cc1_main.cpp:221:0
#43 0x0000000001bff313 ExecuteCC1Tool(llvm::ArrayRef<char const*>, llvm::StringRef) /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/tools/driver/driver.cpp:299:0
#44 0x0000000001bffea1 main /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/tools/driver/driver.cpp:380:0
#45 0x00002b9c9de75af5 __libc_start_main (/lib64/libc.so.6+0x21af5)
#46 0x0000000001bfcbd9 _start (/export/iusers/ekeane1/workspaces/is_compile_time/build/./bin/clang+0x1bfcbd9)
Stack dump:
0. Program arguments: /export/iusers/ekeane1/workspaces/is_compile_time/build/./bin/clang -cc1 -internal-isystem /export/iusers/ekeane1/workspaces/is_compile_time/build/bin/../lib/clang/4.0.0/include -nostdsysteminc -fsyntax-only -verify /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/test/SemaTemplate/ext-vector-type.cpp
1. /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/test/SemaTemplate/ext-vector-type.cpp:8:18: current parser token 'type'
2. /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/test/SemaTemplate/ext-vector-type.cpp:7:19: parsing function body 'test_make1'
3. /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/test/SemaTemplate/ext-vector-type.cpp:7:19: in compound statement ('{}')
4. /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/test/SemaTemplate/ext-vector-type.cpp:3:8: instantiating class definition 'make1<int, 5>'
/export/iusers/ekeane1/workspaces/is_compile_time/build/tools/clang/test/SemaTemplate/Output/ext-vector-type.cpp.script: line 1: 19376 Aborted /export/iusers/ekeane1/workspaces/is_compile_time/build/./bin/clang -cc1 -internal-isystem /export/iusers/ekeane1/workspaces/is_compile_time/build/bin/../lib/clang/4.0.0/include -nostdsysteminc -fsyntax-only -verify /export/iusers/ekeane1/workspaces/is_compile_time/llvm/tools/clang/test/SemaTemplate/ext-vector-type.cpp
--
More information about the cfe-dev
mailing list