LDMD2(1)
π LDMD2(1) π
okay bestie, deep breath, because this is THE page: LDMD2 π
it's the LLVM D Compiler β specifically the DMD-compatible driver β and the manual name is literally LDMD2(1), right there in the header, no cap. Grab a snack π, this one's long, and we're only on part 1.
πΈ NAME πΈ
LDMD2 β LLVM D Compiler (DMD-compatible driver) β¨
π¦ DESCRIPTION π¦
π It's LDC, bestie (the LLVM D compiler, 1.42.0)
So the whole vibe is this: LDC - the LLVM D compiler (1.42.0):
based on DMD v2.112.1 and LLVM 19.1.7 built with LDC - the LLVM D compiler (1.42.0) Default target: x86_64-pc-linux-gnu Host CPU: skylake https://dlang.org - https://wiki.dlang.org/LDC
translation: it's built on DMD v2.112.1 and LLVM 19.1.7, compiled with LDC - the LLVM D compiler (1.42.0), targeting x86_64-pc-linux-gnu by default, running on a skylake host CPU. the links are https://dlang.org and https://wiki.dlang.org/LDC β go look, they're right there π«Ά
π― Registered Targets
these are all the targets it's registered for, and yes you're gonna read every single one, periodt:
aarch64β AArch64 (little endian)aarch64_32β AArch64 (little endian ILP32)aarch64_beβ AArch64 (big endian)amdgcnβ AMD GCN GPUsarmβ ARMarm64β ARM64 (little endian)arm64_32β ARM64 (little endian ILP32)armebβ ARM (big endian)avrβ Atmel AVR Microcontrollerbpfβ BPF (host endian)bpfebβ BPF (big endian)bpfelβ BPF (little endian)hexagonβ Hexagonlanaiβ Lanailoongarch32β 32-bit LoongArchloongarch64β 64-bit LoongArchm68kβ Motorola 68000 familymipsβ MIPS (32-bit big endian)mips64β MIPS (64-bit big endian)mips64elβ MIPS (64-bit little endian)mipselβ MIPS (32-bit little endian)msp430β MSP430 [experimental]nvptxβ NVIDIA PTX 32-bitnvptx64β NVIDIA PTX 64-bitppc32β PowerPC 32ppc32leβ PowerPC 32 LEppc64β PowerPC 64ppc64leβ PowerPC 64 LEr600β AMD GPUs HD2XXX-HD6XXXriscv32β 32-bit RISC-Vriscv64β 64-bit RISC-Vsparcβ Sparcsparcelβ Sparc LEsparcv9β Sparc V9systemzβ SystemZthumbβ Thumbthumbebβ Thumb (big endian)veβ VEwasm32β WebAssembly 32-bitwasm64β WebAssembly 64-bitx86β 32-bit X86: Pentium-Pro and abovex86-64β 64-bit X86: EM64T and AMD64xcoreβ XCorextensaβ Xtensa 32
π Usage
here's the shape of it, bestie:
ldmd2 [<option>...] <file>...
ldmd2 [<option>...] -run <file> [<arg>...]
Where:
<file>β a D source file<arg>β Argument to pass when running the resulting program
π
The <option> Menu π
every single flag. all of them. i am not skipping a one π«‘
@<cmdfile>β read arguments from cmdfile, so you don't have to type them all yourself-allinstβ generate code for all template instantiations-betterCβ omit generating some runtime information and helper functions-boundscheck=[on|safeonly|off]β bounds checks on, in@safeonly, or off β pick one π-cβ compile only, do not link-check=[assert|bounds|in|invariant|out|switch][=[on|off]]β enable or disable specific checks-checkaction=[D|C|halt|context]β behavior on assert/boundscheck/finalswitch failure-colorβ turn colored console output on π-color=[on|off|auto]β force colored console output on or off, or only when not redirected (default)-conf=<filename>β use config file at filename-covβ do code coverage analysis-cov=ctfeβ include code executed during CTFE in coverage report-cov=<nnn>β require at least nnn% code coverage-Dβ generate documentation-Dd<directory>β write documentation file to directory-Df<filename>β write documentation file to filename-dβ silently allow deprecated features and symbols-deβ issue an error when deprecated features or symbols are used (halt compilation)-dwβ issue a message when deprecated features or symbols are used (default)-debugβ compile in debug code-debug=<level>β compile in debug code <= level-debug=<ident>β compile in debug code identified by ident-debuglib=<name>β set symbolic debug library to name-defaultlib=<name>β set default library to name-depsβ print module dependencies (imports/file/version/debug/lib)-deps=<filename>β write module dependencies to filename (only imports)-dllimport=<value>β Windows only: select symbols to dllimport (none/defaultLibsOnly/externalOnly/all)-edition[=<NNNN>[<filename>]]β set language edition to edition year, apply to <filename>-extern-std=<standard>β set C++ name mangling compatibility with standard-fIBTβ generate Indirect Branch Tracking code-fPICβ generate position independent code-ftime-traceβ turn on compile time profiler, generate JSON file with results-ftime-trace-granularity=β minimum time granularity (in microseconds) traced by time profiler (default: 500)-ftime-trace-file=<filename>β specify output file for-ftime-trace-gβ add symbolic debug info-gdwarf=<version>β add DWARF symbolic debug info-gfβ emit debug info for all referenced types-gsβ always emit stack frame-Hβ generate 'header' file-Hd=<directory>β write 'header' file to directory-Hf=<filename>β write 'header' file to filename-HC[=[silent|verbose]]β write C++ 'header' equivalent to stdout-HCd=<directory>β write C++ 'header' file to directory-HCf=<filename>β write C++ 'header' file to filename instead of stdout--helpβ print help and exit-I=<directory>β look for imports also in directory-extI=<directory>β look for imports that are out of the currently compiling binary, used to set the module as DllImport-i[=<pattern>]β include imported modules in the compilation-identifiers=<table>β specify the non-ASCII tables for D identifiers-identifiers-importc=<table>β specify the non-ASCII tables for ImportC identifiers-ignoreβ deprecated flag, unsupported pragmas are always ignored now-inlineβ do function inlining-J=<directory>β look for string imports also in directory-L=<linkerflag>β pass linkerflag to link-libβ generate library rather than object files-lowmemβ enable garbage collection for the compiler-m32β generate 32 bit code-m64β generate 64 bit code-mainβ add defaultmain()if not present already (e.g. for unittesting)-makedeps[=<filename>]β print dependencies in Makefile compatible format to filename or stdout-manβ open web browser on manual page-mcpu=<id>β generate instructions for architecture identified by 'id'-mcpu=[h|help|?]β list all architecture options-mixin=<filename>β expand and save mixins to file specified by <filename>-mscrtlib=<libname>β MS C runtime library to reference from main/WinMain/DllMain-mv=<package.module>=<filespec>β use <filespec> as source file for <package.module>-noboundscheckβ no array bounds checking (deprecated, use-boundscheck=off)-nothrowβ assume no Exceptions will be thrown-Oβ optimize π₯-o-β do not write object file-od=<directory>β write object & library files to directory-of=<filename>β name output file to filename-opβ preserve source path for output files-oqβ write object files with fully qualified file names-P=<preprocessorflag>β pass preprocessorflag to C preprocessor-preview=<name>β enable an upcoming language change identified by 'name'-preview=[h|help|?]β list all upcoming language changes-profileβ profile runtime performance of generated code-releaseβ contracts and asserts are not emitted, and bounds checking is performed only in@safefunctions-revert=<name>β revert language change identified by 'name'-revert=[h|help|?]β list all revertable language changes-run <srcfile>β compile, link, and run the program srcfile-sharedβ generate shared library (DLL)-target=<triple>β use <triple> as<arch>-[<vendor>-]<os>[-<cenv>[-<cppenv]]-transition=<name>β help with language change identified by 'name'-transition=[h|help|?]β list all language changes-unittestβ compile in unit tests-vβ verbose π-vasmβ generate additional textual assembly files (.s)-vcolumnsβ print character (column) numbers in diagnostics-vdmdβ print the underlying LDC command line-verror-style=[digitalmars|gnu|sarif]β set the style for file/line number annotations on compiler messages-verror-supplements=<num>β limit the number of supplemental messages for each error (0 means unlimited)-verrors=<num>β limit the number of error/deprecation messages (0 means unlimited)-verrors=[context|simple]β set the verbosity of error messages-verrors=specβ show errors from speculative compiles such as__traits(compiles,...)--versionβ print compiler version and exit-version=<level>β compile in version code >= level-version=<ident>β compile in version code identified by ident-vgcβ list all gc allocations including hidden ones-visibility=<value>β default visibility of symbols (default/hidden/public)-vtemplates=[list-instances]β list statistics on template instantiations-vtlsβ list all variables going into thread local storage-wβ warnings as errors (compilation will halt) π-wiβ warnings as messages (compilation will continue)-Xβ generate JSON file-Xf=<filename>β write JSON file to filename-Xcc=<driverflag>β pass driverflag to linker driver (cc)
and then, bestie, the page does the thing where it repeats itself π β here it comes again, same energy, same words:
based on DMD v2.112.1 and LLVM 19.1.7 built with LDC - the LLVM D compiler (1.42.0) Default target: x86_64-pc-linux-gnu Host CPU: skylake https://dlang.org - https://wiki.dlang.org/LDC
π― Registered Targets
aarch64β AArch64 (little endian)aarch64_32β AArch64 (little endian ILP32)aarch64_beβ AArch64 (big endian)amdgcnβ AMD GCN GPUsarmβ ARMarm64β ARM64 (little endian)arm64_32β ARM64 (little endian ILP32)armebβ ARM (big endian)avrβ Atmel AVR Microcontrollerbpfβ BPF (host endian)bpfebβ BPF (big endian)bpfelβ BPF (little endian)hexagonβ Hexagonlanaiβ Lanai
...and that's exactly where part 1 cuts off mid-target-list π so don't you dare go anywhere, there's more, we are NOT done π«Ά
β¦and bestie, the target roster just keeps going, so here's every single one, no skips, no edits, exactly as the compiler spells them β¨
loongarch32β 32-bit LoongArchloongarch64β 64-bit LoongArchm68kβ the Motorola 68000 family, a certified vintage icon π°οΈmipsβ MIPS, 32-bit, big endianmips64β MIPS, 64-bit, big endianmips64elβ MIPS, 64-bit, little endianmipselβ MIPS, 32-bit, little endianmsp430β MSP430, marked [experimental] so pls hold its hand πnvptxβ NVIDIA PTX, 32-bitnvptx64β NVIDIA PTX, 64-bitppc32β PowerPC 32ppc32leβ PowerPC 32 LEppc64β PowerPC 64ppc64leβ PowerPC 64 LEr600β AMD GPUs,HD2XXXβHD6XXXriscv32β 32-bit RISC-Vriscv64β 64-bit RISC-Vsparcβ Sparcsparcelβ Sparc LEsparcv9β Sparc V9systemzβ SystemZthumbβ Thumbthumbebβ Thumb, big endianveβ VEwasm32β WebAssembly, 32-bitwasm64β WebAssembly, 64-bitx86β 32-bit X86: Pentium-Pro and abovex86-64β 64-bit X86: EM64T and AMD64xcoreβ XCorextensaβ Xtensa 32
And that's the whole vibe check, bestie β every architecture present and accounted for, not one of them ghosted π
That's a wrap on this page. The version stamped at the bottom is LDC 1.42.0, it's dated June 2026, and the whole thing lives in manual section LDMD2(1) β so if you need to cite it, that's your receipt π§Ύπ Go forth and compile something iconic, you absolute main character π«Άπ
π¦ where this page comes from
- ubuntu stonking: ldc 1:1.42.0-2 Β· BSD-3-Clause AND BSL-1.0 AND LLVM
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms