Loom C API
Public Loom compiler C API
Loading...
Searching...
No Matches
loomc_compile_report_options_t Struct Reference

Requests a result-owned target compile report. More...

#include <compile_report.h>

Data Fields

loomc_structure_type_t type
 Structure type. Must be LOOMC_STRUCTURE_TYPE_COMPILE_REPORT_OPTIONS.
loomc_host_size_t structure_size
 Size of this structure in bytes.
const void * next
 Next invocation option extension.
loomc_compile_report_mode_t mode
 Selected report detail mode.
loomc_compile_report_format_t format
 Report serialization format. Zero selects structured JSON.
loomc_string_view_t identifier
 Result artifact identifier.

Detailed Description

Requests a result-owned target compile report.

Attach through loomc_pass_run_options_t::next or loomc_compile_options_t::next to report facts from an attempted pass program. Rejection before the program starts produces no report. A diagnosed pass failure retains completed observations in its failed result.

Attach through loomc_emit_options_t::next to report the target-artifact transaction, including transactions rejected before emission. For combined compilation and emission, attach to the nested emission options so one report covers both stages.

Reports do not run extra passes, force target analyses, or write filesystem paths. Result bytes retain no module or target owners. An infrastructure failure returns no result and stops further report serialization. This extension and native compile report options are mutually exclusive.

Field Documentation

◆ identifier

loomc_string_view_t loomc_compile_report_options_t::identifier

Result artifact identifier.

Empty stays empty for pass execution and standalone compilation. During emission, an empty identifier derives from the emitted artifact identifier by appending .compile-report.json or .compile-report.txt according to format. It remains empty when compilation fails before selecting an emitter and no artifact identifier was provided.


The documentation for this struct was generated from the following file: