about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2012-10-05 14:27:56 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2012-10-05 15:39:12 -0700
commitca49fd402af8e7bf613c43e996274b5a017958d2 (patch)
tree967e847cfe10d615ebb0629da3972388ff045644 /src/libstd
parente16dbb7888504ef5d0de0c14493fc8ecc492ee30 (diff)
downloadrust-ca49fd402af8e7bf613c43e996274b5a017958d2.tar.gz
rust-ca49fd402af8e7bf613c43e996274b5a017958d2.zip
wip
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/time.rs30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/libstd/time.rs b/src/libstd/time.rs
index 627a3b8eeae..8fa1e0cf3f0 100644
--- a/src/libstd/time.rs
+++ b/src/libstd/time.rs
@@ -7,9 +7,18 @@ use result::{Result, Ok, Err};
 
 #[abi = "cdecl"]
 extern mod rustrt {
-    #[legacy_exports];
+    #[legacy_exports]
+    #[cfg(stage0)]
     fn get_time(&sec: i64, &nsec: i32);
+    #[cfg(stage1)]
+    #[cfg(stage2)]
+    fn get_time(sec: &mut i64, nsec: &mut i32);
+
+    #[cfg(stage0)]
     fn precise_time_ns(&ns: u64);
+    #[cfg(stage1)]
+    #[cfg(stage2)]
+    fn precise_time_ns(ns: &mut u64);
 
     fn rust_tzset();
     // FIXME: The i64 values can be passed by-val when #2064 is fixed.
@@ -33,22 +42,41 @@ impl Timespec : Eq {
  * Returns the current time as a `timespec` containing the seconds and
  * nanoseconds since 1970-01-01T00:00:00Z.
  */
+#[cfg(stage0)]
 pub fn get_time() -> Timespec {
     let mut sec = 0i64;
     let mut nsec = 0i32;
     rustrt::get_time(sec, nsec);
     return {sec: sec, nsec: nsec};
 }
+#[cfg(stage1)]
+#[cfg(stage2)]
+pub fn get_time() -> Timespec {
+    let mut sec = 0i64;
+    let mut nsec = 0i32;
+    rustrt::get_time(&mut sec, &mut nsec);
+    return {sec: sec, nsec: nsec};
+}
+
 
 /**
  * Returns the current value of a high-resolution performance counter
  * in nanoseconds since an unspecified epoch.
  */
+#[cfg(stage0)]
 pub fn precise_time_ns() -> u64 {
     let mut ns = 0u64;
     rustrt::precise_time_ns(ns);
     ns
 }
+#[cfg(stage1)]
+#[cfg(stage2)]
+pub fn precise_time_ns() -> u64 {
+    let mut ns = 0u64;
+    rustrt::precise_time_ns(&mut ns);
+    ns
+}
+
 
 /**
  * Returns the current value of a high-resolution performance counter