|
Loom C API
Public Loom compiler C API
|
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. | |
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.
| 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.