diff options
| author | Gary Guo <gary@garyguo.net> | 2021-06-06 02:28:05 +0100 |
|---|---|---|
| committer | Gary Guo <gary@garyguo.net> | 2021-07-02 22:52:37 +0100 |
| commit | ec7292ad3c35b7e3656f90988d9369fd6c55d1c9 (patch) | |
| tree | d5130abafc16b366adc1908ff279395836fd327d /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | 37647d1733c368dfb4a81f368cefa09adf6bf20d (diff) | |
| download | rust-ec7292ad3c35b7e3656f90988d9369fd6c55d1c9.tar.gz rust-ec7292ad3c35b7e3656f90988d9369fd6c55d1c9.zip | |
core: add unstable `no_fp_fmt_parse` to disable float fmt/parse code
In some projects (e.g. kernel), floating point is forbidden. They can disable hardware floating point support and use `+soft-float` to avoid fp instructions from being generated, but as libcore contains the formatting code for `f32` and `f64`, some fp intrinsics are depended. One could define stubs for these intrinsics that just panic [1], but it means that if any formatting functions are accidentally used, mistake can only be caught during the runtime rather than during compile-time or link-time, and they consume a lot of space without LTO. This patch provides an unstable cfg `no_fp_fmt_parse` to disable these. A panicking stub is still provided for the `Debug` implementation (unfortunately) because there are some SIMD types that use `#[derive(Debug)]`. [1]: https://lkml.org/lkml/2021/4/14/1028
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
