[package] authors = ["Jorge Aparicio "] name = "compiler_builtins" version = "0.1.109" license = "MIT/Apache-2.0" readme = "README.md" repository = "https://github.com/rust-lang/compiler-builtins" homepage = "https://github.com/rust-lang/compiler-builtins" documentation = "https://docs.rs/compiler_builtins" edition = "2018" description = """ Compiler intrinsics used by the Rust compiler. Also available for other targets if necessary! """ include = [ '/Cargo.toml', '/build.rs', '/src/*', '/examples/*', '/LICENSE.txt', '/README.md', '/compiler-rt/*', '/libm/src/math/*', ] links = 'compiler-rt' [lib] test = false [dependencies] # For more information on this dependency see rust-lang/rust's # `src/tools/rustc-std-workspace` folder core = { version = "1.0.0", optional = true, package = 'rustc-std-workspace-core' } [build-dependencies] cc = { optional = true, version = "1.0" } [dev-dependencies] panic-handler = { path = 'crates/panic-handler' } [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 = ["cc"] # Workaround for the Cranelift codegen backend. Disables any implementations # which use inline assembly and fall back to pure Rust versions (if avalible). no-asm = [] # 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', 'core'] # This makes certain traits and function specializations public that # are not normally public but are required by the `testcrate` public-test-deps = [] # Marks all intrinsics functions with weak linkage so that they can be # replaced at link time by another implementation. This is particularly useful # for mixed Rust/C++ binaries that want to use the C++ intrinsics, otherwise # linking against the Rust stdlib will replace those from the compiler-rt # library. # # Unlike the "c" feature, the intrinsics are still provided by the Rust # implementations and each will be used unless a stronger symbol replaces # it during linking. weak-intrinsics = [] [[example]] name = "intrinsics" required-features = ["compiler-builtins"] [workspace] members = ["testcrate"] [profile.release] panic = 'abort' [profile.dev] panic = 'abort'