diff options
| author | bors <bors@rust-lang.org> | 2013-10-01 13:01:28 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-10-01 13:01:28 -0700 |
| commit | 08b510c351e990d835511f45a28f2f29c12ee545 (patch) | |
| tree | 41b6f0afad8fac043f3985c2a842dfde27e2b745 /src/libsyntax | |
| parent | c8cdabc32fc7c6a5c3b01ef24340bc2f4b1ae359 (diff) | |
| parent | c9d4ad07c4c166d655f11862e03c10100dcb704b (diff) | |
| download | rust-08b510c351e990d835511f45a28f2f29c12ee545.tar.gz rust-08b510c351e990d835511f45a28f2f29c12ee545.zip | |
auto merge of #9519 : thestinger/rust/float, r=catamorphism
It is simply defined as `f64` across every platform right now. A use case hasn't been presented for a `float` type defined as the highest precision floating point type implemented in hardware on the platform. Performance-wise, using the smallest precision correct for the use case greatly saves on cache space and allows for fitting more numbers into SSE/AVX registers. If there was a use case, this could be implemented as simply a type alias or a struct thanks to `#[cfg(...)]`. Closes #6592 The mailing list thread, for reference: https://mail.mozilla.org/pipermail/rust-dev/2013-July/004632.html
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ast.rs | 1 | ||||
| -rw-r--r-- | src/libsyntax/ast_util.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/ext/quote.rs | 1 | ||||
| -rw-r--r-- | src/libsyntax/parse/lexer.rs | 7 |
4 files changed, 2 insertions, 9 deletions
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index f2d7ebdd599..5056bd5a00d 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -765,7 +765,6 @@ impl ToStr for uint_ty { #[deriving(Clone, Eq, Encodable, Decodable, IterBytes)] pub enum float_ty { - ty_f, ty_f32, ty_f64, } diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index f93fc1e81da..12ad7111f7f 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -190,7 +190,7 @@ pub fn uint_ty_max(t: uint_ty) -> u64 { } pub fn float_ty_to_str(t: float_ty) -> ~str { - match t { ty_f => ~"f", ty_f32 => ~"f32", ty_f64 => ~"f64" } + match t { ty_f32 => ~"f32", ty_f64 => ~"f64" } } pub fn is_call_expr(e: @Expr) -> bool { diff --git a/src/libsyntax/ext/quote.rs b/src/libsyntax/ext/quote.rs index 24a5f9d5e3c..bfd1e9cc994 100644 --- a/src/libsyntax/ext/quote.rs +++ b/src/libsyntax/ext/quote.rs @@ -446,7 +446,6 @@ fn mk_token(cx: @ExtCtxt, sp: Span, tok: &token::Token) -> @ast::Expr { LIT_FLOAT(fident, fty) => { let s_fty = match fty { - ast::ty_f => ~"ty_f", ast::ty_f32 => ~"ty_f32", ast::ty_f64 => ~"ty_f64" }; diff --git a/src/libsyntax/parse/lexer.rs b/src/libsyntax/parse/lexer.rs index 640c7c220e5..4a384f864b0 100644 --- a/src/libsyntax/parse/lexer.rs +++ b/src/libsyntax/parse/lexer.rs @@ -530,7 +530,6 @@ fn scan_number(c: char, rdr: @mut StringReader) -> token::Token { None => () } - let mut is_machine_float = false; if rdr.curr == 'f' { bump(rdr); c = rdr.curr; @@ -549,14 +548,10 @@ fn scan_number(c: char, rdr: @mut StringReader) -> token::Token { 32-bit or 64-bit float, it won't be noticed till the back-end. */ } else { - is_float = true; - is_machine_float = true; + fatal_span(rdr, start_bpos, rdr.last_pos, ~"expected `f32` or `f64` suffix"); } } if is_float { - if is_machine_float { - return token::LIT_FLOAT(str_to_ident(num_str), ast::ty_f); - } return token::LIT_FLOAT_UNSUFFIXED(str_to_ident(num_str)); } else { if num_str.len() == 0u { |
