clang-3.6: /home/sliedes/projects/llvm/llvm.src/lib/IR/InlineAsm.cpp:47: llvm::InlineAsm::InlineAsm(llvm::PointerType *, const std::string &, const std::string &, bool, bool, llvm::InlineAsm::AsmDialect): Assertion `Verify(getFunctionType(), constraints) && "Function type not legal for constraints!"' failed. #0 0x7f59f81df130 llvm::sys::PrintStackTrace(_IO_FILE*) /home/sliedes/projects/llvm/llvm.src/lib/Support/Unix/Signals.inc:422:15 #1 0x7f59f81e4ed3 SignalHandler(int) /home/sliedes/projects/llvm/llvm.src/lib/Support/Unix/Signals.inc:198:3 #2 0x7f59f5aa1180 (/lib/x86_64-linux-gnu/libc.so.6+0x35180) #3 0x7f59f5aa1107 gsignal /build/glibc-NmptCx/glibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0 #4 0x7f59f5aa24e8 abort /build/glibc-NmptCx/glibc-2.19/stdlib/abort.c:91:0 #5 0x7f59f5a9a226 __assert_fail_base /build/glibc-NmptCx/glibc-2.19/assert/assert.c:92:0 #6 0x7f59f5a9a2d2 (/lib/x86_64-linux-gnu/libc.so.6+0x2e2d2) #7 0x7f59fa7b8ccf (/home/sliedes/local/llvm-trunk-rel/bin/../lib/libLLVMCore.so+0x4aaccf) #8 0x7f59fa7c3865 std::string::_M_data() const /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h:293:9 #9 0x7f59fa7c3865 std::string::_M_rep() const /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h:301:0 #10 0x7f59fa7c3865 std::basic_string, std::allocator >::~basic_string() /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h:547:0 #11 0x7f59fa7c3865 llvm::InlineAsmKeyType::create(llvm::PointerType*) const /home/sliedes/projects/llvm/llvm.src/lib/IR/ConstantsContext.h:412:0 #12 0x7f59fa7b8804 llvm::ConstantUniqueMap::create(llvm::PointerType*, llvm::InlineAsmKeyType) /home/sliedes/projects/llvm/llvm.src/lib/IR/ConstantsContext.h:564:29 #13 0x7f59fa7b8804 llvm::ConstantUniqueMap::getOrCreate(llvm::PointerType*, llvm::InlineAsmKeyType) /home/sliedes/projects/llvm/llvm.src/lib/IR/ConstantsContext.h:580:0 #14 0x7f59fa7b86ae llvm::InlineAsm::get(llvm::FunctionType*, llvm::StringRef, llvm::StringRef, bool, bool, llvm::InlineAsm::AsmDialect) /home/sliedes/projects/llvm/llvm.src/lib/IR/InlineAsm.cpp:35:1 #15 0x7f59ef82a5ef clang::CodeGen::CodeGenFunction::EmitAsmStmt(clang::AsmStmt const&) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/CodeGen/CGStmt.cpp:2041:5 #16 0x7f59ef8179c3 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/CodeGen/CGStmt.cpp:139:33 #17 0x7f59ef831a63 clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/CodeGen/CGStmt.cpp:284:42 #18 0x7f59ef889577 clang::CodeGen::CodeGenFunction::EmitFunctionBody(clang::CodeGen::FunctionArgList&, clang::Stmt const*) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/CodeGen/CodeGenFunction.cpp:753:5 #19 0x7f59ef88aeeb clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/CodeGen/CodeGenFunction.cpp:883:5 #20 0x7f59ef8c3836 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/CodeGen/CodeGenModule.cpp:2375:3 #21 0x7f59ef8b6ace clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/CodeGen/CodeGenModule.cpp:1496:12 #22 0x7f59ef8ca3fb clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/CodeGen/CodeGenModule.cpp:3129:5 #23 0x7f59efa7cc07 (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/CodeGen/ModuleBuilder.cpp:113:73 #24 0x7f59ef877e38 clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/CodeGen/CodeGenAction.cpp:106:11 #25 0x7f59f1d31c09 clang::ParseAST(clang::Sema&, bool, bool) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Parse/ParseAST.cpp:143:21 #26 0x7f59f6a7fb81 clang::FrontendAction::Execute() /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Frontend/FrontendAction.cpp:428:8 #27 0x7f59f69d2488 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/Frontend/CompilerInstance.cpp:804:7 #28 0x7f59f663c2c3 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /home/sliedes/projects/llvm/llvm.src/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:222:18 #29 0x420258 cc1_main(llvm::ArrayRef, char const*, void*) /home/sliedes/projects/llvm/llvm.src/tools/clang/tools/driver/cc1_main.cpp:110:13 #30 0x419925 ExecuteCC1Tool(llvm::ArrayRef, llvm::StringRef) /home/sliedes/projects/llvm/llvm.src/tools/clang/tools/driver/driver.cpp:369:12 #31 0x419925 main /home/sliedes/projects/llvm/llvm.src/tools/clang/tools/driver/driver.cpp:415:0 #32 0x7f59f5a8db45 __libc_start_main /build/glibc-NmptCx/glibc-2.19/csu/libc-start.c:321:0 #33 0x40b328 _start (/home/sliedes/local/llvm-trunk-rel/bin/clang-3.6+0x40b328) Stack dump: 0. Program arguments: /home/sliedes/local/llvm-trunk-rel/bin/clang-3.6 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name fun-type-constraint.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 -resource-dir /home/sliedes/local/llvm-trunk-rel/bin/../lib/clang/3.6.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 /home/sliedes/local/llvm-trunk-rel/bin/../lib/clang/3.6.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 /home/sliedes/t/clang/bug/min -ferror-limit 19 -fmessage-length 0 -mstackrealign -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -o /tmp/fun-type-constraint-d605e7.o -x c++ fun-type-constraint.cpp 1. parser at end of file 2. fun-type-constraint.cpp:2:6: LLVM IR generation of declaration 'fn1' 3. fun-type-constraint.cpp:2:6: Generating code for declaration 'fn1' clang-3.6: error: unable to execute command: Aborted clang-3.6: error: clang frontend command failed due to signal (use -v to see invocation)