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_jemalloc/lib.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/liballoc_jemalloc/lib.rs') diff --git a/src/liballoc_jemalloc/lib.rs b/src/liballoc_jemalloc/lib.rs index efefabc974c..d153f19c462 100644 --- a/src/liballoc_jemalloc/lib.rs +++ b/src/liballoc_jemalloc/lib.rs @@ -9,6 +9,7 @@ // except according to those terms. #![no_std] +#![allow(unused_attributes)] #![unstable(feature = "alloc_jemalloc", reason = "this library is unlikely to be stabilized in its current \ form or name", @@ -19,8 +20,10 @@ #![feature(libc)] #![feature(linkage)] #![feature(staged_api)] +#![feature(rustc_attrs)] #![cfg_attr(dummy_jemalloc, allow(dead_code, unused_extern_crates))] #![cfg_attr(not(dummy_jemalloc), feature(allocator_api))] +#![rustc_alloc_kind = "exe"] extern crate alloc; extern crate alloc_system; -- cgit 1.4.1-3-g733a5