mirror of
https://github.com/rust-lang/rust.git
synced 2025-11-23 19:16:47 +00:00
Assembly-related configuration was added in 1621c6dbf9eb ("Use
`specialized-div-rem` 1.0.0 for division algorithms") to account for
Cranelift not yet supporting assembly. This hasn't been relevant for a
while, so we no longer need to gate `asm!` behind this configuration.
Thus, remove `cfg(not(feature = "no-asm"))` in places where there is no
generic fallback.
There are other cases, however, where setting the `no-asm` configuration
enables testing of generic version of builtins when there are platform-
specific implementations available; these cases are left unchanged. This
could be improved in the future by exposing both versions for testing
rather than using a configuration and running the entire testsuite
twice.
This is the compiler-builtins portion of
https://github.com/rust-lang/rust/pull/144471.
65 lines
2.2 KiB
TOML
65 lines
2.2 KiB
TOML
# NOTE: Must be kept in sync with `../compiler-builtins/Cargo.toml`.
|
|
#
|
|
# The manifest at `../compiler-builtins` is what actually gets used in the
|
|
# rust-lang/rust tree; however, we can't build it out of tree because it
|
|
# depends on `core` by path, and even optional Cargo dependencies need to be
|
|
# available at build time. So, we work around this by having this "shim"
|
|
# manifest that is identical except for the `core` dependency and forwards
|
|
# to the same sources, which acts as the `compiler-builtins` Cargo entrypoint
|
|
# for out of tree testing
|
|
|
|
[package]
|
|
name = "compiler_builtins"
|
|
version = "0.1.160"
|
|
authors = ["Jorge Aparicio <japaricious@gmail.com>"]
|
|
description = "Compiler intrinsics used by the Rust compiler."
|
|
repository = "https://github.com/rust-lang/compiler-builtins"
|
|
license = "MIT AND Apache-2.0 WITH LLVM-exception AND (MIT OR Apache-2.0)"
|
|
edition = "2024"
|
|
publish = false
|
|
links = "compiler-rt"
|
|
|
|
build = "../compiler-builtins/build.rs"
|
|
|
|
[lib]
|
|
path = "../compiler-builtins/src/lib.rs"
|
|
bench = false
|
|
doctest = false
|
|
test = false
|
|
|
|
[build-dependencies]
|
|
cc = { optional = true, version = "1.2" }
|
|
|
|
[features]
|
|
default = ["compiler-builtins"]
|
|
|
|
# Enable compilation of C code in compiler-rt, filling in some more optimized
|
|
# implementations and also filling in unimplemented intrinsics
|
|
c = ["dep:cc"]
|
|
|
|
# For implementations where there is both a generic version and a platform-
|
|
# specific version, use the generic version. This is meant to enable testing
|
|
# the generic versions on all platforms.
|
|
no-asm = []
|
|
|
|
# Workaround for codegen backends which haven't yet implemented `f16` and
|
|
# `f128` support. Disabled any intrinsics which use those types.
|
|
no-f16-f128 = []
|
|
|
|
# Flag this library as the unstable compiler-builtins lib
|
|
compiler-builtins = []
|
|
|
|
# Generate memory-related intrinsics like memcpy
|
|
mem = []
|
|
|
|
# Mangle all names so this can be linked in with other versions or other
|
|
# compiler-rt implementations. Also used for testing
|
|
mangled-names = []
|
|
|
|
# Only used in the compiler's build system
|
|
rustc-dep-of-std = ["compiler-builtins"]
|
|
|
|
# This makes certain traits and function specializations public that
|
|
# are not normally public but are required by the `builtins-test`
|
|
unstable-public-internals = []
|