ad212ecee4
As per @pcwalton's request, `debug!(..)` is only activated when the `debug` cfg is set; that is, for `RUST_LOG=some_module=4 ./some_program` to work, it needs to be compiled with `rustc --cfg debug some_program.rs`. (Although, there is the sneaky `__debug!(..)` macro that is always active, if you *really* need it.) It functions by making `debug!` expand to `if false { __debug!(..) }` (expanding to an `if` like this is required to make sure `debug!` statements are typechecked and to avoid unused variable warnings), and adjusting trans to skip the pointless branches in `if true ...` and `if false ...`. The conditional expansion change also required moving the inject-std-macros step into a new pass, and makes it actually insert them at the top of the crate; this means that the cfg stripping traverses over the macros and so filters out the unused ones. This appears to takes an unoptimised build of `librustc` from 65s to 59s; and the full bootstrap from 18m41s to 18m26s on my computer (with general background use). `./configure --enable-debug` will enable `debug!` statements in the bootstrap build. |
||
---|---|---|
.. | ||
_match.rs | ||
adt.rs | ||
asm.rs | ||
base.rs | ||
build.rs | ||
cabi_arm.rs | ||
cabi_mips.rs | ||
cabi_x86_64.rs | ||
cabi_x86.rs | ||
cabi.rs | ||
callee.rs | ||
closure.rs | ||
common.rs | ||
consts.rs | ||
context.rs | ||
controlflow.rs | ||
datum.rs | ||
debuginfo.rs | ||
expr.rs | ||
foreign.rs | ||
glue.rs | ||
inline.rs | ||
machine.rs | ||
macros.rs | ||
meth.rs | ||
mod.rs | ||
monomorphize.rs | ||
reflect.rs | ||
tvec.rs | ||
type_.rs | ||
type_of.rs | ||
type_use.rs | ||
uniq.rs | ||
write_guard.rs |