-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
Closed
Closed
Copy link
Labels
A-driverArea: rustc_driver that ties everything together into the `rustc` compilerArea: rustc_driver that ties everything together into the `rustc` compiler
Milestone
Description
At present,
rustc foo.rsemits a binary;rustc --emit-llvm foo.rsemits LLVM bitcode;rustc -S foo.rsemits the final Assembler code;rustc --emit-llvm -S foo.rsemits LLVM IR.
This is madness!
Here is my desired behaviour:
rustc --emit-binary foo.rsemits a binary;rustc --emit-llvm-bc foo.rsemits LLVM bitcode;rustc --emit-asm foo.rsemits the final Assembler code;rustc --emit-llvm-ir foo.rsemits LLVM IR.
More than one of these options may be specified, in which case multiple things would be built; if no --emit-* option is specified, it will of course default to --emit-binary.
A brief look at the code suggests that at present it is only designed to produce one of these. An alternative, if staying within this constraint, would be --emit=(binary|llvm-(bc|ir)|asm); however, I feel allowing multiple outputs would be nicer, though I guess just -o wouldn't cut it.
Metadata
Metadata
Assignees
Labels
A-driverArea: rustc_driver that ties everything together into the `rustc` compilerArea: rustc_driver that ties everything together into the `rustc` compiler