Auto merge of #121370 - jieyouxu:migrate-compiletest-directives, r=oli-obk

Migrate compiletest to use `ui_test`-style `//@` directives

## Preface

There's an on-going effort to rewrite parts of or the entirety of compiletest
(<https://github.com/rust-lang/compiler-team/issues/536>). A step towards this involve migrating
compiletest tests to use the [`ui_test`](https://github.com/oli-obk/ui_test) framework, which
involves changing compiletest directives in `// <directive-name>` style to `ui_test`
`//@ <directive-name>` style (https://github.com/rust-lang/compiler-team/issues/512).

This PR aims to implement the directive-style change from `//` to `//`@`` for the remaining
non-"ui" test suite tests.

## Key Changes

1. All `tests/` tests now use `//`@`` directives.
2. Compiletest only accepts `//`@`` and issues an error if an old-style directive is detected.
3. `// ignore-tidy` and `// ignore-tidy-*` are considered tidy directives and are ignored by
   compiletest header parsing.

## Diff Generation

The diff is generated by:

- Collecting directives from `tests/` via hijacking compiletest to emit successfully parsed
  directive lines.
- Using a migration tool
  (<https://github.com/jieyouxu/compiletest-ui_test-header-migration/tree/master>) to replace
  `//` directives in compiletest tests with `//`@`.`

### Reproduction Steps

0. Delete the temporary file `$RUSTC_REPO_PATH/build/<target_triple>/test/__directive_lines.txt`,
   if the collection script was previously ran.
1. Use the <https://github.com/jieyouxu/rust/tree/collect-test-directives> collect-test-directives
   script, which outputs a temporary file recording headers occuring in each compiletest test.
   - You need to checkout this branch: `git checkout collect-test-directives`.
   - This needs to be rebased on latest master to ensure up-to-date test directives can be collected.
   - You need to run `./x test` on each of the `test/*` subfolders once:

        ```bash
        ./x test tests/assembly/ --stage 1 --force-rerun
        ./x test tests/codegen/ --stage 1 --force-rerun
        ./x test tests/codegen-units/ --stage 1 --force-rerun
        ./x test tests/coverage/ --stage 1 --force-rerun
        ./x test tests/coverage-run-rustdoc/ --stage 1 --force-rerun
        ./x test tests/debuginfo/ --stage 1 --force-rerun
        ./x test tests/incremental/ --stage 1 --force-rerun
        ./x test tests/mir-opt/ --stage 1 --force-rerun
        ./x test tests/pretty/ --stage 1 --force-rerun
        ./x test tests/run-make/ --stage 1 --force-rerun
        ./x test tests/run-make-fulldeps/ --stage 1 --force-rerun
        ./x test tests/run-pass-valgrind/ --stage 1 --force-rerun
        ./x test tests/rustdoc/ --stage 1 --force-rerun
        TARGET=<target-triple> ./x test tests/rustdoc-gui/ --stage 1 --force-rerun
        ./x test tests/rustdoc-js/ --stage 1 --force-rerun
        ./x test tests/rustdoc-js-std/ --stage 1 --force-rerun
        ./x test tests/rustdoc-json/ --stage 1 --force-rerun
        ./x test tests/rustdoc-ui/ --stage 1 --force-rerun
        ./x test tests/ui/ --stage 1 --force-rerun
        ./x test tests/ui-fulldeps/ --stage 1 --force-rerun
        ```

2. Checkout the `migrate-compiletest-directives` branch.
3. Run the migration tool <https://github.com/jieyouxu/compiletest-ui_test-header-migration>.
4. Check that the migration at least does not cause test failures if you change compiletest to
   accept `//`@`` directives only. This is also required if the test outputs somehow need to be
   blessed.
   - `RUSTC_TEST_FAIL_FAST=1 ./x test tests/<secondary-directory>  --stage 1 --bless`
5. Confirm that there is no difference after running the migration tool when you are on the
   `migrate-compiletest-directives` branch.

## Follow Up Work

- [ ] Adjust rustc-dev-guide docs for compiletest directives (this time for all the other suites and modes). <https://github.com/rust-lang/rustc-dev-guide/pull/1895>.
This commit is contained in:
bors 2024-02-22 16:39:09 +00:00
commit f62f490fd4
1837 changed files with 4876 additions and 4839 deletions

View File

@ -673,14 +673,17 @@ pub fn line_directive<'line>(
/// names. This is **not** an exhaustive list of all possible directives. Instead, this is a
/// best-effort approximation for diagnostics.
const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
"assembly-output",
"aux-build",
"aux-crate",
"build-aux-docs",
"build-fail",
"build-pass",
"check-fail",
"check-pass",
"check-run-results",
"check-stdout",
"check-test-line-numbers-match",
"compile-flags",
"dont-check-compiler-stderr",
"dont-check-compiler-stdout",
@ -691,12 +694,16 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
"failure-status",
"forbid-output",
"force-host",
"ignore-16bit",
"ignore-32bit",
"ignore-64bit",
"ignore-aarch64",
"ignore-aarch64-unknown-linux-gnu",
"ignore-android",
"ignore-arm",
"ignore-avr",
"ignore-beta",
"ignore-cdb",
"ignore-compare-mode-next-solver",
"ignore-compare-mode-polonius",
"ignore-cross-compile",
@ -705,13 +712,21 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
"ignore-endian-big",
"ignore-freebsd",
"ignore-fuchsia",
"ignore-gdb",
"ignore-gdb-version",
"ignore-gnu",
"ignore-haiku",
"ignore-horizon",
"ignore-i686-pc-windows-msvc",
"ignore-ios",
"ignore-linux",
"ignore-lldb",
"ignore-llvm-version",
"ignore-loongarch64",
"ignore-macos",
"ignore-mode-coverage-map",
"ignore-mode-coverage-run",
"ignore-msp430",
"ignore-msvc",
"ignore-musl",
"ignore-netbsd",
@ -720,8 +735,13 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
"ignore-nvptx64",
"ignore-openbsd",
"ignore-pass",
"ignore-remote",
"ignore-riscv64",
"ignore-s390x",
"ignore-sgx",
"ignore-spirv",
"ignore-stable",
"ignore-stage1",
"ignore-test",
"ignore-thumbv8m.base-none-eabi",
"ignore-thumbv8m.main-none-eabi",
@ -731,9 +751,15 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
"ignore-wasm32",
"ignore-wasm32-bare",
"ignore-windows",
"ignore-windows-gnu",
"ignore-x86",
"ignore-x86_64-apple-darwin",
"incremental",
"known-bug",
"llvm-cov-flags",
"min-cdb-version",
"min-gdb-version",
"min-lldb-version",
"min-llvm-version",
"needs-asm-support",
"needs-dlltool",
@ -742,11 +768,15 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
"needs-profiler-support",
"needs-relocation-model-pic",
"needs-run-enabled",
"needs-rust-lldb",
"needs-sanitizer-address",
"needs-sanitizer-cfi",
"needs-sanitizer-hwaddress",
"needs-sanitizer-leak",
"needs-sanitizer-memory",
"needs-sanitizer-memtag",
"needs-sanitizer-safestack",
"needs-sanitizer-shadow-call-stack",
"needs-sanitizer-support",
"needs-sanitizer-thread",
"needs-unwind",
@ -756,23 +786,42 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
"normalize-stderr-64bit",
"normalize-stderr-test",
"normalize-stdout-test",
"only-16bit",
"only-32bit",
"only-64bit",
"only-aarch64",
"only-arm",
"only-avr",
"only-bpf",
"only-cdb",
"only-gnu",
"only-i686-pc-windows-msvc",
"only-linux",
"only-loongarch64",
"only-loongarch64-unknown-linux-gnu",
"only-macos",
"only-mips",
"only-mips64",
"only-msp430",
"only-msvc",
"only-nightly",
"only-nvptx64",
"only-riscv64",
"only-sparc",
"only-sparc64",
"only-thumb",
"only-wasm32",
"only-wasm32-bare",
"only-windows",
"only-x86",
"only-x86_64",
"only-x86_64-fortanix-unknown-sgx",
"only-x86_64-pc-windows-msvc",
"only-x86_64-unknown-linux-gnu",
"pp-exact",
"pretty-compare-only",
"pretty-expanded",
"pretty-mode",
"regex-error-pattern",
"remap-src-base",
"revisions",
@ -783,7 +832,10 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
"rustc-env",
"rustfix-only-machine-applicable",
"should-fail",
"should-ice",
"stderr-per-bitwidth",
"unit-test",
"unset-exec-env",
"unset-rustc-env",
];
@ -817,7 +869,7 @@ struct HeaderLine<'ln> {
fn iter_header(
mode: Mode,
suite: &str,
_suite: &str,
poisoned: &mut bool,
testfile: &Path,
rdr: impl Read,
@ -848,11 +900,7 @@ fn iter_header(
}
}
let comment = if testfile.extension().is_some_and(|e| e == "rs") {
if mode == Mode::Ui && suite == "ui" { "//@" } else { "//" }
} else {
"#"
};
let comment = if testfile.extension().is_some_and(|e| e == "rs") { "//@" } else { "#" };
let mut rdr = BufReader::with_capacity(1024, rdr);
let mut ln = String::new();
@ -879,7 +927,7 @@ fn iter_header(
// First try to accept `ui_test` style comments
} else if let Some((header_revision, directive)) = line_directive(comment, ln) {
it(HeaderLine { line_number, original_line, header_revision, directive });
} else if mode == Mode::Ui && suite == "ui" && !REVISION_MAGIC_COMMENT_RE.is_match(ln) {
} else if !REVISION_MAGIC_COMMENT_RE.is_match(ln) {
let Some((_, rest)) = line_directive("//", ln) else {
continue;
};
@ -899,7 +947,7 @@ fn iter_header(
// directive. We emit an error here to warn the user.
*poisoned = true;
eprintln!(
"error: detected legacy-style directives in ui test: {}:{}, please use `ui_test`-style directives `//@` instead:{:#?}",
"error: detected legacy-style directives in compiletest test: {}:{}, please use `ui_test`-style directives `//@` instead:{:#?}",
testfile.display(),
line_number,
line_directive("//", ln),
@ -912,7 +960,7 @@ fn iter_header(
// directive. We emit an error here to warn the user.
*poisoned = true;
eprintln!(
"error: detected legacy-style directives in ui test: {}:{}, please use `ui_test`-style directives `//@` instead:{:#?}",
"error: detected legacy-style directives in compiletest test: {}:{}, please use `ui_test`-style directives `//@` instead:{:#?}",
testfile.display(),
line_number,
line_directive("//", ln),
@ -1213,11 +1261,8 @@ pub fn make_test_description<R: Read>(
if let Some((_, post)) = original_line.trim_start().split_once("//") {
let post = post.trim_start();
if post.starts_with("ignore-tidy")
&& config.mode == Mode::Ui
&& config.suite == "ui"
{
// not handled by compiletest under the ui test mode and ui test suite.
if post.starts_with("ignore-tidy") {
// Not handled by compiletest.
} else {
decision!(cfg::handle_ignore(config, ln));
}

View File

@ -578,12 +578,7 @@ fn ignore_mode() {
assert_eq!(config.mode, Mode::from_str(mode).unwrap());
assert_ne!(config.mode, Mode::from_str(other).unwrap());
if mode == "ui" {
assert!(check_ignore(&config, &format!("//@ ignore-mode-{mode}")));
assert!(!check_ignore(&config, &format!("//@ ignore-mode-{other}")));
} else {
assert!(check_ignore(&config, &format!("// ignore-mode-{mode}")));
assert!(!check_ignore(&config, &format!("// ignore-mode-{other}")));
}
assert!(check_ignore(&config, &format!("//@ ignore-mode-{mode}")));
assert!(!check_ignore(&config, &format!("//@ ignore-mode-{other}")));
}
}

View File

@ -3938,15 +3938,10 @@ impl<'test> TestCx<'test> {
self.props.compare_output_lines_by_subset,
);
} else if !expected_fixed.is_empty() {
if self.config.suite == "ui" {
panic!(
"the `//@ run-rustfix` directive wasn't found but a `*.fixed` file was found"
);
} else {
panic!(
"the `// run-rustfix` directive wasn't found but a `*.fixed` file was found"
);
}
panic!(
"the `//@ run-rustfix` directive wasn't found but a `*.fixed` \
file was found"
);
}
if errors > 0 {

View File

@ -7,7 +7,7 @@ use std::{collections::HashSet, path::Path};
const TARGET_DEFINITIONS_PATH: &str = "compiler/rustc_target/src/spec/targets/";
const ASSEMBLY_TEST_PATH: &str = "tests/assembly/targets/";
const REVISION_LINE_START: &str = "// revisions: ";
const REVISION_LINE_START: &str = "//@ revisions: ";
const EXCEPTIONS: &[&str] = &[
// FIXME: disabled since it fails on CI saying the csky component is missing
"csky_unknown_linux_gnuabiv2",

View File

@ -6,7 +6,7 @@ use std::path::Path;
use crate::walk::filter_not_rust;
const COMMENT: &str = "//";
const COMMENT: &str = "//@";
const LLVM_COMPONENTS_HEADER: &str = "needs-llvm-components:";
const COMPILE_FLAGS_HEADER: &str = "compile-flags:";

View File

@ -1,7 +1,7 @@
// compile-flags: -C no-prepopulate-passes -Zbranch-protection=bti
// assembly-output: emit-asm
// needs-asm-support
// only-aarch64
//@ compile-flags: -C no-prepopulate-passes -Zbranch-protection=bti
//@ assembly-output: emit-asm
//@ needs-asm-support
//@ only-aarch64
#![crate_type = "lib"]
#![feature(naked_functions)]

View File

@ -1,9 +1,9 @@
// Test that PAC instructions are emitted when branch-protection is specified.
// assembly-output: emit-asm
// compile-flags: --target aarch64-unknown-linux-gnu
// compile-flags: -Z branch-protection=pac-ret,leaf
// needs-llvm-components: aarch64
//@ assembly-output: emit-asm
//@ compile-flags: --target aarch64-unknown-linux-gnu
//@ compile-flags: -Z branch-protection=pac-ret,leaf
//@ needs-llvm-components: aarch64
#![feature(no_core, lang_items)]
#![no_std]

View File

@ -1,6 +1,6 @@
// assembly-output: emit-asm
// compile-flags: -Copt-level=1
// only-x86_64
//@ assembly-output: emit-asm
//@ compile-flags: -Copt-level=1
//@ only-x86_64
#![crate_type="rlib"]
// CHECK-LABEL: align_offset_byte_ptr

View File

@ -1,6 +1,6 @@
// assembly-output: emit-asm
// compile-flags: --target aarch64-unknown-linux-gnu
// needs-llvm-components: aarch64
//@ assembly-output: emit-asm
//@ compile-flags: --target aarch64-unknown-linux-gnu
//@ needs-llvm-components: aarch64
#![feature(no_core, lang_items, rustc_attrs)]
#![crate_type = "rlib"]

View File

@ -1,7 +1,7 @@
// assembly-output: emit-asm
// compile-flags: -O
// compile-flags: --target aarch64-unknown-linux-gnu
// needs-llvm-components: aarch64
//@ assembly-output: emit-asm
//@ compile-flags: -O
//@ compile-flags: --target aarch64-unknown-linux-gnu
//@ needs-llvm-components: aarch64
#![feature(no_core, lang_items, rustc_attrs)]
#![crate_type = "rlib"]

View File

@ -1,9 +1,9 @@
// assembly-output: emit-asm
// compile-flags: -O
// compile-flags: --target aarch64-unknown-linux-gnu
// needs-llvm-components: aarch64
// only-aarch64
// only-linux
//@ assembly-output: emit-asm
//@ compile-flags: -O
//@ compile-flags: --target aarch64-unknown-linux-gnu
//@ needs-llvm-components: aarch64
//@ only-aarch64
//@ only-linux
#![crate_type = "rlib"]

View File

@ -1,6 +1,6 @@
// assembly-output: emit-asm
// compile-flags: --target aarch64-unknown-linux-gnu
// needs-llvm-components: aarch64
//@ assembly-output: emit-asm
//@ compile-flags: --target aarch64-unknown-linux-gnu
//@ needs-llvm-components: aarch64
#![feature(no_core, lang_items, rustc_attrs, repr_simd)]
#![crate_type = "rlib"]

View File

@ -1,8 +1,8 @@
// assembly-output: emit-asm
// compile-flags: -O
// compile-flags: --target armv7-unknown-linux-gnueabihf
// compile-flags: -C target-feature=+neon
// needs-llvm-components: arm
//@ assembly-output: emit-asm
//@ compile-flags: -O
//@ compile-flags: --target armv7-unknown-linux-gnueabihf
//@ compile-flags: -C target-feature=+neon
//@ needs-llvm-components: arm
#![feature(no_core, lang_items, rustc_attrs, repr_simd)]
#![crate_type = "rlib"]

View File

@ -1,8 +1,8 @@
// assembly-output: emit-asm
// compile-flags: --target armv7-unknown-linux-gnueabihf
// compile-flags: -C target-feature=+neon
// compile-flags: -C opt-level=0
// needs-llvm-components: arm
//@ assembly-output: emit-asm
//@ compile-flags: --target armv7-unknown-linux-gnueabihf
//@ compile-flags: -C target-feature=+neon
//@ compile-flags: -C opt-level=0
//@ needs-llvm-components: arm
#![feature(no_core, lang_items, rustc_attrs, repr_simd)]
#![crate_type = "rlib"]

View File

@ -1,6 +1,6 @@
// assembly-output: emit-asm
// compile-flags: --target avr-unknown-gnu-atmega328
// needs-llvm-components: avr
//@ assembly-output: emit-asm
//@ compile-flags: --target avr-unknown-gnu-atmega328
//@ needs-llvm-components: avr
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
#![crate_type = "rlib"]

View File

@ -1,6 +1,6 @@
// assembly-output: emit-asm
// compile-flags: --target avr-unknown-gnu-atmega328
// needs-llvm-components: avr
//@ assembly-output: emit-asm
//@ compile-flags: --target avr-unknown-gnu-atmega328
//@ needs-llvm-components: avr
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
#![crate_type = "rlib"]

View File

@ -1,6 +1,6 @@
// assembly-output: emit-asm
// compile-flags: --target bpfel-unknown-none -C target_feature=+alu32
// needs-llvm-components: bpf
//@ assembly-output: emit-asm
//@ compile-flags: --target bpfel-unknown-none -C target_feature=+alu32
//@ needs-llvm-components: bpf
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
#![crate_type = "rlib"]

View File

@ -1,8 +1,8 @@
// only-x86_64
// only-linux
// assembly-output: emit-asm
// compile-flags: -C llvm-args=--x86-asm-syntax=intel
// compile-flags: -C symbol-mangling-version=v0
//@ only-x86_64
//@ only-linux
//@ assembly-output: emit-asm
//@ compile-flags: -C llvm-args=--x86-asm-syntax=intel
//@ compile-flags: -C symbol-mangling-version=v0
#![feature(asm_const)]
#![crate_type = "rlib"]

View File

@ -1,6 +1,6 @@
// assembly-output: emit-asm
// compile-flags: --target hexagon-unknown-linux-musl
// needs-llvm-components: hexagon
//@ assembly-output: emit-asm
//@ compile-flags: --target hexagon-unknown-linux-musl
//@ needs-llvm-components: hexagon
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
#![crate_type = "rlib"]

View File

@ -1,7 +1,7 @@
// assembly-output: emit-asm
// compile-flags: --crate-type=lib
// only-x86_64
// ignore-sgx
//@ assembly-output: emit-asm
//@ compile-flags: --crate-type=lib
//@ only-x86_64
//@ ignore-sgx
#![feature(portable_simd)]

View File

@ -1,6 +1,6 @@
// assembly-output: emit-asm
// compile-flags: --target loongarch64-unknown-linux-gnu
// needs-llvm-components: loongarch
//@ assembly-output: emit-asm
//@ compile-flags: --target loongarch64-unknown-linux-gnu
//@ needs-llvm-components: loongarch
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
#![crate_type = "rlib"]

View File

@ -1,6 +1,6 @@
// assembly-output: emit-asm
// compile-flags: --target m68k-unknown-linux-gnu
// needs-llvm-components: m68k
//@ assembly-output: emit-asm
//@ compile-flags: --target m68k-unknown-linux-gnu
//@ needs-llvm-components: m68k
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
#![crate_type = "rlib"]

View File

@ -1,9 +1,9 @@
// revisions: mips32 mips64
// assembly-output: emit-asm
//[mips32] compile-flags: --target mips-unknown-linux-gnu
//[mips32] needs-llvm-components: mips
//[mips64] compile-flags: --target mips64-unknown-linux-gnuabi64
//[mips64] needs-llvm-components: mips
//@ revisions: mips32 mips64
//@ assembly-output: emit-asm
//@[mips32] compile-flags: --target mips-unknown-linux-gnu
//@[mips32] needs-llvm-components: mips
//@[mips64] compile-flags: --target mips64-unknown-linux-gnuabi64
//@[mips64] needs-llvm-components: mips
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
#![crate_type = "rlib"]

View File

@ -1,6 +1,6 @@
// assembly-output: emit-asm
// compile-flags: --target msp430-none-elf
// needs-llvm-components: msp430
//@ assembly-output: emit-asm
//@ compile-flags: --target msp430-none-elf
//@ needs-llvm-components: msp430
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch, asm_const)]
#![crate_type = "rlib"]

View File

@ -1,7 +1,7 @@
// assembly-output: emit-asm
// compile-flags: --target nvptx64-nvidia-cuda
// compile-flags: --crate-type cdylib
// needs-llvm-components: nvptx
//@ assembly-output: emit-asm
//@ compile-flags: --target nvptx64-nvidia-cuda
//@ compile-flags: --crate-type cdylib
//@ needs-llvm-components: nvptx
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
#![no_core]

View File

@ -1,9 +1,9 @@
// revisions: powerpc powerpc64
// assembly-output: emit-asm
//[powerpc] compile-flags: --target powerpc-unknown-linux-gnu
//[powerpc] needs-llvm-components: powerpc
//[powerpc64] compile-flags: --target powerpc64-unknown-linux-gnu
//[powerpc64] needs-llvm-components: powerpc
//@ revisions: powerpc powerpc64
//@ assembly-output: emit-asm
//@[powerpc] compile-flags: --target powerpc-unknown-linux-gnu
//@[powerpc] needs-llvm-components: powerpc
//@[powerpc64] compile-flags: --target powerpc64-unknown-linux-gnu
//@[powerpc64] needs-llvm-components: powerpc
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
#![crate_type = "rlib"]

View File

@ -1,10 +1,10 @@
// revisions: riscv64 riscv32
// assembly-output: emit-asm
//[riscv64] compile-flags: --target riscv64imac-unknown-none-elf
//[riscv64] needs-llvm-components: riscv
//[riscv32] compile-flags: --target riscv32imac-unknown-none-elf
//[riscv32] needs-llvm-components: riscv
// compile-flags: -C target-feature=+d
//@ revisions: riscv64 riscv32
//@ assembly-output: emit-asm
//@[riscv64] compile-flags: --target riscv64imac-unknown-none-elf
//@[riscv64] needs-llvm-components: riscv
//@[riscv32] compile-flags: --target riscv32imac-unknown-none-elf
//@[riscv32] needs-llvm-components: riscv
//@ compile-flags: -C target-feature=+d
#![feature(no_core, lang_items, rustc_attrs)]
#![crate_type = "rlib"]

View File

@ -1,7 +1,7 @@
// revisions: s390x
// assembly-output: emit-asm
//[s390x] compile-flags: --target s390x-unknown-linux-gnu
//[s390x] needs-llvm-components: systemz
//@ revisions: s390x
//@ assembly-output: emit-asm
//@[s390x] compile-flags: --target s390x-unknown-linux-gnu
//@[s390x] needs-llvm-components: systemz
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
#![crate_type = "rlib"]

View File

@ -1,7 +1,7 @@
// assembly-output: emit-asm
// compile-flags: --target wasm32-unknown-unknown
// compile-flags: --crate-type cdylib
// needs-llvm-components: webassembly
//@ assembly-output: emit-asm
//@ compile-flags: --target wasm32-unknown-unknown
//@ compile-flags: --crate-type cdylib
//@ needs-llvm-components: webassembly
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
#![no_core]

View File

@ -1,12 +1,12 @@
// revisions: x86_64 i686
// assembly-output: emit-asm
// compile-flags: -O
//[x86_64] compile-flags: --target x86_64-unknown-linux-gnu
//[x86_64] needs-llvm-components: x86
//[i686] compile-flags: --target i686-unknown-linux-gnu
//[i686] needs-llvm-components: x86
// compile-flags: -C llvm-args=--x86-asm-syntax=intel
// compile-flags: -C target-feature=+avx512bw
//@ revisions: x86_64 i686
//@ assembly-output: emit-asm
//@ compile-flags: -O
//@[x86_64] compile-flags: --target x86_64-unknown-linux-gnu
//@[x86_64] needs-llvm-components: x86
//@[i686] compile-flags: --target i686-unknown-linux-gnu
//@[i686] needs-llvm-components: x86
//@ compile-flags: -C llvm-args=--x86-asm-syntax=intel
//@ compile-flags: -C target-feature=+avx512bw
#![feature(no_core, lang_items, rustc_attrs)]
#![crate_type = "rlib"]

View File

@ -1,11 +1,11 @@
// revisions: x86_64 i686
// assembly-output: emit-asm
//[x86_64] compile-flags: --target x86_64-unknown-linux-gnu
//[x86_64] needs-llvm-components: x86
//[i686] compile-flags: --target i686-unknown-linux-gnu
//[i686] needs-llvm-components: x86
// compile-flags: -C llvm-args=--x86-asm-syntax=intel
// compile-flags: -C target-feature=+avx512bw
//@ revisions: x86_64 i686
//@ assembly-output: emit-asm
//@[x86_64] compile-flags: --target x86_64-unknown-linux-gnu
//@[x86_64] needs-llvm-components: x86
//@[i686] compile-flags: --target i686-unknown-linux-gnu
//@[i686] needs-llvm-components: x86
//@ compile-flags: -C llvm-args=--x86-asm-syntax=intel
//@ compile-flags: -C target-feature=+avx512bw
#![feature(no_core, lang_items, rustc_attrs, repr_simd)]
#![crate_type = "rlib"]

View File

@ -1,8 +1,8 @@
// only-x86_64
// ignore-sgx Tests incompatible with LVI mitigations
// assembly-output: emit-asm
//@ only-x86_64
//@ ignore-sgx Tests incompatible with LVI mitigations
//@ assembly-output: emit-asm
// make sure the feature is not enabled at compile-time
// compile-flags: -C opt-level=3 -C target-feature=-sse4.1 -C llvm-args=-x86-asm-syntax=intel
//@ compile-flags: -C opt-level=3 -C target-feature=-sse4.1 -C llvm-args=-x86-asm-syntax=intel
#![feature(target_feature_11)]
#![crate_type = "rlib"]

View File

@ -1,7 +1,7 @@
// Makes sure that `-Z dwarf-version=4` causes `rustc` to emit DWARF version 4.
// assembly-output: emit-asm
// compile-flags: -g --target x86_64-unknown-linux-gnu -Z dwarf-version=4 -Copt-level=0
// needs-llvm-components: x86
//@ assembly-output: emit-asm
//@ compile-flags: -g --target x86_64-unknown-linux-gnu -Z dwarf-version=4 -Copt-level=0
//@ needs-llvm-components: x86
#![feature(no_core, lang_items)]
#![crate_type = "rlib"]

View File

@ -1,7 +1,7 @@
// Makes sure that `-Z dwarf-version=5` causes `rustc` to emit DWARF version 5.
// assembly-output: emit-asm
// compile-flags: -g --target x86_64-unknown-linux-gnu -Z dwarf-version=5 -Copt-level=0
// needs-llvm-components: x86
//@ assembly-output: emit-asm
//@ compile-flags: -g --target x86_64-unknown-linux-gnu -Z dwarf-version=5 -Copt-level=0
//@ needs-llvm-components: x86
#![feature(no_core, lang_items)]
#![crate_type = "rlib"]

View File

@ -1,9 +1,9 @@
// assembly-output: emit-asm
// only-x86_64
// ignore-sgx
// revisions: opt-speed opt-size
// [opt-speed] compile-flags: -Copt-level=2 -Cdebug-assertions=no
// [opt-size] compile-flags: -Copt-level=s -Cdebug-assertions=no
//@ assembly-output: emit-asm
//@ only-x86_64
//@ ignore-sgx
//@ revisions: opt-speed opt-size
//@ [opt-speed] compile-flags: -Copt-level=2 -Cdebug-assertions=no
//@ [opt-size] compile-flags: -Copt-level=s -Cdebug-assertions=no
#![crate_type="rlib"]
#![feature(core_intrinsics)]

View File

@ -1,8 +1,8 @@
// assembly-output: emit-asm
//@ assembly-output: emit-asm
// # zen3 previously exhibited odd vectorization
// compile-flags: --crate-type=lib -Ctarget-cpu=znver3 -O
// only-x86_64
// ignore-sgx
//@ compile-flags: --crate-type=lib -Ctarget-cpu=znver3 -O
//@ only-x86_64
//@ ignore-sgx
use std::iter;

View File

@ -1,8 +1,8 @@
// Check that niche selection prefers zero and that jumps are optimized away.
// See https://github.com/rust-lang/rust/pull/87794
// assembly-output: emit-asm
// only-x86
// compile-flags: -Copt-level=3
//@ assembly-output: emit-asm
//@ only-x86
//@ compile-flags: -Copt-level=3
#![crate_type = "lib"]

View File

@ -1,11 +1,11 @@
// assembly-output: ptx-linker
// compile-flags: --crate-type cdylib
// only-nvptx64
// ignore-nvptx64
//@ assembly-output: ptx-linker
//@ compile-flags: --crate-type cdylib
//@ only-nvptx64
//@ ignore-nvptx64
#![no_std]
// aux-build: breakpoint-panic-handler.rs
//@ aux-build: breakpoint-panic-handler.rs
extern crate breakpoint_panic_handler;
// Verify default target arch with ptx-linker.

View File

@ -1,7 +1,7 @@
// assembly-output: emit-asm
// compile-flags: --crate-type rlib
// only-nvptx64
// ignore-nvptx64
//@ assembly-output: emit-asm
//@ compile-flags: --crate-type rlib
//@ only-nvptx64
//@ ignore-nvptx64
#![no_std]

View File

@ -1,11 +1,11 @@
// assembly-output: ptx-linker
// compile-flags: --crate-type cdylib -C link-arg=--arch=sm_60
// only-nvptx64
// ignore-nvptx64
//@ assembly-output: ptx-linker
//@ compile-flags: --crate-type cdylib -C link-arg=--arch=sm_60
//@ only-nvptx64
//@ ignore-nvptx64
#![no_std]
// aux-build: breakpoint-panic-handler.rs
//@ aux-build: breakpoint-panic-handler.rs
extern crate breakpoint_panic_handler;
// Verify target arch override via `link-arg`.

View File

@ -1,11 +1,11 @@
// assembly-output: ptx-linker
// compile-flags: --crate-type cdylib -C target-cpu=sm_50
// only-nvptx64
// ignore-nvptx64
//@ assembly-output: ptx-linker
//@ compile-flags: --crate-type cdylib -C target-cpu=sm_50
//@ only-nvptx64
//@ ignore-nvptx64
#![no_std]
// aux-build: breakpoint-panic-handler.rs
//@ aux-build: breakpoint-panic-handler.rs
extern crate breakpoint_panic_handler;
// Verify target arch override via `target-cpu`.

View File

@ -1,14 +1,14 @@
// assembly-output: ptx-linker
// compile-flags: --crate-type cdylib
// only-nvptx64
// ignore-nvptx64
//@ assembly-output: ptx-linker
//@ compile-flags: --crate-type cdylib
//@ only-nvptx64
//@ ignore-nvptx64
#![feature(abi_ptx, core_intrinsics)]
#![no_std]
use core::intrinsics::*;
// aux-build: breakpoint-panic-handler.rs
//@ aux-build: breakpoint-panic-handler.rs
extern crate breakpoint_panic_handler;
// Currently, LLVM NVPTX backend can only emit atomic instructions with

View File

@ -1,15 +1,15 @@
// assembly-output: ptx-linker
// compile-flags: --crate-type cdylib
// only-nvptx64
// ignore-nvptx64
//@ assembly-output: ptx-linker
//@ compile-flags: --crate-type cdylib
//@ only-nvptx64
//@ ignore-nvptx64
#![feature(abi_ptx)]
#![no_std]
// aux-build: breakpoint-panic-handler.rs
//@ aux-build: breakpoint-panic-handler.rs
extern crate breakpoint_panic_handler;
// aux-build: non-inline-dependency.rs
//@ aux-build: non-inline-dependency.rs
extern crate non_inline_dependency as dep;
// Verify that no extra function declarations are present.

View File

@ -1,7 +1,7 @@
// assembly-output: ptx-linker
// compile-flags: --crate-type cdylib -C target-cpu=sm_86
// only-nvptx64
// ignore-nvptx64
//@ assembly-output: ptx-linker
//@ compile-flags: --crate-type cdylib -C target-cpu=sm_86
//@ only-nvptx64
//@ ignore-nvptx64
// The following ABI tests are made with nvcc 11.6 does.
//

View File

@ -1,16 +1,16 @@
// assembly-output: ptx-linker
// compile-flags: --crate-type bin
// only-nvptx64
// ignore-nvptx64
//@ assembly-output: ptx-linker
//@ compile-flags: --crate-type bin
//@ only-nvptx64
//@ ignore-nvptx64
#![feature(abi_ptx)]
#![no_main]
#![no_std]
// aux-build: breakpoint-panic-handler.rs
//@ aux-build: breakpoint-panic-handler.rs
extern crate breakpoint_panic_handler;
// aux-build: non-inline-dependency.rs
//@ aux-build: non-inline-dependency.rs
extern crate non_inline_dependency as dep;
// Make sure declarations are there.

View File

@ -1,15 +1,15 @@
// assembly-output: ptx-linker
// compile-flags: --crate-type cdylib
// only-nvptx64
// ignore-nvptx64
//@ assembly-output: ptx-linker
//@ compile-flags: --crate-type cdylib
//@ only-nvptx64
//@ ignore-nvptx64
#![feature(abi_ptx)]
#![no_std]
// aux-build: breakpoint-panic-handler.rs
//@ aux-build: breakpoint-panic-handler.rs
extern crate breakpoint_panic_handler;
// aux-build: non-inline-dependency.rs
//@ aux-build: non-inline-dependency.rs
extern crate non_inline_dependency as dep;
// Make sure declarations are there.

View File

@ -1,12 +1,12 @@
// assembly-output: ptx-linker
// compile-flags: --crate-type cdylib
// only-nvptx64
// ignore-nvptx64
//@ assembly-output: ptx-linker
//@ compile-flags: --crate-type cdylib
//@ only-nvptx64
//@ ignore-nvptx64
#![feature(abi_ptx)]
#![no_std]
// aux-build: breakpoint-panic-handler.rs
//@ aux-build: breakpoint-panic-handler.rs
extern crate breakpoint_panic_handler;
// Verify function name doesn't contain unacceaptable characters.

View File

@ -1,11 +1,11 @@
// revisions: WIN LIN
// [WIN] only-windows
// [LIN] only-linux
// assembly-output: emit-asm
// compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
// only-x86_64
// ignore-sgx
// ignore-debug
//@ revisions: WIN LIN
//@ [WIN] only-windows
//@ [LIN] only-linux
//@ assembly-output: emit-asm
//@ compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
//@ only-x86_64
//@ ignore-sgx
//@ ignore-debug
use std::cmp::Ordering;

View File

@ -1,6 +1,6 @@
// assembly-output: emit-asm
// only-x86_64-unknown-linux-gnu
// compile-flags: -C panic=unwind -C force-unwind-tables=n -O
//@ assembly-output: emit-asm
//@ only-x86_64-unknown-linux-gnu
//@ compile-flags: -C panic=unwind -C force-unwind-tables=n -O
#![crate_type = "lib"]

View File

@ -1,6 +1,6 @@
// assembly-output: emit-asm
// only-x86_64-unknown-linux-gnu
// compile-flags: -C panic=unwind -C force-unwind-tables=n
//@ assembly-output: emit-asm
//@ only-x86_64-unknown-linux-gnu
//@ compile-flags: -C panic=unwind -C force-unwind-tables=n
#![crate_type = "lib"]

View File

@ -1,7 +1,7 @@
// revisions: x64
// assembly-output: emit-asm
// [x64] compile-flags: --target x86_64-unknown-linux-gnu -Crelocation-model=pic
// [x64] needs-llvm-components: x86
//@ revisions: x64
//@ assembly-output: emit-asm
//@ [x64] compile-flags: --target x86_64-unknown-linux-gnu -Crelocation-model=pic
//@ [x64] needs-llvm-components: x86
#![feature(no_core, lang_items)]

View File

@ -1,7 +1,7 @@
// revisions: x64
// assembly-output: emit-asm
// [x64] compile-flags: --target x86_64-unknown-linux-gnu -Crelocation-model=pie
// [x64] needs-llvm-components: x86
//@ revisions: x64
//@ assembly-output: emit-asm
//@ [x64] compile-flags: --target x86_64-unknown-linux-gnu -Crelocation-model=pie
//@ [x64] needs-llvm-components: x86
#![feature(no_core, lang_items)]

View File

@ -1,11 +1,11 @@
// revisions: WIN LIN
// [WIN] only-windows
// [LIN] only-linux
// assembly-output: emit-asm
// compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
// only-x86_64
// ignore-sgx
// ignore-debug
//@ revisions: WIN LIN
//@ [WIN] only-windows
//@ [LIN] only-linux
//@ assembly-output: emit-asm
//@ compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
//@ only-x86_64
//@ ignore-sgx
//@ ignore-debug
#![feature(str_internals)]

View File

@ -2,9 +2,9 @@
// - float structure members are passes in floating point registers
// (#86163)
// assembly-output: emit-asm
// needs-llvm-components: sparc
// compile-flags: --target=sparcv9-sun-solaris -Copt-level=3
//@ assembly-output: emit-asm
//@ needs-llvm-components: sparc
//@ compile-flags: --target=sparcv9-sun-solaris -Copt-level=3
#![crate_type = "lib"]
#![feature(no_core, lang_items)]
#![no_core]

View File

@ -1,12 +1,12 @@
// revisions: x86_64 i686 aarch64
// assembly-output: emit-asm
//[x86_64] compile-flags: --target x86_64-unknown-linux-gnu -C llvm-args=-x86-asm-syntax=intel
//[x86_64] needs-llvm-components: x86
//[i686] compile-flags: --target i686-unknown-linux-gnu -C llvm-args=-x86-asm-syntax=intel
//[i686] needs-llvm-components: x86
//[aarch64] compile-flags: --target aarch64-unknown-linux-gnu
//[aarch64] needs-llvm-components: aarch64
//[aarch64] min-llvm-version: 18
//@ revisions: x86_64 i686 aarch64
//@ assembly-output: emit-asm
//@[x86_64] compile-flags: --target x86_64-unknown-linux-gnu -C llvm-args=-x86-asm-syntax=intel
//@[x86_64] needs-llvm-components: x86
//@[i686] compile-flags: --target i686-unknown-linux-gnu -C llvm-args=-x86-asm-syntax=intel
//@[i686] needs-llvm-components: x86
//@[aarch64] compile-flags: --target aarch64-unknown-linux-gnu
//@[aarch64] needs-llvm-components: aarch64
//@[aarch64] min-llvm-version: 18
#![feature(no_core, lang_items)]
#![crate_type = "lib"]

View File

@ -1,13 +1,13 @@
// revisions: all strong basic none missing
// assembly-output: emit-asm
// only-windows
// only-msvc
// ignore-64bit 64-bit table based SEH has slightly different behaviors than classic SEH
// [all] compile-flags: -Z stack-protector=all
// [strong] compile-flags: -Z stack-protector=strong
// [basic] compile-flags: -Z stack-protector=basic
// [none] compile-flags: -Z stack-protector=none
// compile-flags: -C opt-level=2 -Z merge-functions=disabled
//@ revisions: all strong basic none missing
//@ assembly-output: emit-asm
//@ only-windows
//@ only-msvc
//@ ignore-64bit 64-bit table based SEH has slightly different behaviors than classic SEH
//@ [all] compile-flags: -Z stack-protector=all
//@ [strong] compile-flags: -Z stack-protector=strong
//@ [basic] compile-flags: -Z stack-protector=basic
//@ [none] compile-flags: -Z stack-protector=none
//@ compile-flags: -C opt-level=2 -Z merge-functions=disabled
#![crate_type = "lib"]

View File

@ -1,13 +1,13 @@
// revisions: all strong basic none missing
// assembly-output: emit-asm
// only-windows
// only-msvc
// ignore-32bit 64-bit table based SEH has slightly different behaviors than classic SEH
// [all] compile-flags: -Z stack-protector=all
// [strong] compile-flags: -Z stack-protector=strong
// [basic] compile-flags: -Z stack-protector=basic
// [none] compile-flags: -Z stack-protector=none
// compile-flags: -C opt-level=2 -Z merge-functions=disabled
//@ revisions: all strong basic none missing
//@ assembly-output: emit-asm
//@ only-windows
//@ only-msvc
//@ ignore-32bit 64-bit table based SEH has slightly different behaviors than classic SEH
//@ [all] compile-flags: -Z stack-protector=all
//@ [strong] compile-flags: -Z stack-protector=strong
//@ [basic] compile-flags: -Z stack-protector=basic
//@ [none] compile-flags: -Z stack-protector=none
//@ compile-flags: -C opt-level=2 -Z merge-functions=disabled
#![crate_type = "lib"]

View File

@ -1,15 +1,15 @@
// revisions: all strong basic none missing
// assembly-output: emit-asm
// ignore-macos slightly different policy on stack protection of arrays
// ignore-msvc stack check code uses different function names
// ignore-nvptx64 stack protector is not supported
// ignore-wasm32-bare
// [all] compile-flags: -Z stack-protector=all
// [strong] compile-flags: -Z stack-protector=strong
// [basic] compile-flags: -Z stack-protector=basic
// [none] compile-flags: -Z stack-protector=none
// compile-flags: -C opt-level=2 -Z merge-functions=disabled
// min-llvm-version: 17.0.2
//@ revisions: all strong basic none missing
//@ assembly-output: emit-asm
//@ ignore-macos slightly different policy on stack protection of arrays
//@ ignore-msvc stack check code uses different function names
//@ ignore-nvptx64 stack protector is not supported
//@ ignore-wasm32-bare
//@ [all] compile-flags: -Z stack-protector=all
//@ [strong] compile-flags: -Z stack-protector=strong
//@ [basic] compile-flags: -Z stack-protector=basic
//@ [none] compile-flags: -Z stack-protector=none
//@ compile-flags: -C opt-level=2 -Z merge-functions=disabled
//@ min-llvm-version: 17.0.2
#![crate_type = "lib"]

View File

@ -1,182 +1,182 @@
// Test that stack smash protection code is emitted for all tier1 and tier2
// targets, with the exception of nvptx64-nvidia-cuda
//
// revisions: r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23
// revisions: r24 r25 r26 r27 r28 r29 r30 r31 r32 r33 r35 r36 r37 r38 r39 r40 r41 r42 r43 r44
// revisions: r45 r46 r47 r48 r49 r50 r51 r52 r53 r54 r55 r56 r57 r58 r59 r60 r61 r62 r63 r64 r65
// revisions: r66 r67 r68 r69 r70 r71 r72 r73 r74 r75 r76 r77 r78 r79 r80 r81 r82 r83 r84
// assembly-output: emit-asm
// [r1] compile-flags: --target aarch64-unknown-linux-gnu
// [r1] needs-llvm-components: aarch64
// [r2] compile-flags: --target i686-pc-windows-gnu
// [r2] needs-llvm-components: x86
// [r3] compile-flags: --target i686-pc-windows-msvc
// [r3] needs-llvm-components: x86
// [r4] compile-flags: --target i686-unknown-linux-gnu
// [r4] needs-llvm-components: x86
// [r5] compile-flags: --target x86_64-apple-darwin
// [r5] needs-llvm-components: x86
// [r6] compile-flags: --target x86_64-pc-windows-gnu
// [r6] needs-llvm-components: x86
// [r7] compile-flags: --target x86_64-pc-windows-msvc
// [r7] needs-llvm-components: x86
// [r8] compile-flags: --target x86_64-unknown-linux-gnu
// [r8] needs-llvm-components: x86
// [r9] compile-flags: --target aarch64-apple-darwin
// [r9] needs-llvm-components: aarch64
// [r10] compile-flags: --target aarch64-apple-ios
// [r10] needs-llvm-components: aarch64
// [r11] compile-flags: --target aarch64-unknown-fuchsia
// [r11] needs-llvm-components: aarch64
// [r12] compile-flags: --target aarch64-linux-android
// [r12] needs-llvm-components: aarch64
// [r13] compile-flags: --target aarch64-pc-windows-msvc
// [r13] needs-llvm-components: aarch64
// [r14] compile-flags: --target aarch64-unknown-linux-musl
// [r14] needs-llvm-components: aarch64
// [r15] compile-flags: --target aarch64-unknown-none
// [r15] needs-llvm-components: aarch64
// [r16] compile-flags: --target aarch64-unknown-none-softfloat
// [r16] needs-llvm-components: aarch64
// [r17] compile-flags: --target arm-linux-androideabi
// [r17] needs-llvm-components: arm
// [r18] compile-flags: --target arm-unknown-linux-gnueabi
// [r18] needs-llvm-components: arm
// [r19] compile-flags: --target arm-unknown-linux-gnueabihf
// [r19] needs-llvm-components: arm
// [r20] compile-flags: --target arm-unknown-linux-musleabi
// [r20] needs-llvm-components: arm
// [r21] compile-flags: --target arm-unknown-linux-musleabihf
// [r21] needs-llvm-components: arm
// [r22] compile-flags: --target armebv7r-none-eabi
// [r22] needs-llvm-components: arm
// [r23] compile-flags: --target armebv7r-none-eabihf
// [r23] needs-llvm-components: arm
// [r24] compile-flags: --target armv5te-unknown-linux-gnueabi
// [r24] needs-llvm-components: arm
// [r25] compile-flags: --target armv5te-unknown-linux-musleabi
// [r25] needs-llvm-components: arm
// [r26] compile-flags: --target armv7-linux-androideabi
// [r26] needs-llvm-components: arm
// [r27] compile-flags: --target armv7a-none-eabi
// [r27] needs-llvm-components: arm
// [r28] compile-flags: --target armv7r-none-eabi
// [r28] needs-llvm-components: arm
// [r29] compile-flags: --target armv7r-none-eabihf
// [r29] needs-llvm-components: arm
// [r30] compile-flags: --target armv7-unknown-linux-gnueabi
// [r30] needs-llvm-components: arm
// [r31] compile-flags: --target armv7-unknown-linux-gnueabihf
// [r31] needs-llvm-components: arm
// [r32] compile-flags: --target armv7-unknown-linux-musleabi
// [r32] needs-llvm-components: arm
// [r33] compile-flags: --target armv7-unknown-linux-musleabihf
// [r33] needs-llvm-components: arm
//@ revisions: r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23
//@ revisions: r24 r25 r26 r27 r28 r29 r30 r31 r32 r33 r35 r36 r37 r38 r39 r40 r41 r42 r43 r44
//@ revisions: r45 r46 r47 r48 r49 r50 r51 r52 r53 r54 r55 r56 r57 r58 r59 r60 r61 r62 r63 r64 r65
//@ revisions: r66 r67 r68 r69 r70 r71 r72 r73 r74 r75 r76 r77 r78 r79 r80 r81 r82 r83 r84 r85
//@ assembly-output: emit-asm
//@ [r1] compile-flags: --target aarch64-unknown-linux-gnu
//@ [r1] needs-llvm-components: aarch64
//@ [r2] compile-flags: --target i686-pc-windows-gnu
//@ [r2] needs-llvm-components: x86
//@ [r3] compile-flags: --target i686-pc-windows-msvc
//@ [r3] needs-llvm-components: x86
//@ [r4] compile-flags: --target i686-unknown-linux-gnu
//@ [r4] needs-llvm-components: x86
//@ [r5] compile-flags: --target x86_64-apple-darwin
//@ [r5] needs-llvm-components: x86
//@ [r6] compile-flags: --target x86_64-pc-windows-gnu
//@ [r6] needs-llvm-components: x86
//@ [r7] compile-flags: --target x86_64-pc-windows-msvc
//@ [r7] needs-llvm-components: x86
//@ [r8] compile-flags: --target x86_64-unknown-linux-gnu
//@ [r8] needs-llvm-components: x86
//@ [r9] compile-flags: --target aarch64-apple-darwin
//@ [r9] needs-llvm-components: aarch64
//@ [r10] compile-flags: --target aarch64-apple-ios
//@ [r10] needs-llvm-components: aarch64
//@ [r11] compile-flags: --target aarch64-unknown-fuchsia
//@ [r11] needs-llvm-components: aarch64
//@ [r12] compile-flags: --target aarch64-linux-android
//@ [r12] needs-llvm-components: aarch64
//@ [r13] compile-flags: --target aarch64-pc-windows-msvc
//@ [r13] needs-llvm-components: aarch64
//@ [r14] compile-flags: --target aarch64-unknown-linux-musl
//@ [r14] needs-llvm-components: aarch64
//@ [r15] compile-flags: --target aarch64-unknown-none
//@ [r15] needs-llvm-components: aarch64
//@ [r16] compile-flags: --target aarch64-unknown-none-softfloat
//@ [r16] needs-llvm-components: aarch64
//@ [r17] compile-flags: --target arm-linux-androideabi
//@ [r17] needs-llvm-components: arm
//@ [r18] compile-flags: --target arm-unknown-linux-gnueabi
//@ [r18] needs-llvm-components: arm
//@ [r19] compile-flags: --target arm-unknown-linux-gnueabihf
//@ [r19] needs-llvm-components: arm
//@ [r20] compile-flags: --target arm-unknown-linux-musleabi
//@ [r20] needs-llvm-components: arm
//@ [r21] compile-flags: --target arm-unknown-linux-musleabihf
//@ [r21] needs-llvm-components: arm
//@ [r22] compile-flags: --target armebv7r-none-eabi
//@ [r22] needs-llvm-components: arm
//@ [r23] compile-flags: --target armebv7r-none-eabihf
//@ [r23] needs-llvm-components: arm
//@ [r24] compile-flags: --target armv5te-unknown-linux-gnueabi
//@ [r24] needs-llvm-components: arm
//@ [r25] compile-flags: --target armv5te-unknown-linux-musleabi
//@ [r25] needs-llvm-components: arm
//@ [r26] compile-flags: --target armv7-linux-androideabi
//@ [r26] needs-llvm-components: arm
//@ [r27] compile-flags: --target armv7a-none-eabi
//@ [r27] needs-llvm-components: arm
//@ [r28] compile-flags: --target armv7r-none-eabi
//@ [r28] needs-llvm-components: arm
//@ [r29] compile-flags: --target armv7r-none-eabihf
//@ [r29] needs-llvm-components: arm
//@ [r30] compile-flags: --target armv7-unknown-linux-gnueabi
//@ [r30] needs-llvm-components: arm
//@ [r31] compile-flags: --target armv7-unknown-linux-gnueabihf
//@ [r31] needs-llvm-components: arm
//@ [r32] compile-flags: --target armv7-unknown-linux-musleabi
//@ [r32] needs-llvm-components: arm
//@ [r33] compile-flags: --target armv7-unknown-linux-musleabihf
//@ [r33] needs-llvm-components: arm
// [r35] compile-flags: --target i586-pc-windows-msvc
// [r35] needs-llvm-components: x86
// [r36] compile-flags: --target i586-unknown-linux-gnu
// [r36] needs-llvm-components: x86
// [r37] compile-flags: --target i586-unknown-linux-musl
// [r37] needs-llvm-components: x86
// [r38] compile-flags: --target i686-linux-android
// [r38] needs-llvm-components: x86
// [r39] compile-flags: --target i686-unknown-freebsd
// [r39] needs-llvm-components: x86
// [r40] compile-flags: --target i686-unknown-linux-musl
// [r40] needs-llvm-components: x86
// [r41] compile-flags: --target mips-unknown-linux-gnu
// [r41] needs-llvm-components: mips
// [r42] compile-flags: --target mips-unknown-linux-musl
// [r42] needs-llvm-components: mips
// [r43] compile-flags: --target mips64-unknown-linux-gnuabi64
// [r43] needs-llvm-components: mips
// [r44] compile-flags: --target mips64-unknown-linux-muslabi64
// [r44] needs-llvm-components: mips
// [r45] compile-flags: --target mips64el-unknown-linux-gnuabi64
// [r45] needs-llvm-components: mips
// [r46] compile-flags: --target mips64el-unknown-linux-muslabi64
// [r46] needs-llvm-components: mips
// [r47] compile-flags: --target mipsel-unknown-linux-gnu
// [r47] needs-llvm-components: mips
// [r48] compile-flags: --target mipsel-unknown-linux-musl
// [r48] needs-llvm-components: mips
// [r49] compile-flags: --target nvptx64-nvidia-cuda
// [r49] needs-llvm-components: nvptx
// [r50] compile-flags: --target powerpc-unknown-linux-gnu
// [r50] needs-llvm-components: powerpc
// [r51] compile-flags: --target powerpc64-unknown-linux-gnu
// [r51] needs-llvm-components: powerpc
// [r52] compile-flags: --target powerpc64le-unknown-linux-gnu
// [r52] needs-llvm-components: powerpc
// [r53] compile-flags: --target riscv32i-unknown-none-elf
// [r53] needs-llvm-components: riscv
// [r54] compile-flags: --target riscv32imac-unknown-none-elf
// [r54] needs-llvm-components: riscv
// [r55] compile-flags:--target riscv32imc-unknown-none-elf
// [r55] needs-llvm-components: riscv
// [r56] compile-flags:--target riscv64gc-unknown-linux-gnu
// [r56] needs-llvm-components: riscv
// [r57] compile-flags:--target riscv64gc-unknown-none-elf
// [r57] needs-llvm-components: riscv
// [r58] compile-flags:--target riscv64imac-unknown-none-elf
// [r58] needs-llvm-components: riscv
// [r59] compile-flags:--target s390x-unknown-linux-gnu
// [r59] needs-llvm-components: systemz
// [r60] compile-flags:--target sparc64-unknown-linux-gnu
// [r60] needs-llvm-components: sparc
// [r61] compile-flags:--target sparcv9-sun-solaris
// [r61] needs-llvm-components: sparc
// [r62] compile-flags:--target thumbv6m-none-eabi
// [r62] needs-llvm-components: arm
// [r63] compile-flags:--target thumbv7em-none-eabi
// [r63] needs-llvm-components: arm
// [r64] compile-flags:--target thumbv7em-none-eabihf
// [r64] needs-llvm-components: arm
// [r65] compile-flags:--target thumbv7m-none-eabi
// [r65] needs-llvm-components: arm
// [r66] compile-flags:--target thumbv7neon-linux-androideabi
// [r66] needs-llvm-components: arm
// [r67] compile-flags:--target thumbv7neon-unknown-linux-gnueabihf
// [r67] needs-llvm-components: arm
// [r68] compile-flags:--target thumbv8m.base-none-eabi
// [r68] needs-llvm-components: arm
// [r69] compile-flags:--target thumbv8m.main-none-eabi
// [r69] needs-llvm-components: arm
// [r70] compile-flags:--target thumbv8m.main-none-eabihf
// [r70] needs-llvm-components: arm
// [r71] compile-flags:--target wasm32-unknown-emscripten
// [r71] needs-llvm-components: webassembly
// [r72] compile-flags:--target wasm32-unknown-unknown
// [r72] needs-llvm-components: webassembly
// [r73] compile-flags:--target wasm32-wasi
// [r73] needs-llvm-components: webassembly
// [r74] compile-flags:--target wasm32-wasi-preview1-threads
// [r74] needs-llvm-components: webassembly
// [r75] compile-flags:--target x86_64-apple-ios
// [r75] needs-llvm-components: x86
// [r76] compile-flags:--target x86_64-fortanix-unknown-sgx
// [r76] needs-llvm-components: x86
// [r77] compile-flags:--target x86_64-unknown-fuchsia
// [r77] needs-llvm-components: x86
// [r78] compile-flags:--target x86_64-linux-android
// [r78] needs-llvm-components: x86
// [r79] compile-flags:--target x86_64-pc-solaris
// [r79] needs-llvm-components: x86
// [r80] compile-flags:--target x86_64-unknown-freebsd
// [r80] needs-llvm-components: x86
// [r81] compile-flags:--target x86_64-unknown-illumos
// [r81] needs-llvm-components: x86
// [r82] compile-flags:--target x86_64-unknown-linux-gnux32
// [r82] needs-llvm-components: x86
// [r83] compile-flags:--target x86_64-unknown-linux-musl
// [r83] needs-llvm-components: x86
// [r84] compile-flags:--target x86_64-unknown-netbsd
// [r84] needs-llvm-components: x86
// [r85] compile-flags: --target x86_64-unknown-redox
// [r85] needs-llvm-components: x86
// compile-flags: -Z stack-protector=all
// compile-flags: -C opt-level=2
//@ [r35] compile-flags: --target i586-pc-windows-msvc
//@ [r35] needs-llvm-components: x86
//@ [r36] compile-flags: --target i586-unknown-linux-gnu
//@ [r36] needs-llvm-components: x86
//@ [r37] compile-flags: --target i586-unknown-linux-musl
//@ [r37] needs-llvm-components: x86
//@ [r38] compile-flags: --target i686-linux-android
//@ [r38] needs-llvm-components: x86
//@ [r39] compile-flags: --target i686-unknown-freebsd
//@ [r39] needs-llvm-components: x86
//@ [r40] compile-flags: --target i686-unknown-linux-musl
//@ [r40] needs-llvm-components: x86
//@ [r41] compile-flags: --target mips-unknown-linux-gnu
//@ [r41] needs-llvm-components: mips
//@ [r42] compile-flags: --target mips-unknown-linux-musl
//@ [r42] needs-llvm-components: mips
//@ [r43] compile-flags: --target mips64-unknown-linux-gnuabi64
//@ [r43] needs-llvm-components: mips
//@ [r44] compile-flags: --target mips64-unknown-linux-muslabi64
//@ [r44] needs-llvm-components: mips
//@ [r45] compile-flags: --target mips64el-unknown-linux-gnuabi64
//@ [r45] needs-llvm-components: mips
//@ [r46] compile-flags: --target mips64el-unknown-linux-muslabi64
//@ [r46] needs-llvm-components: mips
//@ [r47] compile-flags: --target mipsel-unknown-linux-gnu
//@ [r47] needs-llvm-components: mips
//@ [r48] compile-flags: --target mipsel-unknown-linux-musl
//@ [r48] needs-llvm-components: mips
//@ [r49] compile-flags: --target nvptx64-nvidia-cuda
//@ [r49] needs-llvm-components: nvptx
//@ [r50] compile-flags: --target powerpc-unknown-linux-gnu
//@ [r50] needs-llvm-components: powerpc
//@ [r51] compile-flags: --target powerpc64-unknown-linux-gnu
//@ [r51] needs-llvm-components: powerpc
//@ [r52] compile-flags: --target powerpc64le-unknown-linux-gnu
//@ [r52] needs-llvm-components: powerpc
//@ [r53] compile-flags: --target riscv32i-unknown-none-elf
//@ [r53] needs-llvm-components: riscv
//@ [r54] compile-flags: --target riscv32imac-unknown-none-elf
//@ [r54] needs-llvm-components: riscv
//@ [r55] compile-flags:--target riscv32imc-unknown-none-elf
//@ [r55] needs-llvm-components: riscv
//@ [r56] compile-flags:--target riscv64gc-unknown-linux-gnu
//@ [r56] needs-llvm-components: riscv
//@ [r57] compile-flags:--target riscv64gc-unknown-none-elf
//@ [r57] needs-llvm-components: riscv
//@ [r58] compile-flags:--target riscv64imac-unknown-none-elf
//@ [r58] needs-llvm-components: riscv
//@ [r59] compile-flags:--target s390x-unknown-linux-gnu
//@ [r59] needs-llvm-components: systemz
//@ [r60] compile-flags:--target sparc64-unknown-linux-gnu
//@ [r60] needs-llvm-components: sparc
//@ [r61] compile-flags:--target sparcv9-sun-solaris
//@ [r61] needs-llvm-components: sparc
//@ [r62] compile-flags:--target thumbv6m-none-eabi
//@ [r62] needs-llvm-components: arm
//@ [r63] compile-flags:--target thumbv7em-none-eabi
//@ [r63] needs-llvm-components: arm
//@ [r64] compile-flags:--target thumbv7em-none-eabihf
//@ [r64] needs-llvm-components: arm
//@ [r65] compile-flags:--target thumbv7m-none-eabi
//@ [r65] needs-llvm-components: arm
//@ [r66] compile-flags:--target thumbv7neon-linux-androideabi
//@ [r66] needs-llvm-components: arm
//@ [r67] compile-flags:--target thumbv7neon-unknown-linux-gnueabihf
//@ [r67] needs-llvm-components: arm
//@ [r68] compile-flags:--target thumbv8m.base-none-eabi
//@ [r68] needs-llvm-components: arm
//@ [r69] compile-flags:--target thumbv8m.main-none-eabi
//@ [r69] needs-llvm-components: arm
//@ [r70] compile-flags:--target thumbv8m.main-none-eabihf
//@ [r70] needs-llvm-components: arm
//@ [r71] compile-flags:--target wasm32-unknown-emscripten
//@ [r71] needs-llvm-components: webassembly
//@ [r72] compile-flags:--target wasm32-unknown-unknown
//@ [r72] needs-llvm-components: webassembly
//@ [r73] compile-flags:--target wasm32-wasi
//@ [r73] needs-llvm-components: webassembly
//@ [r74] compile-flags:--target wasm32-wasi-preview1-threads
//@ [r74] needs-llvm-components: webassembly
//@ [r75] compile-flags:--target x86_64-apple-ios
//@ [r75] needs-llvm-components: x86
//@ [r76] compile-flags:--target x86_64-fortanix-unknown-sgx
//@ [r76] needs-llvm-components: x86
//@ [r77] compile-flags:--target x86_64-unknown-fuchsia
//@ [r77] needs-llvm-components: x86
//@ [r78] compile-flags:--target x86_64-linux-android
//@ [r78] needs-llvm-components: x86
//@ [r79] compile-flags:--target x86_64-pc-solaris
//@ [r79] needs-llvm-components: x86
//@ [r80] compile-flags:--target x86_64-unknown-freebsd
//@ [r80] needs-llvm-components: x86
//@ [r81] compile-flags:--target x86_64-unknown-illumos
//@ [r81] needs-llvm-components: x86
//@ [r82] compile-flags:--target x86_64-unknown-linux-gnux32
//@ [r82] needs-llvm-components: x86
//@ [r83] compile-flags:--target x86_64-unknown-linux-musl
//@ [r83] needs-llvm-components: x86
//@ [r84] compile-flags:--target x86_64-unknown-netbsd
//@ [r84] needs-llvm-components: x86
//@ [r85] compile-flags: --target x86_64-unknown-redox
//@ [r85] needs-llvm-components: x86
//@ compile-flags: -Z stack-protector=all
//@ compile-flags: -C opt-level=2
#![crate_type = "lib"]
@ -283,4 +283,5 @@ pub fn foo() {
// r82: __stack_chk_fail
// r83: __stack_chk_fail
// r84: __stack_chk_fail
// r85: __stack_chk_fail
}

View File

@ -1,12 +1,12 @@
// revisions: x64 A64 ppc64le
// assembly-output: emit-asm
// [x64] compile-flags: --target x86_64-unknown-linux-gnu -Crelocation-model=static
// [x64] needs-llvm-components: x86
// [A64] compile-flags: --target aarch64-unknown-linux-gnu -Crelocation-model=static
// [A64] needs-llvm-components: aarch64
// [ppc64le] compile-flags: --target powerpc64le-unknown-linux-gnu -Crelocation-model=static
// [ppc64le] needs-llvm-components: powerpc
// ignore-debug: alignment checks insert panics that we don't have a lang item for
//@ revisions: x64 A64 ppc64le
//@ assembly-output: emit-asm
//@ [x64] compile-flags: --target x86_64-unknown-linux-gnu -Crelocation-model=static
//@ [x64] needs-llvm-components: x86
//@ [A64] compile-flags: --target aarch64-unknown-linux-gnu -Crelocation-model=static
//@ [A64] needs-llvm-components: aarch64
//@ [ppc64le] compile-flags: --target powerpc64le-unknown-linux-gnu -Crelocation-model=static
//@ [ppc64le] needs-llvm-components: powerpc
//@ ignore-debug: alignment checks insert panics that we don't have a lang item for
#![feature(no_core, lang_items)]
#![no_core]

View File

@ -1,7 +1,7 @@
// assembly-output: emit-asm
// compile-flags: -Copt-level=1
// only-x86_64
// ignore-sgx
//@ assembly-output: emit-asm
//@ compile-flags: -Copt-level=1
//@ only-x86_64
//@ ignore-sgx
#![crate_type = "rlib"]
// CHECK-LABEL: old_style

View File

@ -1,9 +1,9 @@
// assembly-output: emit-asm
// needs-llvm-components: x86
// revisions: TWOFLAGS SINGLEFLAG
// compile-flags: --target=x86_64-unknown-linux-gnu
// [TWOFLAGS] compile-flags: -C target-feature=+rdrnd -C target-feature=+rdseed
// [SINGLEFLAG] compile-flags: -C target-feature=+rdrnd,+rdseed
//@ assembly-output: emit-asm
//@ needs-llvm-components: x86
//@ revisions: TWOFLAGS SINGLEFLAG
//@ compile-flags: --target=x86_64-unknown-linux-gnu
//@ [TWOFLAGS] compile-flags: -C target-feature=+rdrnd -C target-feature=+rdseed
//@ [SINGLEFLAG] compile-flags: -C target-feature=+rdrnd,+rdseed
// Target features set via flags aren't necessarily reflected in the IR, so the only way to test
// them is to build code that requires the features to be enabled to work.

File diff suppressed because it is too large Load Diff

View File

@ -1,68 +1,68 @@
// assembly-output: emit-asm
//@ assembly-output: emit-asm
// ignore-tidy-linelength
// revisions: aarch64_apple_darwin
// [aarch64_apple_darwin] compile-flags: --target aarch64-apple-darwin
// [aarch64_apple_darwin] needs-llvm-components: aarch64
// revisions: aarch64_apple_ios
// [aarch64_apple_ios] compile-flags: --target aarch64-apple-ios
// [aarch64_apple_ios] needs-llvm-components: aarch64
// revisions: aarch64_apple_ios_macabi
// [aarch64_apple_ios_macabi] compile-flags: --target aarch64-apple-ios-macabi
// [aarch64_apple_ios_macabi] needs-llvm-components: aarch64
// revisions: aarch64_apple_ios_sim
// [aarch64_apple_ios_sim] compile-flags: --target aarch64-apple-ios-sim
// [aarch64_apple_ios_sim] needs-llvm-components: aarch64
// revisions: aarch64_apple_tvos
// [aarch64_apple_tvos] compile-flags: --target aarch64-apple-tvos
// [aarch64_apple_tvos] needs-llvm-components: aarch64
// revisions: aarch64_apple_tvos_sim
// [aarch64_apple_tvos_sim] compile-flags: --target aarch64-apple-tvos-sim
// [aarch64_apple_tvos_sim] needs-llvm-components: aarch64
// revisions: aarch64_apple_watchos
// [aarch64_apple_watchos] compile-flags: --target aarch64-apple-watchos
// [aarch64_apple_watchos] needs-llvm-components: aarch64
// revisions: aarch64_apple_watchos_sim
// [aarch64_apple_watchos_sim] compile-flags: --target aarch64-apple-watchos-sim
// [aarch64_apple_watchos_sim] needs-llvm-components: aarch64
// revisions: arm64_32_apple_watchos
// [arm64_32_apple_watchos] compile-flags: --target arm64_32-apple-watchos
// [arm64_32_apple_watchos] needs-llvm-components: aarch64
// revisions: arm64e_apple_darwin
// [arm64e_apple_darwin] compile-flags: --target arm64e-apple-darwin
// [arm64e_apple_darwin] needs-llvm-components: aarch64
// revisions: arm64e_apple_ios
// [arm64e_apple_ios] compile-flags: --target arm64e-apple-ios
// [arm64e_apple_ios] needs-llvm-components: aarch64
// revisions: armv7k_apple_watchos
// [armv7k_apple_watchos] compile-flags: --target armv7k-apple-watchos
// [armv7k_apple_watchos] needs-llvm-components: arm
// revisions: armv7s_apple_ios
// [armv7s_apple_ios] compile-flags: --target armv7s-apple-ios
// [armv7s_apple_ios] needs-llvm-components: arm
// revisions: i386_apple_ios
// [i386_apple_ios] compile-flags: --target i386-apple-ios
// [i386_apple_ios] needs-llvm-components: x86
// revisions: i686_apple_darwin
// [i686_apple_darwin] compile-flags: --target i686-apple-darwin
// [i686_apple_darwin] needs-llvm-components: x86
// revisions: x86_64_apple_darwin
// [x86_64_apple_darwin] compile-flags: --target x86_64-apple-darwin
// [x86_64_apple_darwin] needs-llvm-components: x86
// revisions: x86_64_apple_ios
// [x86_64_apple_ios] compile-flags: --target x86_64-apple-ios
// [x86_64_apple_ios] needs-llvm-components: x86
// revisions: x86_64_apple_ios_macabi
// [x86_64_apple_ios_macabi] compile-flags: --target x86_64-apple-ios-macabi
// [x86_64_apple_ios_macabi] needs-llvm-components: x86
// revisions: x86_64_apple_tvos
// [x86_64_apple_tvos] compile-flags: --target x86_64-apple-tvos
// [x86_64_apple_tvos] needs-llvm-components: x86
// revisions: x86_64_apple_watchos_sim
// [x86_64_apple_watchos_sim] compile-flags: --target x86_64-apple-watchos-sim
// [x86_64_apple_watchos_sim] needs-llvm-components: x86
// revisions: x86_64h_apple_darwin
// [x86_64h_apple_darwin] compile-flags: --target x86_64h-apple-darwin
// [x86_64h_apple_darwin] needs-llvm-components: x86
//@ revisions: aarch64_apple_darwin
//@ [aarch64_apple_darwin] compile-flags: --target aarch64-apple-darwin
//@ [aarch64_apple_darwin] needs-llvm-components: aarch64
//@ revisions: aarch64_apple_ios
//@ [aarch64_apple_ios] compile-flags: --target aarch64-apple-ios
//@ [aarch64_apple_ios] needs-llvm-components: aarch64
//@ revisions: aarch64_apple_ios_macabi
//@ [aarch64_apple_ios_macabi] compile-flags: --target aarch64-apple-ios-macabi
//@ [aarch64_apple_ios_macabi] needs-llvm-components: aarch64
//@ revisions: aarch64_apple_ios_sim
//@ [aarch64_apple_ios_sim] compile-flags: --target aarch64-apple-ios-sim
//@ [aarch64_apple_ios_sim] needs-llvm-components: aarch64
//@ revisions: aarch64_apple_tvos
//@ [aarch64_apple_tvos] compile-flags: --target aarch64-apple-tvos
//@ [aarch64_apple_tvos] needs-llvm-components: aarch64
//@ revisions: aarch64_apple_tvos_sim
//@ [aarch64_apple_tvos_sim] compile-flags: --target aarch64-apple-tvos-sim
//@ [aarch64_apple_tvos_sim] needs-llvm-components: aarch64
//@ revisions: aarch64_apple_watchos
//@ [aarch64_apple_watchos] compile-flags: --target aarch64-apple-watchos
//@ [aarch64_apple_watchos] needs-llvm-components: aarch64
//@ revisions: aarch64_apple_watchos_sim
//@ [aarch64_apple_watchos_sim] compile-flags: --target aarch64-apple-watchos-sim
//@ [aarch64_apple_watchos_sim] needs-llvm-components: aarch64
//@ revisions: arm64_32_apple_watchos
//@ [arm64_32_apple_watchos] compile-flags: --target arm64_32-apple-watchos
//@ [arm64_32_apple_watchos] needs-llvm-components: aarch64
//@ revisions: arm64e_apple_darwin
//@ [arm64e_apple_darwin] compile-flags: --target arm64e-apple-darwin
//@ [arm64e_apple_darwin] needs-llvm-components: aarch64
//@ revisions: arm64e_apple_ios
//@ [arm64e_apple_ios] compile-flags: --target arm64e-apple-ios
//@ [arm64e_apple_ios] needs-llvm-components: aarch64
//@ revisions: armv7k_apple_watchos
//@ [armv7k_apple_watchos] compile-flags: --target armv7k-apple-watchos
//@ [armv7k_apple_watchos] needs-llvm-components: arm
//@ revisions: armv7s_apple_ios
//@ [armv7s_apple_ios] compile-flags: --target armv7s-apple-ios
//@ [armv7s_apple_ios] needs-llvm-components: arm
//@ revisions: i386_apple_ios
//@ [i386_apple_ios] compile-flags: --target i386-apple-ios
//@ [i386_apple_ios] needs-llvm-components: x86
//@ revisions: i686_apple_darwin
//@ [i686_apple_darwin] compile-flags: --target i686-apple-darwin
//@ [i686_apple_darwin] needs-llvm-components: x86
//@ revisions: x86_64_apple_darwin
//@ [x86_64_apple_darwin] compile-flags: --target x86_64-apple-darwin
//@ [x86_64_apple_darwin] needs-llvm-components: x86
//@ revisions: x86_64_apple_ios
//@ [x86_64_apple_ios] compile-flags: --target x86_64-apple-ios
//@ [x86_64_apple_ios] needs-llvm-components: x86
//@ revisions: x86_64_apple_ios_macabi
//@ [x86_64_apple_ios_macabi] compile-flags: --target x86_64-apple-ios-macabi
//@ [x86_64_apple_ios_macabi] needs-llvm-components: x86
//@ revisions: x86_64_apple_tvos
//@ [x86_64_apple_tvos] compile-flags: --target x86_64-apple-tvos
//@ [x86_64_apple_tvos] needs-llvm-components: x86
//@ revisions: x86_64_apple_watchos_sim
//@ [x86_64_apple_watchos_sim] compile-flags: --target x86_64-apple-watchos-sim
//@ [x86_64_apple_watchos_sim] needs-llvm-components: x86
//@ revisions: x86_64h_apple_darwin
//@ [x86_64h_apple_darwin] compile-flags: --target x86_64h-apple-darwin
//@ [x86_64h_apple_darwin] needs-llvm-components: x86
// Sanity-check that each target can produce assembly code.

View File

@ -1,8 +1,8 @@
// assembly-output: emit-asm
//@ assembly-output: emit-asm
// ignore-tidy-linelength
// revisions: nvptx64_nvidia_cuda
// [nvptx64_nvidia_cuda] compile-flags: --target nvptx64-nvidia-cuda
// [nvptx64_nvidia_cuda] needs-llvm-components: nvptx
//@ revisions: nvptx64_nvidia_cuda
//@ [nvptx64_nvidia_cuda] compile-flags: --target nvptx64-nvidia-cuda
//@ [nvptx64_nvidia_cuda] needs-llvm-components: nvptx
// Sanity-check that each target can produce assembly code.

View File

@ -1,80 +1,80 @@
// assembly-output: emit-asm
//@ assembly-output: emit-asm
// ignore-tidy-linelength
// revisions: aarch64_pc_windows_msvc
// [aarch64_pc_windows_msvc] compile-flags: --target aarch64-pc-windows-msvc
// [aarch64_pc_windows_msvc] needs-llvm-components: aarch64
// revisions: aarch64_pc_windows_gnullvm
// [aarch64_pc_windows_gnullvm] compile-flags: --target aarch64-pc-windows-gnullvm
// [aarch64_pc_windows_gnullvm] needs-llvm-components: aarch64
// revisions: aarch64_unknown_uefi
// [aarch64_unknown_uefi] compile-flags: --target aarch64-unknown-uefi
// [aarch64_unknown_uefi] needs-llvm-components: aarch64
// revisions: aarch64_uwp_windows_msvc
// [aarch64_uwp_windows_msvc] compile-flags: --target aarch64-uwp-windows-msvc
// [aarch64_uwp_windows_msvc] needs-llvm-components: aarch64
// revisions: avr_unknown_gnu_atmega328
// [avr_unknown_gnu_atmega328] compile-flags: --target avr-unknown-gnu-atmega328
// [avr_unknown_gnu_atmega328] needs-llvm-components: avr
// revisions: bpfeb_unknown_none
// [bpfeb_unknown_none] compile-flags: --target bpfeb-unknown-none
// [bpfeb_unknown_none] needs-llvm-components: bpf
// revisions: bpfel_unknown_none
// [bpfel_unknown_none] compile-flags: --target bpfel-unknown-none
// [bpfel_unknown_none] needs-llvm-components: bpf
// revisions: i586_pc_windows_msvc
// [i586_pc_windows_msvc] compile-flags: --target i586-pc-windows-msvc
// [i586_pc_windows_msvc] needs-llvm-components: x86
// revisions: i686_pc_windows_gnu
// [i686_pc_windows_gnu] compile-flags: --target i686-pc-windows-gnu
// [i686_pc_windows_gnu] needs-llvm-components: x86
// revisions: i686_pc_windows_msvc
// [i686_pc_windows_msvc] compile-flags: --target i686-pc-windows-msvc
// [i686_pc_windows_msvc] needs-llvm-components: x86
// revisions: i686_pc_windows_gnullvm
// [i686_pc_windows_gnullvm] compile-flags: --target i686-pc-windows-gnullvm
// [i686_pc_windows_gnullvm] needs-llvm-components: x86
// revisions: i686_uwp_windows_gnu
// [i686_uwp_windows_gnu] compile-flags: --target i686-uwp-windows-gnu
// [i686_uwp_windows_gnu] needs-llvm-components: x86
// revisions: i686_unknown_uefi
// [i686_unknown_uefi] compile-flags: --target i686-unknown-uefi
// [i686_unknown_uefi] needs-llvm-components: x86
// revisions: i686_uwp_windows_msvc
// [i686_uwp_windows_msvc] compile-flags: --target i686-uwp-windows-msvc
// [i686_uwp_windows_msvc] needs-llvm-components: x86
// revisions: i686_win7_windows_msvc
// [i686_win7_windows_msvc] compile-flags: --target i686-win7-windows-msvc
// [i686_win7_windows_msvc] needs-llvm-components: x86
// revisions: powerpc64_ibm_aix
// [powerpc64_ibm_aix] compile-flags: --target powerpc64-ibm-aix
// [powerpc64_ibm_aix] needs-llvm-components: powerpc
// revisions: thumbv7a_uwp_windows_msvc
// [thumbv7a_uwp_windows_msvc] compile-flags: --target thumbv7a-uwp-windows-msvc
// [thumbv7a_uwp_windows_msvc] needs-llvm-components: arm
// revisions: thumbv7a_pc_windows_msvc
// [thumbv7a_pc_windows_msvc] compile-flags: --target thumbv7a-pc-windows-msvc
// [thumbv7a_pc_windows_msvc] needs-llvm-components: arm
// revisions: x86_64_pc_windows_gnu
// [x86_64_pc_windows_gnu] compile-flags: --target x86_64-pc-windows-gnu
// [x86_64_pc_windows_gnu] needs-llvm-components: x86
// revisions: x86_64_pc_windows_gnullvm
// [x86_64_pc_windows_gnullvm] compile-flags: --target x86_64-pc-windows-gnullvm
// [x86_64_pc_windows_gnullvm] needs-llvm-components: x86
// revisions: x86_64_pc_windows_msvc
// [x86_64_pc_windows_msvc] compile-flags: --target x86_64-pc-windows-msvc
// [x86_64_pc_windows_msvc] needs-llvm-components: x86
// revisions: x86_64_unknown_uefi
// [x86_64_unknown_uefi] compile-flags: --target x86_64-unknown-uefi
// [x86_64_unknown_uefi] needs-llvm-components: x86
// revisions: x86_64_uwp_windows_gnu
// [x86_64_uwp_windows_gnu] compile-flags: --target x86_64-uwp-windows-gnu
// [x86_64_uwp_windows_gnu] needs-llvm-components: x86
// revisions: x86_64_uwp_windows_msvc
// [x86_64_uwp_windows_msvc] compile-flags: --target x86_64-uwp-windows-msvc
// [x86_64_uwp_windows_msvc] needs-llvm-components: x86
// revisions: x86_64_win7_windows_msvc
// [x86_64_win7_windows_msvc] compile-flags: --target x86_64-win7-windows-msvc
// [x86_64_win7_windows_msvc] needs-llvm-components: x86
//@ revisions: aarch64_pc_windows_msvc
//@ [aarch64_pc_windows_msvc] compile-flags: --target aarch64-pc-windows-msvc
//@ [aarch64_pc_windows_msvc] needs-llvm-components: aarch64
//@ revisions: aarch64_pc_windows_gnullvm
//@ [aarch64_pc_windows_gnullvm] compile-flags: --target aarch64-pc-windows-gnullvm
//@ [aarch64_pc_windows_gnullvm] needs-llvm-components: aarch64
//@ revisions: aarch64_unknown_uefi
//@ [aarch64_unknown_uefi] compile-flags: --target aarch64-unknown-uefi
//@ [aarch64_unknown_uefi] needs-llvm-components: aarch64
//@ revisions: aarch64_uwp_windows_msvc
//@ [aarch64_uwp_windows_msvc] compile-flags: --target aarch64-uwp-windows-msvc
//@ [aarch64_uwp_windows_msvc] needs-llvm-components: aarch64
//@ revisions: avr_unknown_gnu_atmega328
//@ [avr_unknown_gnu_atmega328] compile-flags: --target avr-unknown-gnu-atmega328
//@ [avr_unknown_gnu_atmega328] needs-llvm-components: avr
//@ revisions: bpfeb_unknown_none
//@ [bpfeb_unknown_none] compile-flags: --target bpfeb-unknown-none
//@ [bpfeb_unknown_none] needs-llvm-components: bpf
//@ revisions: bpfel_unknown_none
//@ [bpfel_unknown_none] compile-flags: --target bpfel-unknown-none
//@ [bpfel_unknown_none] needs-llvm-components: bpf
//@ revisions: i586_pc_windows_msvc
//@ [i586_pc_windows_msvc] compile-flags: --target i586-pc-windows-msvc
//@ [i586_pc_windows_msvc] needs-llvm-components: x86
//@ revisions: i686_pc_windows_gnu
//@ [i686_pc_windows_gnu] compile-flags: --target i686-pc-windows-gnu
//@ [i686_pc_windows_gnu] needs-llvm-components: x86
//@ revisions: i686_pc_windows_msvc
//@ [i686_pc_windows_msvc] compile-flags: --target i686-pc-windows-msvc
//@ [i686_pc_windows_msvc] needs-llvm-components: x86
//@ revisions: i686_pc_windows_gnullvm
//@ [i686_pc_windows_gnullvm] compile-flags: --target i686-pc-windows-gnullvm
//@ [i686_pc_windows_gnullvm] needs-llvm-components: x86
//@ revisions: i686_uwp_windows_gnu
//@ [i686_uwp_windows_gnu] compile-flags: --target i686-uwp-windows-gnu
//@ [i686_uwp_windows_gnu] needs-llvm-components: x86
//@ revisions: i686_unknown_uefi
//@ [i686_unknown_uefi] compile-flags: --target i686-unknown-uefi
//@ [i686_unknown_uefi] needs-llvm-components: x86
//@ revisions: i686_uwp_windows_msvc
//@ [i686_uwp_windows_msvc] compile-flags: --target i686-uwp-windows-msvc
//@ [i686_uwp_windows_msvc] needs-llvm-components: x86
//@ revisions: i686_win7_windows_msvc
//@ [i686_win7_windows_msvc] compile-flags: --target i686-win7-windows-msvc
//@ [i686_win7_windows_msvc] needs-llvm-components: x86
//@ revisions: powerpc64_ibm_aix
//@ [powerpc64_ibm_aix] compile-flags: --target powerpc64-ibm-aix
//@ [powerpc64_ibm_aix] needs-llvm-components: powerpc
//@ revisions: thumbv7a_uwp_windows_msvc
//@ [thumbv7a_uwp_windows_msvc] compile-flags: --target thumbv7a-uwp-windows-msvc
//@ [thumbv7a_uwp_windows_msvc] needs-llvm-components: arm
//@ revisions: thumbv7a_pc_windows_msvc
//@ [thumbv7a_pc_windows_msvc] compile-flags: --target thumbv7a-pc-windows-msvc
//@ [thumbv7a_pc_windows_msvc] needs-llvm-components: arm
//@ revisions: x86_64_pc_windows_gnu
//@ [x86_64_pc_windows_gnu] compile-flags: --target x86_64-pc-windows-gnu
//@ [x86_64_pc_windows_gnu] needs-llvm-components: x86
//@ revisions: x86_64_pc_windows_gnullvm
//@ [x86_64_pc_windows_gnullvm] compile-flags: --target x86_64-pc-windows-gnullvm
//@ [x86_64_pc_windows_gnullvm] needs-llvm-components: x86
//@ revisions: x86_64_pc_windows_msvc
//@ [x86_64_pc_windows_msvc] compile-flags: --target x86_64-pc-windows-msvc
//@ [x86_64_pc_windows_msvc] needs-llvm-components: x86
//@ revisions: x86_64_unknown_uefi
//@ [x86_64_unknown_uefi] compile-flags: --target x86_64-unknown-uefi
//@ [x86_64_unknown_uefi] needs-llvm-components: x86
//@ revisions: x86_64_uwp_windows_gnu
//@ [x86_64_uwp_windows_gnu] compile-flags: --target x86_64-uwp-windows-gnu
//@ [x86_64_uwp_windows_gnu] needs-llvm-components: x86
//@ revisions: x86_64_uwp_windows_msvc
//@ [x86_64_uwp_windows_msvc] compile-flags: --target x86_64-uwp-windows-msvc
//@ [x86_64_uwp_windows_msvc] needs-llvm-components: x86
//@ revisions: x86_64_win7_windows_msvc
//@ [x86_64_win7_windows_msvc] compile-flags: --target x86_64-win7-windows-msvc
//@ [x86_64_win7_windows_msvc] needs-llvm-components: x86
// Sanity-check that each target can produce assembly code.

View File

@ -1,6 +1,6 @@
// compile-flags: -O -C lto=thin -C prefer-dynamic=no
// only-x86_64-unknown-linux-gnu
// assembly-output: emit-asm
//@ compile-flags: -O -C lto=thin -C prefer-dynamic=no
//@ only-x86_64-unknown-linux-gnu
//@ assembly-output: emit-asm
// CHECK: main

View File

@ -1,8 +1,8 @@
// only-wasm32-bare
// assembly-output: emit-asm
// compile-flags: -C target-feature=+exception-handling
// compile-flags: -C panic=unwind
// compile-flags: -C llvm-args=-wasm-enable-eh
//@ only-wasm32-bare
//@ assembly-output: emit-asm
//@ compile-flags: -C target-feature=+exception-handling
//@ compile-flags: -C panic=unwind
//@ compile-flags: -C llvm-args=-wasm-enable-eh
#![crate_type = "lib"]
#![feature(core_intrinsics)]

View File

@ -1,8 +1,8 @@
// assembly-output: emit-asm
// compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
// only-x86_64
// ignore-sgx
// ignore-macos (manipulates rsp too)
//@ assembly-output: emit-asm
//@ compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
//@ only-x86_64
//@ ignore-sgx
//@ ignore-macos (manipulates rsp too)
// Depending on various codegen choices, this might end up copying
// a `<2 x i8>`, an `i16`, or two `i8`s.

View File

@ -1,10 +1,10 @@
// Floating-point clamp is designed to be implementable as max+min,
// so check to make sure that's what it's actually emitting.
// assembly-output: emit-asm
// compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
// only-x86_64
// ignore-sgx
//@ assembly-output: emit-asm
//@ compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
//@ only-x86_64
//@ ignore-sgx
// CHECK-LABEL: clamp_demo:
#[no_mangle]

View File

@ -1,8 +1,8 @@
// Test LVI load hardening on SGX enclave code
// assembly-output: emit-asm
// compile-flags: --crate-type staticlib
// only-x86_64-fortanix-unknown-sgx
//@ assembly-output: emit-asm
//@ compile-flags: --crate-type staticlib
//@ only-x86_64-fortanix-unknown-sgx
#[no_mangle]
pub extern fn plus_one(r: &mut u64) {

View File

@ -1,8 +1,8 @@
// Test LVI ret hardening on generic rust code
// assembly-output: emit-asm
// compile-flags: --crate-type staticlib
// only-x86_64-fortanix-unknown-sgx
//@ assembly-output: emit-asm
//@ compile-flags: --crate-type staticlib
//@ only-x86_64-fortanix-unknown-sgx
#[no_mangle]
pub extern fn myret() {}

View File

@ -1,8 +1,8 @@
// Test LVI load hardening on SGX inline assembly code
// assembly-output: emit-asm
// compile-flags: --crate-type staticlib
// only-x86_64-fortanix-unknown-sgx
//@ assembly-output: emit-asm
//@ compile-flags: --crate-type staticlib
//@ only-x86_64-fortanix-unknown-sgx
use std::arch::asm;

View File

@ -1,16 +1,16 @@
// Test that the function return is (not) converted into a jump to the thunk
// when the `-Zfunction-return={keep,thunk-extern}` flag is (not) set.
// revisions: unset keep thunk-extern keep-thunk-extern thunk-extern-keep
// assembly-output: emit-asm
// compile-flags: -O
// [keep] compile-flags: -Zfunction-return=keep
// [thunk-extern] compile-flags: -Zfunction-return=thunk-extern
// [keep-thunk-extern] compile-flags: -Zfunction-return=keep -Zfunction-return=thunk-extern
// [thunk-extern-keep] compile-flags: -Zfunction-return=thunk-extern -Zfunction-return=keep
// only-x86_64
// ignore-x86_64-apple-darwin Symbol is called `___x86_return_thunk` (Darwin's extra underscore)
// ignore-sgx Tests incompatible with LVI mitigations
//@ revisions: unset keep thunk-extern keep-thunk-extern thunk-extern-keep
//@ assembly-output: emit-asm
//@ compile-flags: -O
//@ [keep] compile-flags: -Zfunction-return=keep
//@ [thunk-extern] compile-flags: -Zfunction-return=thunk-extern
//@ [keep-thunk-extern] compile-flags: -Zfunction-return=keep -Zfunction-return=thunk-extern
//@ [thunk-extern-keep] compile-flags: -Zfunction-return=thunk-extern -Zfunction-return=keep
//@ only-x86_64
//@ ignore-x86_64-apple-darwin Symbol is called `___x86_return_thunk` (Darwin's extra underscore)
//@ ignore-sgx Tests incompatible with LVI mitigations
#![crate_type = "lib"]

View File

@ -1,7 +1,7 @@
// compile-flags: -C no-prepopulate-passes -Zcf-protection=full
// assembly-output: emit-asm
// needs-asm-support
// only-x86_64
//@ compile-flags: -C no-prepopulate-passes -Zcf-protection=full
//@ assembly-output: emit-asm
//@ needs-asm-support
//@ only-x86_64
#![crate_type = "lib"]
#![feature(naked_functions)]

View File

@ -1,12 +1,12 @@
// Test that jump tables are (not) emitted when the `-Zno-jump-tables`
// flag is (not) set.
// revisions: unset set
// assembly-output: emit-asm
// compile-flags: -O
// [set] compile-flags: -Zno-jump-tables
// only-x86_64
// ignore-sgx
//@ revisions: unset set
//@ assembly-output: emit-asm
//@ compile-flags: -O
//@ [set] compile-flags: -Zno-jump-tables
//@ only-x86_64
//@ ignore-sgx
#![crate_type = "lib"]

View File

@ -1,6 +1,6 @@
// only-x86_64
// assembly-output: emit-asm
// compile-flags: --crate-type staticlib -Ctarget-feature=+sse4.2
//@ only-x86_64
//@ assembly-output: emit-asm
//@ compile-flags: --crate-type staticlib -Ctarget-feature=+sse4.2
// CHECK-LABEL: banana
// CHECK: crc32

View File

@ -1,5 +1,5 @@
// needs-asm-support
// compile-flags: -Ccodegen-units=1 -Zprint-mono-items=lazy --crate-type=lib
//@ needs-asm-support
//@ compile-flags: -Ccodegen-units=1 -Zprint-mono-items=lazy --crate-type=lib
#[inline(always)]
pub unsafe fn f() {

View File

@ -1,4 +1,4 @@
// compile-flags: -Copt-level=0
//@ compile-flags: -Copt-level=0
#![crate_type = "lib"]

View File

@ -1,14 +1,14 @@
// In the current version of the collector that still has to support
// legacy-codegen, closures do not generate their own MonoItems, so we are
// ignoring this test until MIR codegen has taken over completely
// ignore-test
//@ ignore-test
// compile-flags:-Zprint-mono-items=eager
//@ compile-flags:-Zprint-mono-items=eager
#![deny(dead_code)]
#![feature(start)]
// aux-build:cgu_extern_closures.rs
//@ aux-build:cgu_extern_closures.rs
extern crate cgu_extern_closures;
//~ MONO_ITEM fn cross_crate_closures::start[0]

View File

@ -1,9 +1,9 @@
// compile-flags:-Zprint-mono-items=eager
//@ compile-flags:-Zprint-mono-items=eager
#![deny(dead_code)]
#![feature(start)]
// aux-build:cgu_generic_function.rs
//@ aux-build:cgu_generic_function.rs
extern crate cgu_generic_function;
//~ MONO_ITEM fn start

View File

@ -1,9 +1,9 @@
// compile-flags:-Zprint-mono-items=eager -Zinline-mir=no -Copt-level=0
//@ compile-flags:-Zprint-mono-items=eager -Zinline-mir=no -Copt-level=0
#![deny(dead_code)]
#![feature(start)]
// aux-build:cgu_export_trait_method.rs
//@ aux-build:cgu_export_trait_method.rs
extern crate cgu_export_trait_method;
use cgu_export_trait_method::Trait;

View File

@ -1,6 +1,6 @@
//
// compile-flags:-Zprint-mono-items=eager
// compile-flags:-Zinline-in-all-cgus
//@ compile-flags:-Zprint-mono-items=eager
//@ compile-flags:-Zinline-in-all-cgus
#![feature(start)]

View File

@ -1,4 +1,4 @@
// compile-flags:-Zprint-mono-items=eager -Zinline-mir=no
//@ compile-flags:-Zprint-mono-items=eager -Zinline-mir=no
#![deny(dead_code)]
#![feature(start)]

View File

@ -1,6 +1,6 @@
//
// compile-flags:-Zprint-mono-items=eager
// compile-flags:-Zinline-in-all-cgus
//@ compile-flags:-Zprint-mono-items=eager
//@ compile-flags:-Zinline-in-all-cgus
#![deny(dead_code)]
#![feature(start)]

View File

@ -1,4 +1,4 @@
// compile-flags:-Zprint-mono-items=eager -Zinline-mir=no
//@ compile-flags:-Zprint-mono-items=eager -Zinline-mir=no
#![deny(dead_code)]
#![feature(start)]

View File

@ -1,4 +1,4 @@
// compile-flags:-Zprint-mono-items=eager -Zinline-mir=no
//@ compile-flags:-Zprint-mono-items=eager -Zinline-mir=no
#![deny(dead_code)]
#![feature(start)]

View File

@ -1,4 +1,4 @@
// compile-flags:-Zprint-mono-items=eager
//@ compile-flags:-Zprint-mono-items=eager
#![deny(dead_code)]
#![feature(start)]

View File

@ -1,4 +1,4 @@
// compile-flags:-Zprint-mono-items=lazy
//@ compile-flags:-Zprint-mono-items=lazy
// rust-lang/rust#90405
// Ensure implicit panic calls are collected

View File

@ -1,5 +1,5 @@
//
// compile-flags:-Zprint-mono-items=eager -Zinline-in-all-cgus -Zmir-opt-level=0
//@ compile-flags:-Zprint-mono-items=eager -Zinline-in-all-cgus -Zmir-opt-level=0
#![deny(dead_code)]
#![feature(start)]

View File

@ -1,4 +1,4 @@
// compile-flags:-Zprint-mono-items=eager -Copt-level=0
//@ compile-flags:-Zprint-mono-items=eager -Copt-level=0
#![deny(dead_code)]
#![feature(start)]

View File

@ -1,10 +1,10 @@
// In the current version of the collector that still has to support
// legacy-codegen, closures do not generate their own MonoItems, so we are
// ignoring this test until MIR codegen has taken over completely
// ignore-test
//@ ignore-test
//
// compile-flags:-Zprint-mono-items=eager
//@ compile-flags:-Zprint-mono-items=eager
#![deny(dead_code)]
#![feature(start)]

View File

@ -1,6 +1,6 @@
//
// compile-flags:-Zprint-mono-items=eager
// compile-flags:-Zinline-in-all-cgus
//@ compile-flags:-Zprint-mono-items=eager
//@ compile-flags:-Zinline-in-all-cgus
#![deny(dead_code)]
#![feature(start)]

View File

@ -1,4 +1,4 @@
// compile-flags:-Zprint-mono-items=eager
//@ compile-flags:-Zprint-mono-items=eager
#![deny(dead_code)]
#![feature(start)]

View File

@ -1,4 +1,4 @@
// compile-flags:-Zprint-mono-items=eager
//@ compile-flags:-Zprint-mono-items=eager
#![deny(dead_code)]
#![crate_type="lib"]

View File

@ -1,4 +1,4 @@
// compile-flags:-Zprint-mono-items=eager -Zpolymorphize=on
//@ compile-flags:-Zprint-mono-items=eager -Zpolymorphize=on
#![feature(start)]

View File

@ -1,4 +1,4 @@
// compile-flags:-Zprint-mono-items=eager
//@ compile-flags:-Zprint-mono-items=eager
#![deny(dead_code)]
#![feature(start)]

View File

@ -1,4 +1,4 @@
// compile-flags:-Zprint-mono-items=eager -Zinline-mir=no
//@ compile-flags:-Zprint-mono-items=eager -Zinline-mir=no
#![deny(dead_code)]
#![feature(start)]

View File

@ -1,4 +1,4 @@
// compile-flags:-Zprint-mono-items=eager -Zinline-mir=no
//@ compile-flags:-Zprint-mono-items=eager -Zinline-mir=no
#![deny(dead_code)]
#![feature(start)]

View File

@ -1,4 +1,4 @@
// compile-flags:-Zprint-mono-items=eager -Zpolymorphize=on -Zinline-mir=no
//@ compile-flags:-Zprint-mono-items=eager -Zpolymorphize=on -Zinline-mir=no
#![deny(dead_code)]
#![feature(start)]

Some files were not shown because too many files have changed in this diff Show More