]> git.lizzy.rs Git - rust.git/commitdiff
Fix building without backtrace feature, which was broken in ca8b754
authorIan Douglas Scott <ian@iandouglasscott.com>
Sun, 21 May 2017 19:38:07 +0000 (12:38 -0700)
committerIan Douglas Scott <ian@iandouglasscott.com>
Sun, 21 May 2017 19:38:07 +0000 (12:38 -0700)
Fixes #42139

src/libstd/rt.rs
src/libstd/thread/mod.rs

index acff7faf8a7d0a853bf3d09e903f360db7c8f721..06fd838ea06d966b047f8e1a257d1acd253433cd 100644 (file)
@@ -35,6 +35,8 @@ fn lang_start(main: fn(), argc: isize, argv: *const *const u8) -> isize {
     use sys_common;
     use sys_common::thread_info;
     use thread::Thread;
+    #[cfg(not(feature = "backtrace"))]
+    use mem;
 
     sys::init();
 
@@ -53,9 +55,12 @@ fn lang_start(main: fn(), argc: isize, argv: *const *const u8) -> isize {
         sys::args::init(argc, argv);
 
         // Let's run some code!
+        #[cfg(feature = "backtrace")]
         let res = panic::catch_unwind(|| {
             ::sys_common::backtrace::__rust_begin_short_backtrace(main)
         });
+        #[cfg(not(feature = "backtrace"))]
+        let res = panic::catch_unwind(mem::transmute::<_, fn()>(main));
         sys_common::cleanup();
         res.is_err()
     };
index 154406a1d8bd78ca29965e9f54f49f4af51fc896..75717abb4ad28612c0c806d23361342d3dfe2986 100644 (file)
@@ -359,9 +359,12 @@ pub fn spawn<F, T>(self, f: F) -> io::Result<JoinHandle<T>> where
             }
             unsafe {
                 thread_info::set(imp::guard::current(), their_thread);
+                #[cfg(feature = "backtrace")]
                 let try_result = panic::catch_unwind(panic::AssertUnwindSafe(|| {
                     ::sys_common::backtrace::__rust_begin_short_backtrace(f)
                 }));
+                #[cfg(not(feature = "backtrace"))]
+                let try_result = panic::catch_unwind(panic::AssertUnwindSafe(f));
                 *their_packet.get() = Some(try_result);
             }
         };