/* $ clang llvm-test.c -o llvm-test.out -O3 -w clang: /home/hassy/llvm/lib/CodeGen/ScheduleDAG.cpp:511: void llvm::ScheduleDAGTopologicalSort::InitDAGTopologicalSorting(): Assertion `Node2Index[SU->NodeNum] > Node2Index[I->getSUnit()->NodeNum] && "Wrong topological sorting"' failed. 0 clang 0x00000000020edef2 llvm::sys::PrintStackTrace(_IO_FILE*) + 34 1 clang 0x00000000020edb89 2 libpthread.so.0 0x00007fc57d256cb0 3 libc.so.6 0x00007fc57c29d425 gsignal + 53 4 libc.so.6 0x00007fc57c2a0b8b abort + 379 5 libc.so.6 0x00007fc57c2960ee 6 libc.so.6 0x00007fc57c296192 7 clang 0x0000000001b79cf1 llvm::ScheduleDAGTopologicalSort::InitDAGTopologicalSorting() + 1233 8 clang 0x0000000001a0d7e7 9 clang 0x00000000019a17a6 llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 1078 10 clang 0x00000000019a4767 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 1943 11 clang 0x00000000019a5cd9 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 761 12 clang 0x000000000208834f llvm::FPPassManager::runOnFunction(llvm::Function&) + 655 13 clang 0x000000000208881b llvm::FPPassManager::runOnModule(llvm::Module&) + 43 14 clang 0x0000000002088a9b llvm::MPPassManager::runOnModule(llvm::Module&) + 603 15 clang 0x0000000002088c7f llvm::PassManagerImpl::run(llvm::Module&) + 223 16 clang 0x0000000000940f34 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::Module*, clang::BackendAction, llvm::raw_ostream*) + 2196 17 clang 0x000000000093ee9c 18 clang 0x0000000000aa5f7b clang::ParseAST(clang::Sema&, bool, bool) + 507 19 clang 0x000000000093d4ec clang::CodeGenAction::ExecuteAction() + 60 20 clang 0x00000000007cfcc9 clang::FrontendAction::Execute() + 249 21 clang 0x00000000007b05d5 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 357 22 clang 0x00000000007996a5 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1765 23 clang 0x0000000000793c88 cc1_main(char const**, char const**, char const*, void*) + 1208 24 clang 0x00000000007757e8 main + 2152 25 libc.so.6 0x00007fc57c28876d __libc_start_main + 237 26 clang 0x0000000000792a2d Stack dump: 0. Program arguments: /usr/local/bin/clang -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name llvm-test.c -mrelocation-model static -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -target-linker-version 2.22.90.20120924 -momit-leaf-frame-pointer -resource-dir /usr/local/bin/../lib/clang/3.4 -internal-isystem /usr/local/include -internal-isystem /usr/local/bin/../lib/clang/3.4/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -w -fdebug-compilation-dir /home/hassy/Terminal1 -ferror-limit 19 -fmessage-length 0 -mstackrealign -fobjc-runtime=gcc -fobjc-default-synthesize-properties -fdiagnostics-show-option -backend-option -vectorize-loops -o /tmp/llvm-test-lcF2WT.o -x c llvm-test.c 1. parser at end of file 2. Code generation 3. Running pass 'Function Pass Manager' on module 'llvm-test.c'. 4. Running pass 'X86 DAG->DAG Instruction Selection' on function '@main' clang: error: unable to execute command: Aborted (core dumped) clang: error: clang frontend command failed due to signal (use -v to see invocation) clang version 3.4 (http://llvm.org/git/clang.git 3923d6a87fe7b2c91cc4a7dbd90c4ec7e2316bcd) (http://llvm.org/git/llvm.git 363160a6be82df343fa60aa09d9d8f8f44605529) Target: x86_64-unknown-linux-gnu Thread model: posix clang: 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: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang: note: diagnostic msg: /tmp/llvm-test-de7TLQ.c clang: note: diagnostic msg: /tmp/llvm-test-de7TLQ.sh clang: note: diagnostic msg: ******************** */ #include #define OK() printf("@OK@\n") #define NG(fmt,val) printf("@NG@ (test = " fmt ")\n",val) double x14 = 3511269280748732.0; int k132 = 1199736362; int main (void) { volatile unsigned int x68 = 1U; volatile int x106 = 1; unsigned int t4 = 1U; t4 = ((((unsigned int)1U-((unsigned int)1U>((unsigned int)1U*((unsigned int)2U/(((int)-1+k132)<<((int)0<<(((int)(x14+(double)-3511267518266169.0))+(int)-1762482553)))))))/x106)>>(((int)-1%(x14!=x68))/(int)1)); if (t4 == 0U) { OK(); } else { NG("%u", t4); } return 0; }