LlvmCompilerInterface

libfirmware's concrete `toolchain::CompilerInterface`.

Declared in src/libs/libfirmware/firmware/LlvmCompilerInterface.hpp
Inherits toolchain::CompilerInterface

Detailed description

Backs `toolchain::ToolchainBootstrapService` with the same vendored LLVM/Clang/lld machinery that `FirmwareCompiler` uses. Installed at startup via `ToolchainBootstrapService::setCompiler(&theInstance)`.

compileObject()

**Currently stubbed** — surfaces a clear "not yet implemented" error. Full implementation needs to factor the per-source compile path out of `FirmwareCompiler::compile()` so it can run on individual files rather than whole programs. Tracked as a Phase 20c follow-up.

archive()

**Implemented** — writes a standard System V `ar` archive in pure C++. No libllvm dependency for the archive step; the format is a simple text header + per-entry headers + raw contents, well-suited to a small in-tree writer.

identityBanner()

Reports the vendored LLVM version + host triple.

In this section