Skip to content

Remove the quad_precision_float feature gate #15160

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 25, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion src/libcore/intrinsics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,6 @@ pub trait TyVisitor {

fn visit_f32(&mut self) -> bool;
fn visit_f64(&mut self) -> bool;
fn visit_f128(&mut self) -> bool;

fn visit_char(&mut self) -> bool;

Expand Down
2 changes: 1 addition & 1 deletion src/libdebug/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/")]
#![experimental]
#![feature(managed_boxes, macro_rules, quad_precision_float)]
#![feature(managed_boxes, macro_rules)]
#![allow(experimental)]

pub mod fmt;
Expand Down
7 changes: 0 additions & 7 deletions src/libdebug/reflect.rs
Original file line number Diff line number Diff line change
Expand Up @@ -179,13 +179,6 @@ impl<V:TyVisitor + MovePtr> TyVisitor for MovePtrAdaptor<V> {
true
}

fn visit_f128(&mut self) -> bool {
self.align_to::<f128>();
if ! self.inner.visit_f128() { return false; }
self.bump_past::<f128>();
true
}

fn visit_char(&mut self) -> bool {
self.align_to::<char>();
if ! self.inner.visit_char() { return false; }
Expand Down
1 change: 0 additions & 1 deletion src/libdebug/repr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,6 @@ impl<'a> TyVisitor for ReprVisitor<'a> {

fn visit_f32(&mut self) -> bool { self.write::<f32>() }
fn visit_f64(&mut self) -> bool { self.write::<f64>() }
fn visit_f128(&mut self) -> bool { fail!("not implemented") }

fn visit_char(&mut self) -> bool {
self.get::<char>(|this, &ch| {
Expand Down
1 change: 0 additions & 1 deletion src/libhexfloat/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@ pub fn expand_syntax_ext(cx: &mut ExtCtxt, sp: Span, tts: &[ast::TokenTree])
Some(Ident{ident, span}) => match token::get_ident(ident).get() {
"f32" => Some(ast::TyF32),
"f64" => Some(ast::TyF64),
"f128" => Some(ast::TyF128),
_ => {
cx.span_err(span, "invalid floating point type in hexfloat!");
None
Expand Down
5 changes: 1 addition & 4 deletions src/librustc/front/feature_gate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ static KNOWN_FEATURES: &'static [(&'static str, Status)] = &[
("overloaded_calls", Active),
("unboxed_closure_sugar", Active),

("quad_precision_float", Active),
("quad_precision_float", Removed),

// A temporary feature gate used to enable parser extensions needed
// to bootstrap fix for #5723.
Expand All @@ -91,7 +91,6 @@ enum Status {
/// A set of features to be used by later passes.
pub struct Features {
pub default_type_params: Cell<bool>,
pub quad_precision_float: Cell<bool>,
pub issue_5723_bootstrap: Cell<bool>,
pub overloaded_calls: Cell<bool>,
}
Expand All @@ -100,7 +99,6 @@ impl Features {
pub fn new() -> Features {
Features {
default_type_params: Cell::new(false),
quad_precision_float: Cell::new(false),
issue_5723_bootstrap: Cell::new(false),
overloaded_calls: Cell::new(false),
}
Expand Down Expand Up @@ -425,7 +423,6 @@ pub fn check_crate(sess: &Session, krate: &ast::Crate) {
sess.abort_if_errors();

sess.features.default_type_params.set(cx.has_feature("default_type_params"));
sess.features.quad_precision_float.set(cx.has_feature("quad_precision_float"));
sess.features.issue_5723_bootstrap.set(cx.has_feature("issue_5723_bootstrap"));
sess.features.overloaded_calls.set(cx.has_feature("overloaded_calls"));
}
1 change: 0 additions & 1 deletion src/librustc/metadata/tydecode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,6 @@ fn parse_ty(st: &mut PState, conv: conv_did) -> ty::t {
'D' => return ty::mk_mach_int(ast::TyI64),
'f' => return ty::mk_mach_float(ast::TyF32),
'F' => return ty::mk_mach_float(ast::TyF64),
'Q' => return ty::mk_mach_float(ast::TyF128),
_ => fail!("parse_ty: bad numeric type")
}
}
Expand Down
1 change: 0 additions & 1 deletion src/librustc/metadata/tyencode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,6 @@ fn enc_sty(w: &mut MemWriter, cx: &ctxt, st: &ty::sty) {
match t {
TyF32 => mywrite!(w, "Mf"),
TyF64 => mywrite!(w, "MF"),
TyF128 => mywrite!(w, "MQ")
}
}
ty::ty_enum(def, ref substs) => {
Expand Down
1 change: 0 additions & 1 deletion src/librustc/middle/resolve.rs
Original file line number Diff line number Diff line change
Expand Up @@ -770,7 +770,6 @@ impl PrimitiveTypeTable {
table.intern("char", TyChar);
table.intern("f32", TyFloat(TyF32));
table.intern("f64", TyFloat(TyF64));
table.intern("f128", TyFloat(TyF128));
table.intern("int", TyInt(TyI));
table.intern("i8", TyInt(TyI8));
table.intern("i16", TyInt(TyI16));
Expand Down
1 change: 0 additions & 1 deletion src/librustc/middle/trans/debuginfo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1621,7 +1621,6 @@ fn basic_type_metadata(cx: &CrateContext, t: ty::t) -> DIType {
ty::ty_float(float_ty) => match float_ty {
ast::TyF32 => ("f32".to_string(), DW_ATE_float),
ast::TyF64 => ("f64".to_string(), DW_ATE_float),
ast::TyF128 => ("f128".to_string(), DW_ATE_float)
},
_ => cx.sess().bug("debuginfo::basic_type_metadata - t is invalid type")
};
Expand Down
1 change: 0 additions & 1 deletion src/librustc/middle/trans/reflect.rs
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,6 @@ impl<'a, 'b> Reflector<'a, 'b> {
ty::ty_uint(ast::TyU64) => self.leaf("u64"),
ty::ty_float(ast::TyF32) => self.leaf("f32"),
ty::ty_float(ast::TyF64) => self.leaf("f64"),
ty::ty_float(ast::TyF128) => self.leaf("f128"),

// Should rename to vec_*.
ty::ty_vec(ref mt, Some(sz)) => {
Expand Down
5 changes: 0 additions & 5 deletions src/librustc/middle/trans/type_.rs
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,6 @@ impl Type {
ty!(llvm::LLVMDoubleTypeInContext(ccx.llcx))
}

pub fn f128(ccx: &CrateContext) -> Type {
ty!(llvm::LLVMFP128TypeInContext(ccx.llcx))
}

pub fn bool(ccx: &CrateContext) -> Type {
Type::i1(ccx)
}
Expand Down Expand Up @@ -135,7 +131,6 @@ impl Type {
match t {
ast::TyF32 => Type::f32(ccx),
ast::TyF64 => Type::f64(ccx),
ast::TyF128 => Type::f128(ccx)
}
}

Expand Down
5 changes: 0 additions & 5 deletions src/librustc/middle/ty.rs
Original file line number Diff line number Diff line change
Expand Up @@ -694,7 +694,6 @@ mod primitives {
def_prim_ty!(TY_U64, super::ty_uint(ast::TyU64), 12)
def_prim_ty!(TY_F32, super::ty_float(ast::TyF32), 14)
def_prim_ty!(TY_F64, super::ty_float(ast::TyF64), 15)
def_prim_ty!(TY_F128, super::ty_float(ast::TyF128), 16)

pub static TY_BOT: t_box_ = t_box_ {
sty: super::ty_bot,
Expand Down Expand Up @@ -1272,9 +1271,6 @@ pub fn mk_f32() -> t { mk_prim_t(&primitives::TY_F32) }
#[inline]
pub fn mk_f64() -> t { mk_prim_t(&primitives::TY_F64) }

#[inline]
pub fn mk_f128() -> t { mk_prim_t(&primitives::TY_F128) }

#[inline]
pub fn mk_uint() -> t { mk_prim_t(&primitives::TY_UINT) }

Expand Down Expand Up @@ -1314,7 +1310,6 @@ pub fn mk_mach_float(tm: ast::FloatTy) -> t {
match tm {
ast::TyF32 => mk_f32(),
ast::TyF64 => mk_f64(),
ast::TyF128 => mk_f128()
}
}

Expand Down
7 changes: 0 additions & 7 deletions src/librustc/middle/typeck/astconv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -355,13 +355,6 @@ pub fn ast_ty_to_prim_ty(tcx: &ty::ctxt, ast_ty: &ast::Ty) -> Option<ty::t> {
Some(ty::mk_mach_uint(uit))
}
ast::TyFloat(ft) => {
if ft == ast::TyF128 && !tcx.sess.features.quad_precision_float.get() {
tcx.sess.span_err(path.span, "quadruple precision floats are \
missing complete runtime support");
tcx.sess.span_note(path.span, "add \
#[feature(quad_precision_float)] \
to the crate attributes to enable");
}
check_path_args(tcx, path, NO_TPS | NO_REGIONS);
Some(ty::mk_mach_float(ft))
}
Expand Down
6 changes: 1 addition & 5 deletions src/librustdoc/clean/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1072,7 +1072,7 @@ pub enum Type {
pub enum Primitive {
Int, I8, I16, I32, I64,
Uint, U8, U16, U32, U64,
F32, F64, F128,
F32, F64,
Char,
Bool,
Nil,
Expand Down Expand Up @@ -1111,7 +1111,6 @@ impl Primitive {
"str" => Some(Str),
"f32" => Some(F32),
"f64" => Some(F64),
"f128" => Some(F128),
"slice" => Some(Slice),
"tuple" => Some(PrimitiveTuple),
_ => None,
Expand Down Expand Up @@ -1153,7 +1152,6 @@ impl Primitive {
U64 => "u64",
F32 => "f32",
F64 => "f64",
F128 => "f128",
Str => "str",
Bool => "bool",
Char => "char",
Expand Down Expand Up @@ -1227,7 +1225,6 @@ impl Clean<Type> for ty::t {
ty::ty_uint(ast::TyU64) => Primitive(U64),
ty::ty_float(ast::TyF32) => Primitive(F32),
ty::ty_float(ast::TyF64) => Primitive(F64),
ty::ty_float(ast::TyF128) => Primitive(F128),
ty::ty_str => Primitive(Str),
ty::ty_box(t) => Managed(box t.clean()),
ty::ty_uniq(t) => Unique(box t.clean()),
Expand Down Expand Up @@ -2010,7 +2007,6 @@ fn resolve_type(path: Path, tpbs: Option<Vec<TyParamBound>>,
ast::TyUint(ast::TyU64) => return Primitive(U64),
ast::TyFloat(ast::TyF32) => return Primitive(F32),
ast::TyFloat(ast::TyF64) => return Primitive(F64),
ast::TyFloat(ast::TyF128) => return Primitive(F128),
},
def::DefTyParam(_, i, _) => return Generic(i),
def::DefTyParamBinder(i) => return TyParamBinder(i),
Expand Down
1 change: 0 additions & 1 deletion src/libsyntax/ast.rs
Original file line number Diff line number Diff line change
Expand Up @@ -700,7 +700,6 @@ impl fmt::Show for UintTy {
pub enum FloatTy {
TyF32,
TyF64,
TyF128
}

impl fmt::Show for FloatTy {
Expand Down
1 change: 0 additions & 1 deletion src/libsyntax/ast_util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,6 @@ pub fn float_ty_to_str(t: FloatTy) -> String {
match t {
TyF32 => "f32".to_string(),
TyF64 => "f64".to_string(),
TyF128 => "f128".to_string(),
}
}

Expand Down
1 change: 0 additions & 1 deletion src/libsyntax/ext/quote.rs
Original file line number Diff line number Diff line change
Expand Up @@ -483,7 +483,6 @@ fn mk_token(cx: &ExtCtxt, sp: Span, tok: &token::Token) -> Gc<ast::Expr> {
let s_fty = match fty {
ast::TyF32 => "TyF32",
ast::TyF64 => "TyF64",
ast::TyF128 => "TyF128"
};
let e_fty = mk_ast_path(cx, sp, s_fty);
let e_fident = mk_ident(cx, sp, fident);
Expand Down
9 changes: 1 addition & 8 deletions src/libsyntax/parse/lexer/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -639,16 +639,9 @@ impl<'a> StringReader<'a> {
/* FIXME (#2252): if this is out of range for either a
32-bit or 64-bit float, it won't be noticed till the
back-end. */
} else if c == '1' && n == '2' && self.nextnextch().unwrap_or('\x00') == '8' {
self.bump();
self.bump();
self.bump();
let last_bpos = self.last_pos;
self.check_float_base(start_bpos, last_bpos, base);
return token::LIT_FLOAT(str_to_ident(num_str.as_slice()), ast::TyF128);
}
let last_bpos = self.last_pos;
self.err_span_(start_bpos, last_bpos, "expected `f32`, `f64` or `f128` suffix");
self.err_span_(start_bpos, last_bpos, "expected `f32` or `f64` suffix");
}
if is_float {
let last_bpos = self.last_pos;
Expand Down
20 changes: 0 additions & 20 deletions src/test/run-pass/quad-precision-float.rs

This file was deleted.

1 change: 0 additions & 1 deletion src/test/run-pass/reflect-visit-type.rs
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ impl TyVisitor for MyVisitor {

fn visit_f32(&mut self) -> bool { true }
fn visit_f64(&mut self) -> bool { true }
fn visit_f128(&mut self) -> bool { true }

fn visit_char(&mut self) -> bool { true }

Expand Down