about summary refs log tree commit diff
path: root/src/librustc_const_math
AgeCommit message (Collapse)AuthorLines
2018-04-30Remove the `rustc_const_math` crateOliver Schneider-87/+0
2018-04-30Remove ConstFloatOliver Schneider-222/+0
2018-04-30Remove unused const math opsOliver Schneider-4/+0
2018-04-30Remove the `UnequalTypes` error variantOliver Schneider-18/+4
2018-04-30Implement `PartialCmp` for `ConstFloat`Oliver Schneider-6/+10
2018-04-30Remove unused error variantsOliver Schneider-22/+0
2018-04-08Move deny(warnings) into rustbuildMark Simulacrum-1/+0
This permits easier iteration without having to worry about warnings being denied. Fixes #49517
2018-04-05Bump the bootstrap compiler to 1.26.0 betaAlex Crichton-2/+0
Holy cow that's a lot of `cfg(stage0)` removed and a lot of new stable language features!
2018-03-26Stabilize i128 feature tooMark Mansi-2/+1
2018-03-26Stabilize i128_typeMark Mansi-1/+1
2018-03-08Nuke ConstInt and Const*sizeOliver Schneider-708/+0
2018-01-04rustc: use {U,I}size instead of {U,I}s shorthands.Eduard-Mihai Burtescu-18/+18
2017-11-26Stabilize const-calling existing const-fns in stdSimon Sapin-3/+0
Fixes #46038
2017-11-07Extract (f32::MAX + 0.5 ULP) constantRobin Kruppe-0/+8
2017-10-26Bump to 1.23 and update bootstrapAlex Crichton-3/+2
This commit updates the bootstrap compiler, bumps the version to 1.23, updates Cargo, updates books, and updates crates.io dependencies
2017-09-16change #![feature(const_fn)] to specific gatesAlex Burka-1/+4
2017-09-11rustc: replace usize with u64 and ConstUsize.Eduard-Mihai Burtescu-28/+32
2017-08-25*: remove crate_{name,type} attributesTamir Duberstein-3/+0
Fixes #41701.
2017-08-19rustc: Remove some dead codeVadim Petrochenkov-7/+0
2017-08-02rustc_const_math: use apfloat::ieee::{Single,Double} in ConstFloat.Eduard-Mihai Burtescu-108/+140
2017-08-02rustc_apfloat: introduce the base Float API.Eduard-Mihai Burtescu-0/+1
2017-06-19Bump version and stage0 compilerAlex Crichton-4/+0
2017-05-11rustc: Remove #![unstable] annotationAlex Crichton-3/+4
These are now no longer necessary with `-Z force-unstable-if-unmarked`
2017-02-25rustc_const_eval: always demand typeck_tables for evaluating constants.Eduard-Mihai Burtescu-184/+105
2017-02-25rustc: move the actual values of enum discriminants into a map.Eduard-Mihai Burtescu-8/+0
2017-02-10SwitchInt over SwitchSimonas Kazlauskas-0/+8
This removes another special case of Switch by replacing it with the more general SwitchInt. While this is more clunky currently, there’s no reason we can’t make it nice (and efficient) to use.
2017-02-04More snap cleanupSimonas Kazlauskas-4/+2
2017-02-03Bump version, upgrade bootstrapAlex Crichton-18/+2
This commit updates the version number to 1.17.0 as we're not on that version of the nightly compiler, and at the same time this updates src/stage0.txt to bootstrap from freshly minted beta compiler and beta Cargo.
2017-01-22Remove unused `extern crate`s.Jeffrey Seyfried-2/+0
2017-01-22Warn on unused `#[macro_use]` imports.Jeffrey Seyfried-2/+2
2017-01-11Fix two const-eval issues related to i128 negationSimonas Kazlauskas-1/+1
First issue here was the fact that we’d only allow negating integers in i64 range in case the integer was not infered yes. While this is not the direct cause of the issue, its still good to fix it. The real issue here is the code handling specifically the `min_value` literals. While I128_OVERFLOW has the expected value (0x8000_..._0000), match using this value as a pattern is handled incorrectly by the stage1 compiler (it seems to be handled correctly, by the stage2 compiler). So what we do here is extract this pattern into an explicit `==` until the next snapshot. Fixes #38987
2017-01-06Make members of {std,core}::{i128,u128} unstableest31-0/+1
Adding it in a stable form was an accident. It thankfully only leaked to nightly. Fixes #38860
2016-12-30Add a way to retrieve constant value in 128 bitsSimonas Kazlauskas-2/+34
Fixes rebase fallout, makes code correct in presence of 128-bit constants. This commit includes manual merge conflict resolution changes from a rebase by @est31.
2016-12-30Cleanup FIXMEsSimonas Kazlauskas-5/+0
2016-12-30Such large. Very 128. Much bits.Simonas Kazlauskas-130/+199
This commit introduces 128-bit integers. Stage 2 builds and produces a working compiler which understands and supports 128-bit integers throughout. The general strategy used is to have rustc_i128 module which provides aliases for iu128, equal to iu64 in stage9 and iu128 later. Since nowhere in rustc we rely on large numbers being supported, this strategy is good enough to get past the first bootstrap stages to end up with a fully working 128-bit capable compiler. In order for this strategy to work, number of locations had to be changed to use associated max_value/min_value instead of MAX/MIN constants as well as the min_value (or was it max_value?) had to be changed to use xor instead of shift so both 64-bit and 128-bit based consteval works (former not necessarily producing the right results in stage1). This commit includes manual merge conflict resolution changes from a rebase by @est31.
2016-11-30Update the bootstrap compilerAlex Crichton-1/+0
Now that we've got a beta build, let's use it!
2016-10-12Stabilise `?`Nick Cameron-1/+1
cc [`?` tracking issue](https://github.com/rust-lang/rust/issues/31436)
2016-08-04Update wording on E0080Shantanu Raj-11/+11
Change "attempted" to "attempt"
2016-06-10Allow truncating constants to 16-bit u/isizeJake Goulding-2/+20
2016-06-05rustc_const_eval: work around double rounding.Eduard Burtescu-9/+184
2016-06-05Add a new Assert terminator to MIR for bounds & arithmetic checks.Eduard Burtescu-2/+2
2016-05-19Support 16-bit pointers as well as i/usizeJake Goulding-0/+47
This is based on the original work of Dylan McKay for the [avr-rust project][ar]. [ar]: https://github.com/avr-rust/rust
2016-04-26don't report bitshift overflow twiceOliver Schneider-1/+1
2016-04-26report shift right error instead of shift left error on right shiftOliver Schneider-1/+1
2016-03-30move `const_eval` and `check_match` out of `librustc`Oliver Schneider-2/+2
2016-03-30rename `rustc_const_eval` to `rustc_const_math`Oliver Schneider-0/+789