diff --git a/artiq/firmware/ksupport/eh.rs b/artiq/firmware/ksupport/eh.rs index 6138969a4..5cd220bbc 100644 --- a/artiq/firmware/ksupport/eh.rs +++ b/artiq/firmware/ksupport/eh.rs @@ -398,7 +398,7 @@ static mut INFLIGHT: ExceptionInfo = ExceptionInfo { }; #[export_name="__artiq_raise"] -#[unwind] +#[unwind(allowed)] pub unsafe extern fn raise(exception: *const Exception) -> ! { // Zing! The Exception<'a> to Exception<'static> transmute is not really sound in case // the exception is ever captured. Fortunately, they currently aren't, and we save @@ -416,7 +416,7 @@ pub unsafe extern fn raise(exception: *const Exception) -> ! { } #[export_name="__artiq_reraise"] -#[unwind] +#[unwind(allowed)] pub unsafe extern fn reraise() -> ! { if INFLIGHT.handled { raise(&INFLIGHT.exception.unwrap()) diff --git a/artiq/firmware/runtime/profiler.rs b/artiq/firmware/runtime/profiler.rs index 0e4380f96..e3c47e1a0 100644 --- a/artiq/firmware/runtime/profiler.rs +++ b/artiq/firmware/runtime/profiler.rs @@ -2,16 +2,16 @@ use core::mem; use core::fmt; -use core::nonzero::NonZero; +use core::num::NonZeroUsize; use alloc::Vec; use managed::ManagedMap; #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord)] -pub struct Address(NonZero); +pub struct Address(NonZeroUsize); impl Address { pub fn new(raw: usize) -> Option
{ - NonZero::new(raw).map(Address) + NonZeroUsize::new(raw).map(Address) } pub fn as_raw(&self) -> usize { diff --git a/conda/artiq-dev/meta.yaml b/conda/artiq-dev/meta.yaml index 62d283af0..62629e2a2 100644 --- a/conda/artiq-dev/meta.yaml +++ b/conda/artiq-dev/meta.yaml @@ -21,7 +21,7 @@ requirements: - binutils-or1k-linux >=2.27 - llvm-or1k 6.0.0 - llvmlite-artiq 0.23.0.dev py35_4 - - rust-core-or1k 1.25.0 20 + - rust-core-or1k 1.26.0 21 - openocd 0.10.0 6 - lit - outputcheck