<div dir="ltr">Hello,<div><br></div><div>While trying to find out why the LDC compiler refuses to generate object code for MSP430 targets (but generates MSP430 assembly or LLVM IR/bitcode), I came across the following apparent inconsistency.</div><div><br></div><div>This works:</div><div><br></div><div>$ clang --target=msp430 -c test.c<br></div><div><br></div><div>This doesn't work:</div><div><br></div><div>$ clang --target=msp430 -S -emit-llvm test.c</div><div>$ llc -filetype=obj test.ll</div><div>/opt/msp430/bin/llc: target does not support generation of this file type!</div><div><br></div><div>That sequence works fine for x86.</div><div><br></div><div>Could someone help shed some light into this discrepancy? (Maybe it will also help me figure out why LDC refuses to directly generate MSP430 object files [1]).</div><div><br></div><div>Thanks,</div><div>Luís</div><div><br></div><div>[1] $ ldc2 -mtriple=msp430 -c test.d</div><div>no support for asm output</div><div>UNREACHABLE executed at ../driver/toobj.cpp:130!</div><div>0  ldc2                     0x0000000107e19c9c llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 60</div><div>1  ldc2                     0x0000000107e1a1e9 PrintStackTraceSignalHandler(void*) + 25</div><div>2  ldc2                     0x0000000107e16139 llvm::sys::RunSignalHandlers() + 425</div><div>3  ldc2                     0x0000000107e1a642 SignalHandler(int) + 354</div><div>4  libsystem_platform.dylib 0x00007fffa0ad5b3a _sigtramp + 26</div><div>5  libsystem_platform.dylib 0x0000000000000003 _sigtramp + 1599251683</div><div>6  libsystem_c.dylib        0x00007fffa095a420 abort + 129</div><div>7  ldc2                     0x0000000107d246c0 LLVMInstallFatalErrorHandler + 0</div><div>8  ldc2                     0x0000000105efd2a7 codegenModule(llvm::TargetMachine&, llvm::Module&, llvm::raw_fd_ostream&, llvm::TargetMachine::CodeGenFileType) + 391</div><div>9  ldc2                     0x0000000105f00ab9 (anonymous namespace)::writeObjectFile(llvm::Module*, char const*) + 377</div><div>10 ldc2                     0x0000000105efcc05 writeModule(llvm::Module*, char const*) + 10517</div><div>11 ldc2                     0x0000000105ee6162 ldc::CodeGenerator::writeAndFreeLLModule(char const*) + 1602</div><div>12 ldc2                     0x0000000105ee6a82 ldc::CodeGenerator::finishLLModule(Module*) + 130</div><div>13 ldc2                     0x0000000105ee880c ldc::CodeGenerator::emit(Module*) + 1420</div><div>14 ldc2                     0x0000000105f36e4e codegenModules(Array<Module*>&) + 574</div><div>15 ldc2                     0x0000000105bf2a00 mars_mainBody(Array<char const*>&, Array<char const*>&) + 5120</div><div>Abort trap: 6</div></div>