Module rustc_driver::driver [] [src]

Unstable (rustc_private)

Structs

CompileController [Unstable]

CompileController is used to customise compilation, it allows compilation to be stopped and/or to call arbitrary code at various points in compilation. It also allows for various flags to be set to influence what information gets collected during compilation.

CompileState [Unstable]

State that is passed to a callback. What state is available depends on when during compilation the callback is made. See the various constructor methods (state_*) in the impl to see which data is provided for any given entry point.

PhaseController [Unstable]
Resolutions [Unstable]

Functions

anon_src [Unstable]

The name used for source code that doesn't originate in a file (e.g. source from stdin or a string)

assign_node_ids [Unstable]
build_output_filenames [Unstable]
collect_crate_types [Unstable]
compile_input [Unstable]
compute_crate_disambiguator [Unstable]
lower_and_resolve [Unstable]
phase_1_parse_input [Unstable]
phase_2_configure_and_expand [Unstable]

Run the "early phases" of the compiler: initial cfg processing, loading compiler plugins (including those from addl_plugins), syntax expansion, secondary cfg expansion, synthesis of a test harness if one is to be provided and injection of a dependency on the standard library and prelude.

phase_3_run_analysis_passes [Unstable]

Run the resolution, typechecking, region checking and other miscellaneous analysis passes on the crate. Return various structures carrying the results of the analysis.

phase_4_translate_to_llvm [Unstable]

Run the translation phase to LLVM, after which the AST and analysis can

phase_5_run_llvm_passes [Unstable]

Run LLVM itself, producing a bitcode file, assembly file or object file as a side effect.

phase_6_link_output [Unstable]

Run the linker on any artifacts that resulted from the LLVM run. This should produce either a finished executable or library.

source_name [Unstable]