about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2014-02-06 23:24:41 -0800
committerBrian Anderson <banderson@mozilla.com>2014-02-07 13:21:35 -0800
commitb91caac729fd103a7ce4a6094be7845643f4704d (patch)
treede10f0a647a7d622dc4cefbcbe7774292de3c3f5
parent6aad3bf944da209d1852c51144ba584de400a10c (diff)
downloadrust-b91caac729fd103a7ce4a6094be7845643f4704d.tar.gz
rust-b91caac729fd103a7ce4a6094be7845643f4704d.zip
rustc: Remove 'morestack_addr' intrinsic. Unused
-rw-r--r--src/librustc/middle/trans/intrinsic.rs11
-rw-r--r--src/librustc/middle/typeck/check/mod.rs3
-rw-r--r--src/libstd/unstable/intrinsics.rs3
-rw-r--r--src/test/run-pass/morestack-address.rs24
4 files changed, 0 insertions, 41 deletions
diff --git a/src/librustc/middle/trans/intrinsic.rs b/src/librustc/middle/trans/intrinsic.rs
index 49f1b073f87..8896a3de733 100644
--- a/src/librustc/middle/trans/intrinsic.rs
+++ b/src/librustc/middle/trans/intrinsic.rs
@@ -463,17 +463,6 @@ pub fn trans_intrinsic(ccx: @CrateContext,
                                         abi::tydesc_field_visit_glue, None);
             RetVoid(bcx);
         }
-        "morestack_addr" => {
-            // FIXME This is a hack to grab the address of this particular
-            // native function. There should be a general in-language
-            // way to do this
-            let llfty = type_of_rust_fn(bcx.ccx(), false, [], ty::mk_nil());
-            let morestack_addr = decl_cdecl_fn(bcx.ccx().llmod, "__morestack",
-                                               llfty, ty::mk_nil());
-            let morestack_addr = PointerCast(bcx, morestack_addr,
-                                             Type::nil().ptr_to());
-            Ret(bcx, morestack_addr);
-        }
         "offset" => {
             let ptr = get_param(decl, first_real_arg);
             let offset = get_param(decl, first_real_arg + 1);
diff --git a/src/librustc/middle/typeck/check/mod.rs b/src/librustc/middle/typeck/check/mod.rs
index e1679c81a0e..b9f7efca67e 100644
--- a/src/librustc/middle/typeck/check/mod.rs
+++ b/src/librustc/middle/typeck/check/mod.rs
@@ -4128,9 +4128,6 @@ pub fn check_intrinsic_type(ccx: @CrateCtxt, it: &ast::ForeignItem) {
               });
               (0, ~[ td_ptr, visitor_object_ty ], ty::mk_nil())
             }
-            "morestack_addr" => {
-              (0u, ~[], ty::mk_nil_ptr(ccx.tcx))
-            }
             "offset" => {
               (1,
                ~[
diff --git a/src/libstd/unstable/intrinsics.rs b/src/libstd/unstable/intrinsics.rs
index ca49576ab2d..7ca28711504 100644
--- a/src/libstd/unstable/intrinsics.rs
+++ b/src/libstd/unstable/intrinsics.rs
@@ -310,9 +310,6 @@ extern "rust-intrinsic" {
 
     pub fn visit_tydesc(td: *TyDesc, tv: &mut TyVisitor);
 
-    /// Get the address of the `__morestack` stack growth function.
-    pub fn morestack_addr() -> *();
-
     /// Calculates the offset from a pointer. The offset *must* be in-bounds of
     /// the object, or one-byte-past-the-end. An arithmetic overflow is also
     /// undefined behaviour.
diff --git a/src/test/run-pass/morestack-address.rs b/src/test/run-pass/morestack-address.rs
deleted file mode 100644
index ec678df357a..00000000000
--- a/src/test/run-pass/morestack-address.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-mod rusti {
-    #[nolink]
-    extern "rust-intrinsic" {
-        pub fn morestack_addr() -> *();
-    }
-}
-
-pub fn main() {
-    unsafe {
-        let addr = rusti::morestack_addr();
-        assert!(addr.is_not_null());
-        error!("{}", addr);
-    }
-}