mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 16:24:46 +00:00
tests/run-make: add missing needs-llvm-components
Without suitable `needs-llvm-components` directives, these tests that rely on target-specific codegen can fail if used with a LLVM that is built without the required components.
This commit is contained in:
parent
92b10819ef
commit
beaf9d1c14
@ -5,6 +5,11 @@
|
|||||||
//!
|
//!
|
||||||
//! It also checks that some targets have the correct set cfgs.
|
//! It also checks that some targets have the correct set cfgs.
|
||||||
|
|
||||||
|
// ignore-tidy-linelength
|
||||||
|
//@ needs-llvm-components: arm x86
|
||||||
|
// Note: without the needs-llvm-components it will fail on LLVM built without the required
|
||||||
|
// components listed above.
|
||||||
|
|
||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
use std::iter::FromIterator;
|
use std::iter::FromIterator;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
@ -1,10 +1,15 @@
|
|||||||
// Checks that all the targets returned by `rustc --print target-list` are valid
|
// Checks that all the targets returned by `rustc --print target-list` are valid target
|
||||||
// target specifications
|
// specifications.
|
||||||
|
|
||||||
|
// ignore-tidy-linelength
|
||||||
|
//@ needs-llvm-components: aarch64 arm avr bpf csky hexagon loongarch m68k mips msp430 nvptx powerpc riscv sparc systemz webassembly x86
|
||||||
|
// FIXME(jieyouxu): there has to be a better way to do this, without the needs-llvm-components it
|
||||||
|
// will fail on LLVM built without all of the components listed above.
|
||||||
|
|
||||||
use run_make_support::bare_rustc;
|
use run_make_support::bare_rustc;
|
||||||
|
|
||||||
// FIXME(127877): certain experimental targets fail with creating a 'LLVM TargetMachine'
|
// FIXME(#127877): certain experimental targets fail with creating a 'LLVM TargetMachine' in CI, so
|
||||||
// in CI, so we skip them
|
// we skip them.
|
||||||
const EXPERIMENTAL_TARGETS: &[&str] = &["avr", "m68k", "csky", "xtensa"];
|
const EXPERIMENTAL_TARGETS: &[&str] = &["avr", "m68k", "csky", "xtensa"];
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
//! This checks the output of some `--print` options when
|
//! This checks the output of some `--print` options when output to a file (instead of stdout)
|
||||||
//! output to a file (instead of stdout)
|
|
||||||
|
// ignore-tidy-linelength
|
||||||
|
//@ needs-llvm-components: aarch64 arm avr bpf csky hexagon loongarch m68k mips msp430 nvptx powerpc riscv sparc systemz webassembly x86
|
||||||
|
// FIXME(jieyouxu): there has to be a better way to do this, without the needs-llvm-components it
|
||||||
|
// will fail on LLVM built without all of the components listed above. If adding a new target that
|
||||||
|
// relies on a llvm component not listed above, it will need to be added to the required llvm
|
||||||
|
// components above.
|
||||||
|
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
|
@ -1,8 +1,13 @@
|
|||||||
// ARM Cortex-M are a class of processors supported by the rust compiler. However,
|
// ARM Cortex-M are a class of processors supported by the rust compiler. However, they cannot
|
||||||
// they cannot support any atomic features, such as Arc. This test simply prints
|
// support any atomic features, such as Arc. This test simply prints the configuration details of
|
||||||
// the configuration details of one Cortex target, and checks that the compiler
|
// one Cortex target, and checks that the compiler does not falsely list atomic support.
|
||||||
// does not falsely list atomic support.
|
// See <https://github.com/rust-lang/rust/pull/36874>.
|
||||||
// See https://github.com/rust-lang/rust/pull/36874
|
|
||||||
|
// ignore-tidy-linelength
|
||||||
|
//@ needs-llvm-components: arm
|
||||||
|
// Note: without the needs-llvm-components it will fail on LLVM built without all of the components
|
||||||
|
// listed above. If any new targets are added, please double-check their respective llvm components
|
||||||
|
// are specified above.
|
||||||
|
|
||||||
use run_make_support::rustc;
|
use run_make_support::rustc;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user