0d6b52c2f3
This affects regular code generation as well as constant evaluation in trans, but not the HIR constant evaluator because that one returns an error for overflowing casts and NaN-to-int casts. That error is conservatively correct and we should be careful to not accept more code in constant expressions. The changes to code generation are guarded by a new -Z flag, to be able to evaluate the performance impact. The trans constant evaluation changes are unconditional because they have no run time impact and don't affect type checking either.
37 lines
1.0 KiB
TOML
37 lines
1.0 KiB
TOML
[package]
|
|
authors = ["The Rust Project Developers"]
|
|
name = "rustc_trans"
|
|
version = "0.0.0"
|
|
|
|
[lib]
|
|
name = "rustc_trans"
|
|
path = "lib.rs"
|
|
crate-type = ["dylib"]
|
|
test = false
|
|
|
|
[dependencies]
|
|
bitflags = "1.0"
|
|
num_cpus = "1.0"
|
|
flate2 = "0.2"
|
|
jobserver = "0.1.5"
|
|
log = "0.3"
|
|
owning_ref = "0.3.3"
|
|
rustc-demangle = "0.1.4"
|
|
rustc = { path = "../librustc" }
|
|
rustc_allocator = { path = "../librustc_allocator" }
|
|
rustc_apfloat = { path = "../librustc_apfloat" }
|
|
rustc_back = { path = "../librustc_back" }
|
|
rustc_const_math = { path = "../librustc_const_math" }
|
|
rustc_data_structures = { path = "../librustc_data_structures" }
|
|
rustc_errors = { path = "../librustc_errors" }
|
|
rustc_incremental = { path = "../librustc_incremental" }
|
|
rustc_llvm = { path = "../librustc_llvm" }
|
|
rustc_platform_intrinsics = { path = "../librustc_platform_intrinsics" }
|
|
rustc_trans_utils = { path = "../librustc_trans_utils" }
|
|
serialize = { path = "../libserialize" }
|
|
syntax = { path = "../libsyntax" }
|
|
syntax_pos = { path = "../libsyntax_pos" }
|
|
|
|
[target."cfg(windows)".dependencies]
|
|
cc = "1.0.1"
|