From 94297c67465c3bd124063de717f7574491f5cc7d Mon Sep 17 00:00:00 2001 From: Michal 'vorner' Vaner Date: Sun, 10 Sep 2017 19:59:42 +0200 Subject: Autodetect the type of allocator crate used Annotate the allocator crates (allocator_system, allocator_jemalloc) by the type of allocator they are. If one is requested as an exe allocator, detect its type by the flags. This has the effect that using this (de jure wrong) configuration in the target spec works instead of producing a really unhelpful and arcane linker error: "exe-allocation-crate": "alloc_system" Fixes #43524. --- src/liballoc_system/lib.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/liballoc_system') diff --git a/src/liballoc_system/lib.rs b/src/liballoc_system/lib.rs index 599d79104c3..2eb659699eb 100644 --- a/src/liballoc_system/lib.rs +++ b/src/liballoc_system/lib.rs @@ -9,6 +9,7 @@ // except according to those terms. #![no_std] +#![allow(unused_attributes)] #![deny(warnings)] #![unstable(feature = "alloc_system", reason = "this library is unlikely to be stabilized in its current \ @@ -19,7 +20,9 @@ #![feature(alloc)] #![feature(core_intrinsics)] #![feature(staged_api)] +#![feature(rustc_attrs)] #![cfg_attr(any(unix, target_os = "redox"), feature(libc))] +#![rustc_alloc_kind = "lib"] // The minimum alignment guaranteed by the architecture. This value is used to // add fast paths for low alignment values. In practice, the alignment is a -- cgit 1.4.1-3-g733a5