| @@ -36,18 +36,14 @@ use core::panic::PanicPayload; |
|
|
| 36 |
36 |
cfg_if::cfg_if! { |
| 37 |
37 |
if #[cfg(target_os = "emscripten")] { |
| 38 |
38 |
#[path = "emcc.rs"] |
| 39 |
|
-mod real_imp; |
|
39 |
+mod imp; |
| 40 |
40 |
} else if #[cfg(target_os = "hermit")] { |
| 41 |
41 |
#[path = "hermit.rs"] |
| 42 |
|
-mod real_imp; |
|
42 |
+mod imp; |
| 43 |
43 |
} else if #[cfg(target_os = "l4re")] { |
| 44 |
44 |
// L4Re is unix family but does not yet support unwinding. |
| 45 |
45 |
#[path = "dummy.rs"] |
| 46 |
|
-mod real_imp; |
| 47 |
|
-} else if #[cfg(all(target_env = "msvc", not(target_arch = "arm")))] { |
| 48 |
|
-// LLVM does not support unwinding on 32 bit ARM msvc (thumbv7a-pc-windows-msvc) |
| 49 |
|
- #[path = "seh.rs"] |
| 50 |
|
-mod real_imp; |
|
46 |
+mod imp; |
| 51 |
47 |
} else if #[cfg(any( |
| 52 |
48 |
all(target_family = "windows", target_env = "gnu"), |
| 53 |
49 |
target_os = "psp", |
| @@ -58,7 +54,16 @@ cfg_if::cfg_if! { |
|
|
| 58 |
54 |
target_family = "wasm", |
| 59 |
55 |
))] { |
| 60 |
56 |
#[path = "gcc.rs"] |
| 61 |
|
-mod real_imp; |
|
57 |
+mod imp; |
|
58 |
+} else if #[cfg(miri)] { |
|
59 |
+// Use the Miri runtime on Windows as miri doesn't support funclet based unwinding, |
|
60 |
+// only landingpad based unwinding. Also use the Miri runtime on unsupported platforms. |
|
61 |
+ #[path = "miri.rs"] |
|
62 |
+mod imp; |
|
63 |
+} else if #[cfg(all(target_env = "msvc", not(target_arch = "arm")))] { |
|
64 |
+// LLVM does not support unwinding on 32 bit ARM msvc (thumbv7a-pc-windows-msvc) |
|
65 |
+ #[path = "seh.rs"] |
|
66 |
+mod imp; |
| 62 |
67 |
} else { |
| 63 |
68 |
// Targets that don't support unwinding. |
| 64 |
69 |
// - os=none ("bare metal" targets) |
| @@ -67,20 +72,7 @@ cfg_if::cfg_if! { |
|
|
| 67 |
72 |
// - nvptx64-nvidia-cuda |
| 68 |
73 |
// - arch=avr |
| 69 |
74 |
#[path = "dummy.rs"] |
| 70 |
|
-mod real_imp; |
| 71 |
|
-} |
| 72 |
|
-} |
| 73 |
|
- |
| 74 |
|
-cfg_if::cfg_if! { |
| 75 |
|
-if #[cfg(miri)] { |
| 76 |
|
-// Use the Miri runtime. |
| 77 |
|
-// We still need to also load the normal runtime above, as rustc expects certain lang |
| 78 |
|
-// items from there to be defined. |
| 79 |
|
- #[path = "miri.rs"] |
| 80 |
75 |
mod imp; |
| 81 |
|
-} else { |
| 82 |
|
-// Use the real runtime. |
| 83 |
|
-use real_imp as imp; |
| 84 |
76 |
} |
| 85 |
77 |
} |
| 86 |
78 |
|