#![feature(array_error_internals)]
#![feature(asm)]
#![feature(box_syntax)]
+#![feature(c_variadic)]
#![feature(cfg_target_has_atomic)]
#![feature(cfg_target_thread_local)]
#![feature(cfg_target_vendor)]
#![feature(panic_info_message)]
#![feature(non_exhaustive)]
#![feature(alloc_layout_extra)]
+#![feature(maybe_uninit)]
+#![cfg_attr(target_env = "sgx", feature(global_asm, range_contains))]
#![default_lib_allocator]
// testing gives test-std access to real-std lang items and globals. See #2912
#[cfg(test)] extern crate std as realstd;
+#[cfg(target_env = "sgx")]
+#[macro_use]
+#[allow(unused_imports)] // FIXME: without `#[macro_use]`, get error: “cannot
+ // determine resolution for the macro `usercalls_asm`”
+extern crate fortanix_sgx_abi;
+
// The standard macros that are not built-in to the compiler.
#[macro_use]
mod macros;