about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-12-09 05:01:53 +0000
committerbors <bors@rust-lang.org>2014-12-09 05:01:53 +0000
commit50b6d01e1c4a3091e7bf9ab8e7cc053f96f06e66 (patch)
tree8dc3ccba73a2f8b9848b56a7f68322f02e460343
parenteacbd296fa153f809038a27898290638bd0b2b35 (diff)
parent456ffcdc560c1c7baea116ef1ea03e0f7568102d (diff)
auto merge of #19645 : alexcrichton/rust/old-snap, r=brson
The most recent snapshot was produced on OSX 10.8, but this segfaults on OSX
10.7 so we need to roll back one snapshot so we can start bootstrapping on 10.7
systems again.

cc #19643
-rw-r--r--src/libcore/ops.rs50
-rw-r--r--src/libsyntax/parse/lexer/mod.rs6
-rw-r--r--src/snapshots.txt9
3 files changed, 53 insertions, 12 deletions
diff --git a/src/libcore/ops.rs b/src/libcore/ops.rs
index ce774a66381..fdc8b9e7400 100644
--- a/src/libcore/ops.rs
+++ b/src/libcore/ops.rs
@@ -832,3 +832,53 @@ impl<F,A,R> FnOnce<A,R> for F
         self.call_mut(args)
     }
 }
+
+#[cfg(stage0)]
+mod fn_impls {
+    use super::Fn;
+
+    impl<Result> Fn<(),Result> for extern "Rust" fn() -> Result {
+        #[allow(non_snake_case)]
+        extern "rust-call" fn call(&self, _args: ()) -> Result {
+            (*self)()
+        }
+    }
+
+    impl<Result,A0> Fn<(A0,),Result> for extern "Rust" fn(A0) -> Result {
+        #[allow(non_snake_case)]
+        extern "rust-call" fn call(&self, args: (A0,)) -> Result {
+            let (a0,) = args;
+            (*self)(a0)
+        }
+    }
+
+    macro_rules! def_fn(
+        ($($args:ident)*) => (
+            impl<Result$(,$args)*>
+            Fn<($($args,)*),Result>
+            for extern "Rust" fn($($args: $args,)*) -> Result {
+                #[allow(non_snake_case)]
+                extern "rust-call" fn call(&self, args: ($($args,)*)) -> Result {
+                    let ($($args,)*) = args;
+                    (*self)($($args,)*)
+                }
+            }
+        )
+    )
+
+    def_fn!(A0 A1)
+    def_fn!(A0 A1 A2)
+    def_fn!(A0 A1 A2 A3)
+    def_fn!(A0 A1 A2 A3 A4)
+    def_fn!(A0 A1 A2 A3 A4 A5)
+    def_fn!(A0 A1 A2 A3 A4 A5 A6)
+    def_fn!(A0 A1 A2 A3 A4 A5 A6 A7)
+    def_fn!(A0 A1 A2 A3 A4 A5 A6 A7 A8)
+    def_fn!(A0 A1 A2 A3 A4 A5 A6 A7 A8 A9)
+    def_fn!(A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10)
+    def_fn!(A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11)
+    def_fn!(A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12)
+    def_fn!(A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13)
+    def_fn!(A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14)
+    def_fn!(A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15)
+}
diff --git a/src/libsyntax/parse/lexer/mod.rs b/src/libsyntax/parse/lexer/mod.rs
index ab2c15d54c5..2a77e3e6791 100644
--- a/src/libsyntax/parse/lexer/mod.rs
+++ b/src/libsyntax/parse/lexer/mod.rs
@@ -763,7 +763,7 @@ impl<'a> StringReader<'a> {
         }
     }
 
-    // SNAP 361baab
+    // SNAP c9f6d69
     #[allow(unused)]
     fn old_escape_warning(&mut self, sp: Span) {
         self.span_diagnostic
@@ -796,7 +796,7 @@ impl<'a> StringReader<'a> {
                                     self.scan_unicode_escape(delim)
                                 } else {
                                     let res = self.scan_hex_digits(4u, delim, false);
-                                    // SNAP 361baab
+                                    // SNAP c9f6d69
                                     //let sp = codemap::mk_sp(escaped_pos, self.last_pos);
                                     //self.old_escape_warning(sp);
                                     res
@@ -804,7 +804,7 @@ impl<'a> StringReader<'a> {
                             }
                             'U' if !ascii_only => {
                                 let res = self.scan_hex_digits(8u, delim, false);
-                                // SNAP 361baab
+                                // SNAP c9f6d69
                                 //let sp = codemap::mk_sp(escaped_pos, self.last_pos);
                                 //self.old_escape_warning(sp);
                                 res
diff --git a/src/snapshots.txt b/src/snapshots.txt
index a1a840b4deb..0faf6840f06 100644
--- a/src/snapshots.txt
+++ b/src/snapshots.txt
@@ -1,12 +1,3 @@
-S 2014-12-05 361baab
-  freebsd-x86_64 73cbae4168538a07facd81cca45ed672badb7c3a
-  linux-i386 211cf0fbdbc7045b765e7b92d92049bbe6788513
-  linux-x86_64 f001cec306fc1ac77504884acf5dac2e7b39e164
-  macos-i386 751dc02fac96114361c56eb45ce52e7a58d555e0
-  macos-x86_64 58cad0275d7b33412501d7dd3386b924d2304e83
-  winnt-i386 872c56b88cebd7d590fd00bcbd264f0003b4427b
-  winnt-x86_64 2187d8b3187c03f95cd4e56a582f55ec0cfa8df9
-
 S 2014-11-21 c9f6d69
   freebsd-x86_64 0ef316e7c369177de043e69e964418bd637cbfc0
   linux-i386 c8342e762a1720be939ed7c6a39bdaa27892f66f