mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 00:03:43 +00:00
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:
commit
f62f490fd4
@ -673,14 +673,17 @@ pub fn line_directive<'line>(
|
|||||||
/// names. This is **not** an exhaustive list of all possible directives. Instead, this is a
|
/// names. This is **not** an exhaustive list of all possible directives. Instead, this is a
|
||||||
/// best-effort approximation for diagnostics.
|
/// best-effort approximation for diagnostics.
|
||||||
const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
|
const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
|
||||||
|
"assembly-output",
|
||||||
"aux-build",
|
"aux-build",
|
||||||
"aux-crate",
|
"aux-crate",
|
||||||
|
"build-aux-docs",
|
||||||
"build-fail",
|
"build-fail",
|
||||||
"build-pass",
|
"build-pass",
|
||||||
"check-fail",
|
"check-fail",
|
||||||
"check-pass",
|
"check-pass",
|
||||||
"check-run-results",
|
"check-run-results",
|
||||||
"check-stdout",
|
"check-stdout",
|
||||||
|
"check-test-line-numbers-match",
|
||||||
"compile-flags",
|
"compile-flags",
|
||||||
"dont-check-compiler-stderr",
|
"dont-check-compiler-stderr",
|
||||||
"dont-check-compiler-stdout",
|
"dont-check-compiler-stdout",
|
||||||
@ -691,12 +694,16 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
|
|||||||
"failure-status",
|
"failure-status",
|
||||||
"forbid-output",
|
"forbid-output",
|
||||||
"force-host",
|
"force-host",
|
||||||
|
"ignore-16bit",
|
||||||
"ignore-32bit",
|
"ignore-32bit",
|
||||||
"ignore-64bit",
|
"ignore-64bit",
|
||||||
"ignore-aarch64",
|
"ignore-aarch64",
|
||||||
"ignore-aarch64-unknown-linux-gnu",
|
"ignore-aarch64-unknown-linux-gnu",
|
||||||
"ignore-android",
|
"ignore-android",
|
||||||
"ignore-arm",
|
"ignore-arm",
|
||||||
|
"ignore-avr",
|
||||||
|
"ignore-beta",
|
||||||
|
"ignore-cdb",
|
||||||
"ignore-compare-mode-next-solver",
|
"ignore-compare-mode-next-solver",
|
||||||
"ignore-compare-mode-polonius",
|
"ignore-compare-mode-polonius",
|
||||||
"ignore-cross-compile",
|
"ignore-cross-compile",
|
||||||
@ -705,13 +712,21 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
|
|||||||
"ignore-endian-big",
|
"ignore-endian-big",
|
||||||
"ignore-freebsd",
|
"ignore-freebsd",
|
||||||
"ignore-fuchsia",
|
"ignore-fuchsia",
|
||||||
|
"ignore-gdb",
|
||||||
|
"ignore-gdb-version",
|
||||||
"ignore-gnu",
|
"ignore-gnu",
|
||||||
"ignore-haiku",
|
"ignore-haiku",
|
||||||
"ignore-horizon",
|
"ignore-horizon",
|
||||||
"ignore-i686-pc-windows-msvc",
|
"ignore-i686-pc-windows-msvc",
|
||||||
"ignore-ios",
|
"ignore-ios",
|
||||||
|
"ignore-linux",
|
||||||
|
"ignore-lldb",
|
||||||
"ignore-llvm-version",
|
"ignore-llvm-version",
|
||||||
|
"ignore-loongarch64",
|
||||||
"ignore-macos",
|
"ignore-macos",
|
||||||
|
"ignore-mode-coverage-map",
|
||||||
|
"ignore-mode-coverage-run",
|
||||||
|
"ignore-msp430",
|
||||||
"ignore-msvc",
|
"ignore-msvc",
|
||||||
"ignore-musl",
|
"ignore-musl",
|
||||||
"ignore-netbsd",
|
"ignore-netbsd",
|
||||||
@ -720,8 +735,13 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
|
|||||||
"ignore-nvptx64",
|
"ignore-nvptx64",
|
||||||
"ignore-openbsd",
|
"ignore-openbsd",
|
||||||
"ignore-pass",
|
"ignore-pass",
|
||||||
|
"ignore-remote",
|
||||||
|
"ignore-riscv64",
|
||||||
|
"ignore-s390x",
|
||||||
"ignore-sgx",
|
"ignore-sgx",
|
||||||
"ignore-spirv",
|
"ignore-spirv",
|
||||||
|
"ignore-stable",
|
||||||
|
"ignore-stage1",
|
||||||
"ignore-test",
|
"ignore-test",
|
||||||
"ignore-thumbv8m.base-none-eabi",
|
"ignore-thumbv8m.base-none-eabi",
|
||||||
"ignore-thumbv8m.main-none-eabi",
|
"ignore-thumbv8m.main-none-eabi",
|
||||||
@ -731,9 +751,15 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
|
|||||||
"ignore-wasm32",
|
"ignore-wasm32",
|
||||||
"ignore-wasm32-bare",
|
"ignore-wasm32-bare",
|
||||||
"ignore-windows",
|
"ignore-windows",
|
||||||
|
"ignore-windows-gnu",
|
||||||
"ignore-x86",
|
"ignore-x86",
|
||||||
|
"ignore-x86_64-apple-darwin",
|
||||||
"incremental",
|
"incremental",
|
||||||
"known-bug",
|
"known-bug",
|
||||||
|
"llvm-cov-flags",
|
||||||
|
"min-cdb-version",
|
||||||
|
"min-gdb-version",
|
||||||
|
"min-lldb-version",
|
||||||
"min-llvm-version",
|
"min-llvm-version",
|
||||||
"needs-asm-support",
|
"needs-asm-support",
|
||||||
"needs-dlltool",
|
"needs-dlltool",
|
||||||
@ -742,11 +768,15 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
|
|||||||
"needs-profiler-support",
|
"needs-profiler-support",
|
||||||
"needs-relocation-model-pic",
|
"needs-relocation-model-pic",
|
||||||
"needs-run-enabled",
|
"needs-run-enabled",
|
||||||
|
"needs-rust-lldb",
|
||||||
"needs-sanitizer-address",
|
"needs-sanitizer-address",
|
||||||
"needs-sanitizer-cfi",
|
"needs-sanitizer-cfi",
|
||||||
"needs-sanitizer-hwaddress",
|
"needs-sanitizer-hwaddress",
|
||||||
"needs-sanitizer-leak",
|
"needs-sanitizer-leak",
|
||||||
"needs-sanitizer-memory",
|
"needs-sanitizer-memory",
|
||||||
|
"needs-sanitizer-memtag",
|
||||||
|
"needs-sanitizer-safestack",
|
||||||
|
"needs-sanitizer-shadow-call-stack",
|
||||||
"needs-sanitizer-support",
|
"needs-sanitizer-support",
|
||||||
"needs-sanitizer-thread",
|
"needs-sanitizer-thread",
|
||||||
"needs-unwind",
|
"needs-unwind",
|
||||||
@ -756,23 +786,42 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
|
|||||||
"normalize-stderr-64bit",
|
"normalize-stderr-64bit",
|
||||||
"normalize-stderr-test",
|
"normalize-stderr-test",
|
||||||
"normalize-stdout-test",
|
"normalize-stdout-test",
|
||||||
|
"only-16bit",
|
||||||
"only-32bit",
|
"only-32bit",
|
||||||
"only-64bit",
|
"only-64bit",
|
||||||
"only-aarch64",
|
"only-aarch64",
|
||||||
|
"only-arm",
|
||||||
|
"only-avr",
|
||||||
|
"only-bpf",
|
||||||
|
"only-cdb",
|
||||||
"only-gnu",
|
"only-gnu",
|
||||||
"only-i686-pc-windows-msvc",
|
"only-i686-pc-windows-msvc",
|
||||||
"only-linux",
|
"only-linux",
|
||||||
|
"only-loongarch64",
|
||||||
|
"only-loongarch64-unknown-linux-gnu",
|
||||||
"only-macos",
|
"only-macos",
|
||||||
|
"only-mips",
|
||||||
|
"only-mips64",
|
||||||
|
"only-msp430",
|
||||||
"only-msvc",
|
"only-msvc",
|
||||||
"only-nightly",
|
"only-nightly",
|
||||||
|
"only-nvptx64",
|
||||||
|
"only-riscv64",
|
||||||
|
"only-sparc",
|
||||||
|
"only-sparc64",
|
||||||
|
"only-thumb",
|
||||||
"only-wasm32",
|
"only-wasm32",
|
||||||
|
"only-wasm32-bare",
|
||||||
"only-windows",
|
"only-windows",
|
||||||
"only-x86",
|
"only-x86",
|
||||||
"only-x86_64",
|
"only-x86_64",
|
||||||
|
"only-x86_64-fortanix-unknown-sgx",
|
||||||
"only-x86_64-pc-windows-msvc",
|
"only-x86_64-pc-windows-msvc",
|
||||||
"only-x86_64-unknown-linux-gnu",
|
"only-x86_64-unknown-linux-gnu",
|
||||||
"pp-exact",
|
"pp-exact",
|
||||||
|
"pretty-compare-only",
|
||||||
"pretty-expanded",
|
"pretty-expanded",
|
||||||
|
"pretty-mode",
|
||||||
"regex-error-pattern",
|
"regex-error-pattern",
|
||||||
"remap-src-base",
|
"remap-src-base",
|
||||||
"revisions",
|
"revisions",
|
||||||
@ -783,7 +832,10 @@ const DIAGNOSTICS_DIRECTIVE_NAMES: &[&str] = &[
|
|||||||
"rustc-env",
|
"rustc-env",
|
||||||
"rustfix-only-machine-applicable",
|
"rustfix-only-machine-applicable",
|
||||||
"should-fail",
|
"should-fail",
|
||||||
|
"should-ice",
|
||||||
"stderr-per-bitwidth",
|
"stderr-per-bitwidth",
|
||||||
|
"unit-test",
|
||||||
|
"unset-exec-env",
|
||||||
"unset-rustc-env",
|
"unset-rustc-env",
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -817,7 +869,7 @@ struct HeaderLine<'ln> {
|
|||||||
|
|
||||||
fn iter_header(
|
fn iter_header(
|
||||||
mode: Mode,
|
mode: Mode,
|
||||||
suite: &str,
|
_suite: &str,
|
||||||
poisoned: &mut bool,
|
poisoned: &mut bool,
|
||||||
testfile: &Path,
|
testfile: &Path,
|
||||||
rdr: impl Read,
|
rdr: impl Read,
|
||||||
@ -848,11 +900,7 @@ fn iter_header(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let comment = if testfile.extension().is_some_and(|e| e == "rs") {
|
let comment = if testfile.extension().is_some_and(|e| e == "rs") { "//@" } else { "#" };
|
||||||
if mode == Mode::Ui && suite == "ui" { "//@" } else { "//" }
|
|
||||||
} else {
|
|
||||||
"#"
|
|
||||||
};
|
|
||||||
|
|
||||||
let mut rdr = BufReader::with_capacity(1024, rdr);
|
let mut rdr = BufReader::with_capacity(1024, rdr);
|
||||||
let mut ln = String::new();
|
let mut ln = String::new();
|
||||||
@ -879,7 +927,7 @@ fn iter_header(
|
|||||||
// First try to accept `ui_test` style comments
|
// First try to accept `ui_test` style comments
|
||||||
} else if let Some((header_revision, directive)) = line_directive(comment, ln) {
|
} else if let Some((header_revision, directive)) = line_directive(comment, ln) {
|
||||||
it(HeaderLine { line_number, original_line, header_revision, directive });
|
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 {
|
let Some((_, rest)) = line_directive("//", ln) else {
|
||||||
continue;
|
continue;
|
||||||
};
|
};
|
||||||
@ -899,7 +947,7 @@ fn iter_header(
|
|||||||
// directive. We emit an error here to warn the user.
|
// directive. We emit an error here to warn the user.
|
||||||
*poisoned = true;
|
*poisoned = true;
|
||||||
eprintln!(
|
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(),
|
testfile.display(),
|
||||||
line_number,
|
line_number,
|
||||||
line_directive("//", ln),
|
line_directive("//", ln),
|
||||||
@ -912,7 +960,7 @@ fn iter_header(
|
|||||||
// directive. We emit an error here to warn the user.
|
// directive. We emit an error here to warn the user.
|
||||||
*poisoned = true;
|
*poisoned = true;
|
||||||
eprintln!(
|
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(),
|
testfile.display(),
|
||||||
line_number,
|
line_number,
|
||||||
line_directive("//", ln),
|
line_directive("//", ln),
|
||||||
@ -1213,11 +1261,8 @@ pub fn make_test_description<R: Read>(
|
|||||||
|
|
||||||
if let Some((_, post)) = original_line.trim_start().split_once("//") {
|
if let Some((_, post)) = original_line.trim_start().split_once("//") {
|
||||||
let post = post.trim_start();
|
let post = post.trim_start();
|
||||||
if post.starts_with("ignore-tidy")
|
if post.starts_with("ignore-tidy") {
|
||||||
&& config.mode == Mode::Ui
|
// Not handled by compiletest.
|
||||||
&& config.suite == "ui"
|
|
||||||
{
|
|
||||||
// not handled by compiletest under the ui test mode and ui test suite.
|
|
||||||
} else {
|
} else {
|
||||||
decision!(cfg::handle_ignore(config, ln));
|
decision!(cfg::handle_ignore(config, ln));
|
||||||
}
|
}
|
||||||
|
@ -578,12 +578,7 @@ fn ignore_mode() {
|
|||||||
assert_eq!(config.mode, Mode::from_str(mode).unwrap());
|
assert_eq!(config.mode, Mode::from_str(mode).unwrap());
|
||||||
assert_ne!(config.mode, Mode::from_str(other).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-{mode}")));
|
assert!(!check_ignore(&config, &format!("//@ ignore-mode-{other}")));
|
||||||
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}")));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3938,15 +3938,10 @@ impl<'test> TestCx<'test> {
|
|||||||
self.props.compare_output_lines_by_subset,
|
self.props.compare_output_lines_by_subset,
|
||||||
);
|
);
|
||||||
} else if !expected_fixed.is_empty() {
|
} else if !expected_fixed.is_empty() {
|
||||||
if self.config.suite == "ui" {
|
panic!(
|
||||||
panic!(
|
"the `//@ run-rustfix` directive wasn't found but a `*.fixed` \
|
||||||
"the `//@ run-rustfix` directive wasn't found but a `*.fixed` file was found"
|
file was found"
|
||||||
);
|
);
|
||||||
} else {
|
|
||||||
panic!(
|
|
||||||
"the `// run-rustfix` directive wasn't found but a `*.fixed` file was found"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if errors > 0 {
|
if errors > 0 {
|
||||||
|
@ -7,7 +7,7 @@ use std::{collections::HashSet, path::Path};
|
|||||||
|
|
||||||
const TARGET_DEFINITIONS_PATH: &str = "compiler/rustc_target/src/spec/targets/";
|
const TARGET_DEFINITIONS_PATH: &str = "compiler/rustc_target/src/spec/targets/";
|
||||||
const ASSEMBLY_TEST_PATH: &str = "tests/assembly/targets/";
|
const ASSEMBLY_TEST_PATH: &str = "tests/assembly/targets/";
|
||||||
const REVISION_LINE_START: &str = "// revisions: ";
|
const REVISION_LINE_START: &str = "//@ revisions: ";
|
||||||
const EXCEPTIONS: &[&str] = &[
|
const EXCEPTIONS: &[&str] = &[
|
||||||
// FIXME: disabled since it fails on CI saying the csky component is missing
|
// FIXME: disabled since it fails on CI saying the csky component is missing
|
||||||
"csky_unknown_linux_gnuabiv2",
|
"csky_unknown_linux_gnuabiv2",
|
||||||
|
@ -6,7 +6,7 @@ use std::path::Path;
|
|||||||
|
|
||||||
use crate::walk::filter_not_rust;
|
use crate::walk::filter_not_rust;
|
||||||
|
|
||||||
const COMMENT: &str = "//";
|
const COMMENT: &str = "//@";
|
||||||
const LLVM_COMPONENTS_HEADER: &str = "needs-llvm-components:";
|
const LLVM_COMPONENTS_HEADER: &str = "needs-llvm-components:";
|
||||||
const COMPILE_FLAGS_HEADER: &str = "compile-flags:";
|
const COMPILE_FLAGS_HEADER: &str = "compile-flags:";
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// compile-flags: -C no-prepopulate-passes -Zbranch-protection=bti
|
//@ compile-flags: -C no-prepopulate-passes -Zbranch-protection=bti
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// needs-asm-support
|
//@ needs-asm-support
|
||||||
// only-aarch64
|
//@ only-aarch64
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
#![feature(naked_functions)]
|
#![feature(naked_functions)]
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
// Test that PAC instructions are emitted when branch-protection is specified.
|
// Test that PAC instructions are emitted when branch-protection is specified.
|
||||||
|
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --target aarch64-unknown-linux-gnu
|
//@ compile-flags: --target aarch64-unknown-linux-gnu
|
||||||
// compile-flags: -Z branch-protection=pac-ret,leaf
|
//@ compile-flags: -Z branch-protection=pac-ret,leaf
|
||||||
// needs-llvm-components: aarch64
|
//@ needs-llvm-components: aarch64
|
||||||
|
|
||||||
#![feature(no_core, lang_items)]
|
#![feature(no_core, lang_items)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: -Copt-level=1
|
//@ compile-flags: -Copt-level=1
|
||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
#![crate_type="rlib"]
|
#![crate_type="rlib"]
|
||||||
|
|
||||||
// CHECK-LABEL: align_offset_byte_ptr
|
// CHECK-LABEL: align_offset_byte_ptr
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --target aarch64-unknown-linux-gnu
|
//@ compile-flags: --target aarch64-unknown-linux-gnu
|
||||||
// needs-llvm-components: aarch64
|
//@ needs-llvm-components: aarch64
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs)]
|
#![feature(no_core, lang_items, rustc_attrs)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: -O
|
//@ compile-flags: -O
|
||||||
// compile-flags: --target aarch64-unknown-linux-gnu
|
//@ compile-flags: --target aarch64-unknown-linux-gnu
|
||||||
// needs-llvm-components: aarch64
|
//@ needs-llvm-components: aarch64
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs)]
|
#![feature(no_core, lang_items, rustc_attrs)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: -O
|
//@ compile-flags: -O
|
||||||
// compile-flags: --target aarch64-unknown-linux-gnu
|
//@ compile-flags: --target aarch64-unknown-linux-gnu
|
||||||
// needs-llvm-components: aarch64
|
//@ needs-llvm-components: aarch64
|
||||||
// only-aarch64
|
//@ only-aarch64
|
||||||
// only-linux
|
//@ only-linux
|
||||||
|
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --target aarch64-unknown-linux-gnu
|
//@ compile-flags: --target aarch64-unknown-linux-gnu
|
||||||
// needs-llvm-components: aarch64
|
//@ needs-llvm-components: aarch64
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, repr_simd)]
|
#![feature(no_core, lang_items, rustc_attrs, repr_simd)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: -O
|
//@ compile-flags: -O
|
||||||
// compile-flags: --target armv7-unknown-linux-gnueabihf
|
//@ compile-flags: --target armv7-unknown-linux-gnueabihf
|
||||||
// compile-flags: -C target-feature=+neon
|
//@ compile-flags: -C target-feature=+neon
|
||||||
// needs-llvm-components: arm
|
//@ needs-llvm-components: arm
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, repr_simd)]
|
#![feature(no_core, lang_items, rustc_attrs, repr_simd)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --target armv7-unknown-linux-gnueabihf
|
//@ compile-flags: --target armv7-unknown-linux-gnueabihf
|
||||||
// compile-flags: -C target-feature=+neon
|
//@ compile-flags: -C target-feature=+neon
|
||||||
// compile-flags: -C opt-level=0
|
//@ compile-flags: -C opt-level=0
|
||||||
// needs-llvm-components: arm
|
//@ needs-llvm-components: arm
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, repr_simd)]
|
#![feature(no_core, lang_items, rustc_attrs, repr_simd)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --target avr-unknown-gnu-atmega328
|
//@ compile-flags: --target avr-unknown-gnu-atmega328
|
||||||
// needs-llvm-components: avr
|
//@ needs-llvm-components: avr
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
|
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --target avr-unknown-gnu-atmega328
|
//@ compile-flags: --target avr-unknown-gnu-atmega328
|
||||||
// needs-llvm-components: avr
|
//@ needs-llvm-components: avr
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
|
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --target bpfel-unknown-none -C target_feature=+alu32
|
//@ compile-flags: --target bpfel-unknown-none -C target_feature=+alu32
|
||||||
// needs-llvm-components: bpf
|
//@ needs-llvm-components: bpf
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
|
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
// only-linux
|
//@ only-linux
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: -C llvm-args=--x86-asm-syntax=intel
|
//@ compile-flags: -C llvm-args=--x86-asm-syntax=intel
|
||||||
// compile-flags: -C symbol-mangling-version=v0
|
//@ compile-flags: -C symbol-mangling-version=v0
|
||||||
|
|
||||||
#![feature(asm_const)]
|
#![feature(asm_const)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --target hexagon-unknown-linux-musl
|
//@ compile-flags: --target hexagon-unknown-linux-musl
|
||||||
// needs-llvm-components: hexagon
|
//@ needs-llvm-components: hexagon
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
|
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --crate-type=lib
|
//@ compile-flags: --crate-type=lib
|
||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
// ignore-sgx
|
//@ ignore-sgx
|
||||||
|
|
||||||
#![feature(portable_simd)]
|
#![feature(portable_simd)]
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --target loongarch64-unknown-linux-gnu
|
//@ compile-flags: --target loongarch64-unknown-linux-gnu
|
||||||
// needs-llvm-components: loongarch
|
//@ needs-llvm-components: loongarch
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
|
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --target m68k-unknown-linux-gnu
|
//@ compile-flags: --target m68k-unknown-linux-gnu
|
||||||
// needs-llvm-components: m68k
|
//@ needs-llvm-components: m68k
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
|
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
// revisions: mips32 mips64
|
//@ revisions: mips32 mips64
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
//[mips32] compile-flags: --target mips-unknown-linux-gnu
|
//@[mips32] compile-flags: --target mips-unknown-linux-gnu
|
||||||
//[mips32] needs-llvm-components: mips
|
//@[mips32] needs-llvm-components: mips
|
||||||
//[mips64] compile-flags: --target mips64-unknown-linux-gnuabi64
|
//@[mips64] compile-flags: --target mips64-unknown-linux-gnuabi64
|
||||||
//[mips64] needs-llvm-components: mips
|
//@[mips64] needs-llvm-components: mips
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
|
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --target msp430-none-elf
|
//@ compile-flags: --target msp430-none-elf
|
||||||
// needs-llvm-components: msp430
|
//@ needs-llvm-components: msp430
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch, asm_const)]
|
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch, asm_const)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --target nvptx64-nvidia-cuda
|
//@ compile-flags: --target nvptx64-nvidia-cuda
|
||||||
// compile-flags: --crate-type cdylib
|
//@ compile-flags: --crate-type cdylib
|
||||||
// needs-llvm-components: nvptx
|
//@ needs-llvm-components: nvptx
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
|
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
|
||||||
#![no_core]
|
#![no_core]
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
// revisions: powerpc powerpc64
|
//@ revisions: powerpc powerpc64
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
//[powerpc] compile-flags: --target powerpc-unknown-linux-gnu
|
//@[powerpc] compile-flags: --target powerpc-unknown-linux-gnu
|
||||||
//[powerpc] needs-llvm-components: powerpc
|
//@[powerpc] needs-llvm-components: powerpc
|
||||||
//[powerpc64] compile-flags: --target powerpc64-unknown-linux-gnu
|
//@[powerpc64] compile-flags: --target powerpc64-unknown-linux-gnu
|
||||||
//[powerpc64] needs-llvm-components: powerpc
|
//@[powerpc64] needs-llvm-components: powerpc
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
|
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
// revisions: riscv64 riscv32
|
//@ revisions: riscv64 riscv32
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
//[riscv64] compile-flags: --target riscv64imac-unknown-none-elf
|
//@[riscv64] compile-flags: --target riscv64imac-unknown-none-elf
|
||||||
//[riscv64] needs-llvm-components: riscv
|
//@[riscv64] needs-llvm-components: riscv
|
||||||
//[riscv32] compile-flags: --target riscv32imac-unknown-none-elf
|
//@[riscv32] compile-flags: --target riscv32imac-unknown-none-elf
|
||||||
//[riscv32] needs-llvm-components: riscv
|
//@[riscv32] needs-llvm-components: riscv
|
||||||
// compile-flags: -C target-feature=+d
|
//@ compile-flags: -C target-feature=+d
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs)]
|
#![feature(no_core, lang_items, rustc_attrs)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// revisions: s390x
|
//@ revisions: s390x
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
//[s390x] compile-flags: --target s390x-unknown-linux-gnu
|
//@[s390x] compile-flags: --target s390x-unknown-linux-gnu
|
||||||
//[s390x] needs-llvm-components: systemz
|
//@[s390x] needs-llvm-components: systemz
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
|
#![feature(no_core, lang_items, rustc_attrs, repr_simd, asm_experimental_arch)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --target wasm32-unknown-unknown
|
//@ compile-flags: --target wasm32-unknown-unknown
|
||||||
// compile-flags: --crate-type cdylib
|
//@ compile-flags: --crate-type cdylib
|
||||||
// needs-llvm-components: webassembly
|
//@ needs-llvm-components: webassembly
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
|
#![feature(no_core, lang_items, rustc_attrs, asm_experimental_arch)]
|
||||||
#![no_core]
|
#![no_core]
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
// revisions: x86_64 i686
|
//@ revisions: x86_64 i686
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: -O
|
//@ compile-flags: -O
|
||||||
//[x86_64] compile-flags: --target x86_64-unknown-linux-gnu
|
//@[x86_64] compile-flags: --target x86_64-unknown-linux-gnu
|
||||||
//[x86_64] needs-llvm-components: x86
|
//@[x86_64] needs-llvm-components: x86
|
||||||
//[i686] compile-flags: --target i686-unknown-linux-gnu
|
//@[i686] compile-flags: --target i686-unknown-linux-gnu
|
||||||
//[i686] needs-llvm-components: x86
|
//@[i686] needs-llvm-components: x86
|
||||||
// compile-flags: -C llvm-args=--x86-asm-syntax=intel
|
//@ compile-flags: -C llvm-args=--x86-asm-syntax=intel
|
||||||
// compile-flags: -C target-feature=+avx512bw
|
//@ compile-flags: -C target-feature=+avx512bw
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs)]
|
#![feature(no_core, lang_items, rustc_attrs)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
// revisions: x86_64 i686
|
//@ revisions: x86_64 i686
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
//[x86_64] compile-flags: --target x86_64-unknown-linux-gnu
|
//@[x86_64] compile-flags: --target x86_64-unknown-linux-gnu
|
||||||
//[x86_64] needs-llvm-components: x86
|
//@[x86_64] needs-llvm-components: x86
|
||||||
//[i686] compile-flags: --target i686-unknown-linux-gnu
|
//@[i686] compile-flags: --target i686-unknown-linux-gnu
|
||||||
//[i686] needs-llvm-components: x86
|
//@[i686] needs-llvm-components: x86
|
||||||
// compile-flags: -C llvm-args=--x86-asm-syntax=intel
|
//@ compile-flags: -C llvm-args=--x86-asm-syntax=intel
|
||||||
// compile-flags: -C target-feature=+avx512bw
|
//@ compile-flags: -C target-feature=+avx512bw
|
||||||
|
|
||||||
#![feature(no_core, lang_items, rustc_attrs, repr_simd)]
|
#![feature(no_core, lang_items, rustc_attrs, repr_simd)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
// ignore-sgx Tests incompatible with LVI mitigations
|
//@ ignore-sgx Tests incompatible with LVI mitigations
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// make sure the feature is not enabled at compile-time
|
// 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)]
|
#![feature(target_feature_11)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// Makes sure that `-Z dwarf-version=4` causes `rustc` to emit DWARF version 4.
|
// Makes sure that `-Z dwarf-version=4` causes `rustc` to emit DWARF version 4.
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: -g --target x86_64-unknown-linux-gnu -Z dwarf-version=4 -Copt-level=0
|
//@ compile-flags: -g --target x86_64-unknown-linux-gnu -Z dwarf-version=4 -Copt-level=0
|
||||||
// needs-llvm-components: x86
|
//@ needs-llvm-components: x86
|
||||||
|
|
||||||
#![feature(no_core, lang_items)]
|
#![feature(no_core, lang_items)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// Makes sure that `-Z dwarf-version=5` causes `rustc` to emit DWARF version 5.
|
// Makes sure that `-Z dwarf-version=5` causes `rustc` to emit DWARF version 5.
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: -g --target x86_64-unknown-linux-gnu -Z dwarf-version=5 -Copt-level=0
|
//@ compile-flags: -g --target x86_64-unknown-linux-gnu -Z dwarf-version=5 -Copt-level=0
|
||||||
// needs-llvm-components: x86
|
//@ needs-llvm-components: x86
|
||||||
|
|
||||||
#![feature(no_core, lang_items)]
|
#![feature(no_core, lang_items)]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
// ignore-sgx
|
//@ ignore-sgx
|
||||||
// revisions: opt-speed opt-size
|
//@ revisions: opt-speed opt-size
|
||||||
// [opt-speed] compile-flags: -Copt-level=2 -Cdebug-assertions=no
|
//@ [opt-speed] compile-flags: -Copt-level=2 -Cdebug-assertions=no
|
||||||
// [opt-size] compile-flags: -Copt-level=s -Cdebug-assertions=no
|
//@ [opt-size] compile-flags: -Copt-level=s -Cdebug-assertions=no
|
||||||
#![crate_type="rlib"]
|
#![crate_type="rlib"]
|
||||||
|
|
||||||
#![feature(core_intrinsics)]
|
#![feature(core_intrinsics)]
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// # zen3 previously exhibited odd vectorization
|
// # zen3 previously exhibited odd vectorization
|
||||||
// compile-flags: --crate-type=lib -Ctarget-cpu=znver3 -O
|
//@ compile-flags: --crate-type=lib -Ctarget-cpu=znver3 -O
|
||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
// ignore-sgx
|
//@ ignore-sgx
|
||||||
|
|
||||||
use std::iter;
|
use std::iter;
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// Check that niche selection prefers zero and that jumps are optimized away.
|
// Check that niche selection prefers zero and that jumps are optimized away.
|
||||||
// See https://github.com/rust-lang/rust/pull/87794
|
// See https://github.com/rust-lang/rust/pull/87794
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// only-x86
|
//@ only-x86
|
||||||
// compile-flags: -Copt-level=3
|
//@ compile-flags: -Copt-level=3
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
// assembly-output: ptx-linker
|
//@ assembly-output: ptx-linker
|
||||||
// compile-flags: --crate-type cdylib
|
//@ compile-flags: --crate-type cdylib
|
||||||
// only-nvptx64
|
//@ only-nvptx64
|
||||||
// ignore-nvptx64
|
//@ ignore-nvptx64
|
||||||
|
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
// aux-build: breakpoint-panic-handler.rs
|
//@ aux-build: breakpoint-panic-handler.rs
|
||||||
extern crate breakpoint_panic_handler;
|
extern crate breakpoint_panic_handler;
|
||||||
|
|
||||||
// Verify default target arch with ptx-linker.
|
// Verify default target arch with ptx-linker.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --crate-type rlib
|
//@ compile-flags: --crate-type rlib
|
||||||
// only-nvptx64
|
//@ only-nvptx64
|
||||||
// ignore-nvptx64
|
//@ ignore-nvptx64
|
||||||
|
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
// assembly-output: ptx-linker
|
//@ assembly-output: ptx-linker
|
||||||
// compile-flags: --crate-type cdylib -C link-arg=--arch=sm_60
|
//@ compile-flags: --crate-type cdylib -C link-arg=--arch=sm_60
|
||||||
// only-nvptx64
|
//@ only-nvptx64
|
||||||
// ignore-nvptx64
|
//@ ignore-nvptx64
|
||||||
|
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
// aux-build: breakpoint-panic-handler.rs
|
//@ aux-build: breakpoint-panic-handler.rs
|
||||||
extern crate breakpoint_panic_handler;
|
extern crate breakpoint_panic_handler;
|
||||||
|
|
||||||
// Verify target arch override via `link-arg`.
|
// Verify target arch override via `link-arg`.
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
// assembly-output: ptx-linker
|
//@ assembly-output: ptx-linker
|
||||||
// compile-flags: --crate-type cdylib -C target-cpu=sm_50
|
//@ compile-flags: --crate-type cdylib -C target-cpu=sm_50
|
||||||
// only-nvptx64
|
//@ only-nvptx64
|
||||||
// ignore-nvptx64
|
//@ ignore-nvptx64
|
||||||
|
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
// aux-build: breakpoint-panic-handler.rs
|
//@ aux-build: breakpoint-panic-handler.rs
|
||||||
extern crate breakpoint_panic_handler;
|
extern crate breakpoint_panic_handler;
|
||||||
|
|
||||||
// Verify target arch override via `target-cpu`.
|
// Verify target arch override via `target-cpu`.
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
// assembly-output: ptx-linker
|
//@ assembly-output: ptx-linker
|
||||||
// compile-flags: --crate-type cdylib
|
//@ compile-flags: --crate-type cdylib
|
||||||
// only-nvptx64
|
//@ only-nvptx64
|
||||||
// ignore-nvptx64
|
//@ ignore-nvptx64
|
||||||
|
|
||||||
#![feature(abi_ptx, core_intrinsics)]
|
#![feature(abi_ptx, core_intrinsics)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
use core::intrinsics::*;
|
use core::intrinsics::*;
|
||||||
|
|
||||||
// aux-build: breakpoint-panic-handler.rs
|
//@ aux-build: breakpoint-panic-handler.rs
|
||||||
extern crate breakpoint_panic_handler;
|
extern crate breakpoint_panic_handler;
|
||||||
|
|
||||||
// Currently, LLVM NVPTX backend can only emit atomic instructions with
|
// Currently, LLVM NVPTX backend can only emit atomic instructions with
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
// assembly-output: ptx-linker
|
//@ assembly-output: ptx-linker
|
||||||
// compile-flags: --crate-type cdylib
|
//@ compile-flags: --crate-type cdylib
|
||||||
// only-nvptx64
|
//@ only-nvptx64
|
||||||
// ignore-nvptx64
|
//@ ignore-nvptx64
|
||||||
|
|
||||||
#![feature(abi_ptx)]
|
#![feature(abi_ptx)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
// aux-build: breakpoint-panic-handler.rs
|
//@ aux-build: breakpoint-panic-handler.rs
|
||||||
extern crate breakpoint_panic_handler;
|
extern crate breakpoint_panic_handler;
|
||||||
|
|
||||||
// aux-build: non-inline-dependency.rs
|
//@ aux-build: non-inline-dependency.rs
|
||||||
extern crate non_inline_dependency as dep;
|
extern crate non_inline_dependency as dep;
|
||||||
|
|
||||||
// Verify that no extra function declarations are present.
|
// Verify that no extra function declarations are present.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// assembly-output: ptx-linker
|
//@ assembly-output: ptx-linker
|
||||||
// compile-flags: --crate-type cdylib -C target-cpu=sm_86
|
//@ compile-flags: --crate-type cdylib -C target-cpu=sm_86
|
||||||
// only-nvptx64
|
//@ only-nvptx64
|
||||||
// ignore-nvptx64
|
//@ ignore-nvptx64
|
||||||
|
|
||||||
// The following ABI tests are made with nvcc 11.6 does.
|
// The following ABI tests are made with nvcc 11.6 does.
|
||||||
//
|
//
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
// assembly-output: ptx-linker
|
//@ assembly-output: ptx-linker
|
||||||
// compile-flags: --crate-type bin
|
//@ compile-flags: --crate-type bin
|
||||||
// only-nvptx64
|
//@ only-nvptx64
|
||||||
// ignore-nvptx64
|
//@ ignore-nvptx64
|
||||||
|
|
||||||
#![feature(abi_ptx)]
|
#![feature(abi_ptx)]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
// aux-build: breakpoint-panic-handler.rs
|
//@ aux-build: breakpoint-panic-handler.rs
|
||||||
extern crate breakpoint_panic_handler;
|
extern crate breakpoint_panic_handler;
|
||||||
|
|
||||||
// aux-build: non-inline-dependency.rs
|
//@ aux-build: non-inline-dependency.rs
|
||||||
extern crate non_inline_dependency as dep;
|
extern crate non_inline_dependency as dep;
|
||||||
|
|
||||||
// Make sure declarations are there.
|
// Make sure declarations are there.
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
// assembly-output: ptx-linker
|
//@ assembly-output: ptx-linker
|
||||||
// compile-flags: --crate-type cdylib
|
//@ compile-flags: --crate-type cdylib
|
||||||
// only-nvptx64
|
//@ only-nvptx64
|
||||||
// ignore-nvptx64
|
//@ ignore-nvptx64
|
||||||
|
|
||||||
#![feature(abi_ptx)]
|
#![feature(abi_ptx)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
// aux-build: breakpoint-panic-handler.rs
|
//@ aux-build: breakpoint-panic-handler.rs
|
||||||
extern crate breakpoint_panic_handler;
|
extern crate breakpoint_panic_handler;
|
||||||
|
|
||||||
// aux-build: non-inline-dependency.rs
|
//@ aux-build: non-inline-dependency.rs
|
||||||
extern crate non_inline_dependency as dep;
|
extern crate non_inline_dependency as dep;
|
||||||
|
|
||||||
// Make sure declarations are there.
|
// Make sure declarations are there.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
// assembly-output: ptx-linker
|
//@ assembly-output: ptx-linker
|
||||||
// compile-flags: --crate-type cdylib
|
//@ compile-flags: --crate-type cdylib
|
||||||
// only-nvptx64
|
//@ only-nvptx64
|
||||||
// ignore-nvptx64
|
//@ ignore-nvptx64
|
||||||
|
|
||||||
#![feature(abi_ptx)]
|
#![feature(abi_ptx)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
// aux-build: breakpoint-panic-handler.rs
|
//@ aux-build: breakpoint-panic-handler.rs
|
||||||
extern crate breakpoint_panic_handler;
|
extern crate breakpoint_panic_handler;
|
||||||
|
|
||||||
// Verify function name doesn't contain unacceaptable characters.
|
// Verify function name doesn't contain unacceaptable characters.
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
// revisions: WIN LIN
|
//@ revisions: WIN LIN
|
||||||
// [WIN] only-windows
|
//@ [WIN] only-windows
|
||||||
// [LIN] only-linux
|
//@ [LIN] only-linux
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
|
//@ compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
|
||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
// ignore-sgx
|
//@ ignore-sgx
|
||||||
// ignore-debug
|
//@ ignore-debug
|
||||||
|
|
||||||
use std::cmp::Ordering;
|
use std::cmp::Ordering;
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// only-x86_64-unknown-linux-gnu
|
//@ only-x86_64-unknown-linux-gnu
|
||||||
// compile-flags: -C panic=unwind -C force-unwind-tables=n -O
|
//@ compile-flags: -C panic=unwind -C force-unwind-tables=n -O
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// only-x86_64-unknown-linux-gnu
|
//@ only-x86_64-unknown-linux-gnu
|
||||||
// compile-flags: -C panic=unwind -C force-unwind-tables=n
|
//@ compile-flags: -C panic=unwind -C force-unwind-tables=n
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// revisions: x64
|
//@ revisions: x64
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// [x64] compile-flags: --target x86_64-unknown-linux-gnu -Crelocation-model=pic
|
//@ [x64] compile-flags: --target x86_64-unknown-linux-gnu -Crelocation-model=pic
|
||||||
// [x64] needs-llvm-components: x86
|
//@ [x64] needs-llvm-components: x86
|
||||||
|
|
||||||
|
|
||||||
#![feature(no_core, lang_items)]
|
#![feature(no_core, lang_items)]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// revisions: x64
|
//@ revisions: x64
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// [x64] compile-flags: --target x86_64-unknown-linux-gnu -Crelocation-model=pie
|
//@ [x64] compile-flags: --target x86_64-unknown-linux-gnu -Crelocation-model=pie
|
||||||
// [x64] needs-llvm-components: x86
|
//@ [x64] needs-llvm-components: x86
|
||||||
|
|
||||||
|
|
||||||
#![feature(no_core, lang_items)]
|
#![feature(no_core, lang_items)]
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
// revisions: WIN LIN
|
//@ revisions: WIN LIN
|
||||||
// [WIN] only-windows
|
//@ [WIN] only-windows
|
||||||
// [LIN] only-linux
|
//@ [LIN] only-linux
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
|
//@ compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
|
||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
// ignore-sgx
|
//@ ignore-sgx
|
||||||
// ignore-debug
|
//@ ignore-debug
|
||||||
|
|
||||||
#![feature(str_internals)]
|
#![feature(str_internals)]
|
||||||
|
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
// - float structure members are passes in floating point registers
|
// - float structure members are passes in floating point registers
|
||||||
// (#86163)
|
// (#86163)
|
||||||
|
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// needs-llvm-components: sparc
|
//@ needs-llvm-components: sparc
|
||||||
// compile-flags: --target=sparcv9-sun-solaris -Copt-level=3
|
//@ compile-flags: --target=sparcv9-sun-solaris -Copt-level=3
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
#![feature(no_core, lang_items)]
|
#![feature(no_core, lang_items)]
|
||||||
#![no_core]
|
#![no_core]
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
// revisions: x86_64 i686 aarch64
|
//@ revisions: x86_64 i686 aarch64
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
//[x86_64] compile-flags: --target x86_64-unknown-linux-gnu -C llvm-args=-x86-asm-syntax=intel
|
//@[x86_64] compile-flags: --target x86_64-unknown-linux-gnu -C llvm-args=-x86-asm-syntax=intel
|
||||||
//[x86_64] needs-llvm-components: x86
|
//@[x86_64] needs-llvm-components: x86
|
||||||
//[i686] compile-flags: --target i686-unknown-linux-gnu -C llvm-args=-x86-asm-syntax=intel
|
//@[i686] compile-flags: --target i686-unknown-linux-gnu -C llvm-args=-x86-asm-syntax=intel
|
||||||
//[i686] needs-llvm-components: x86
|
//@[i686] needs-llvm-components: x86
|
||||||
//[aarch64] compile-flags: --target aarch64-unknown-linux-gnu
|
//@[aarch64] compile-flags: --target aarch64-unknown-linux-gnu
|
||||||
//[aarch64] needs-llvm-components: aarch64
|
//@[aarch64] needs-llvm-components: aarch64
|
||||||
//[aarch64] min-llvm-version: 18
|
//@[aarch64] min-llvm-version: 18
|
||||||
|
|
||||||
#![feature(no_core, lang_items)]
|
#![feature(no_core, lang_items)]
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
// revisions: all strong basic none missing
|
//@ revisions: all strong basic none missing
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// only-windows
|
//@ only-windows
|
||||||
// only-msvc
|
//@ only-msvc
|
||||||
// ignore-64bit 64-bit table based SEH has slightly different behaviors than classic SEH
|
//@ ignore-64bit 64-bit table based SEH has slightly different behaviors than classic SEH
|
||||||
// [all] compile-flags: -Z stack-protector=all
|
//@ [all] compile-flags: -Z stack-protector=all
|
||||||
// [strong] compile-flags: -Z stack-protector=strong
|
//@ [strong] compile-flags: -Z stack-protector=strong
|
||||||
// [basic] compile-flags: -Z stack-protector=basic
|
//@ [basic] compile-flags: -Z stack-protector=basic
|
||||||
// [none] compile-flags: -Z stack-protector=none
|
//@ [none] compile-flags: -Z stack-protector=none
|
||||||
// compile-flags: -C opt-level=2 -Z merge-functions=disabled
|
//@ compile-flags: -C opt-level=2 -Z merge-functions=disabled
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
// revisions: all strong basic none missing
|
//@ revisions: all strong basic none missing
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// only-windows
|
//@ only-windows
|
||||||
// only-msvc
|
//@ only-msvc
|
||||||
// ignore-32bit 64-bit table based SEH has slightly different behaviors than classic SEH
|
//@ ignore-32bit 64-bit table based SEH has slightly different behaviors than classic SEH
|
||||||
// [all] compile-flags: -Z stack-protector=all
|
//@ [all] compile-flags: -Z stack-protector=all
|
||||||
// [strong] compile-flags: -Z stack-protector=strong
|
//@ [strong] compile-flags: -Z stack-protector=strong
|
||||||
// [basic] compile-flags: -Z stack-protector=basic
|
//@ [basic] compile-flags: -Z stack-protector=basic
|
||||||
// [none] compile-flags: -Z stack-protector=none
|
//@ [none] compile-flags: -Z stack-protector=none
|
||||||
// compile-flags: -C opt-level=2 -Z merge-functions=disabled
|
//@ compile-flags: -C opt-level=2 -Z merge-functions=disabled
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
// revisions: all strong basic none missing
|
//@ revisions: all strong basic none missing
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// ignore-macos slightly different policy on stack protection of arrays
|
//@ ignore-macos slightly different policy on stack protection of arrays
|
||||||
// ignore-msvc stack check code uses different function names
|
//@ ignore-msvc stack check code uses different function names
|
||||||
// ignore-nvptx64 stack protector is not supported
|
//@ ignore-nvptx64 stack protector is not supported
|
||||||
// ignore-wasm32-bare
|
//@ ignore-wasm32-bare
|
||||||
// [all] compile-flags: -Z stack-protector=all
|
//@ [all] compile-flags: -Z stack-protector=all
|
||||||
// [strong] compile-flags: -Z stack-protector=strong
|
//@ [strong] compile-flags: -Z stack-protector=strong
|
||||||
// [basic] compile-flags: -Z stack-protector=basic
|
//@ [basic] compile-flags: -Z stack-protector=basic
|
||||||
// [none] compile-flags: -Z stack-protector=none
|
//@ [none] compile-flags: -Z stack-protector=none
|
||||||
// compile-flags: -C opt-level=2 -Z merge-functions=disabled
|
//@ compile-flags: -C opt-level=2 -Z merge-functions=disabled
|
||||||
// min-llvm-version: 17.0.2
|
//@ min-llvm-version: 17.0.2
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
|
||||||
|
@ -1,182 +1,182 @@
|
|||||||
// Test that stack smash protection code is emitted for all tier1 and tier2
|
// Test that stack smash protection code is emitted for all tier1 and tier2
|
||||||
// targets, with the exception of nvptx64-nvidia-cuda
|
// 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: 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: 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: 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
|
//@ 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
|
//@ assembly-output: emit-asm
|
||||||
// [r1] compile-flags: --target aarch64-unknown-linux-gnu
|
//@ [r1] compile-flags: --target aarch64-unknown-linux-gnu
|
||||||
// [r1] needs-llvm-components: aarch64
|
//@ [r1] needs-llvm-components: aarch64
|
||||||
// [r2] compile-flags: --target i686-pc-windows-gnu
|
//@ [r2] compile-flags: --target i686-pc-windows-gnu
|
||||||
// [r2] needs-llvm-components: x86
|
//@ [r2] needs-llvm-components: x86
|
||||||
// [r3] compile-flags: --target i686-pc-windows-msvc
|
//@ [r3] compile-flags: --target i686-pc-windows-msvc
|
||||||
// [r3] needs-llvm-components: x86
|
//@ [r3] needs-llvm-components: x86
|
||||||
// [r4] compile-flags: --target i686-unknown-linux-gnu
|
//@ [r4] compile-flags: --target i686-unknown-linux-gnu
|
||||||
// [r4] needs-llvm-components: x86
|
//@ [r4] needs-llvm-components: x86
|
||||||
// [r5] compile-flags: --target x86_64-apple-darwin
|
//@ [r5] compile-flags: --target x86_64-apple-darwin
|
||||||
// [r5] needs-llvm-components: x86
|
//@ [r5] needs-llvm-components: x86
|
||||||
// [r6] compile-flags: --target x86_64-pc-windows-gnu
|
//@ [r6] compile-flags: --target x86_64-pc-windows-gnu
|
||||||
// [r6] needs-llvm-components: x86
|
//@ [r6] needs-llvm-components: x86
|
||||||
// [r7] compile-flags: --target x86_64-pc-windows-msvc
|
//@ [r7] compile-flags: --target x86_64-pc-windows-msvc
|
||||||
// [r7] needs-llvm-components: x86
|
//@ [r7] needs-llvm-components: x86
|
||||||
// [r8] compile-flags: --target x86_64-unknown-linux-gnu
|
//@ [r8] compile-flags: --target x86_64-unknown-linux-gnu
|
||||||
// [r8] needs-llvm-components: x86
|
//@ [r8] needs-llvm-components: x86
|
||||||
// [r9] compile-flags: --target aarch64-apple-darwin
|
//@ [r9] compile-flags: --target aarch64-apple-darwin
|
||||||
// [r9] needs-llvm-components: aarch64
|
//@ [r9] needs-llvm-components: aarch64
|
||||||
// [r10] compile-flags: --target aarch64-apple-ios
|
//@ [r10] compile-flags: --target aarch64-apple-ios
|
||||||
// [r10] needs-llvm-components: aarch64
|
//@ [r10] needs-llvm-components: aarch64
|
||||||
// [r11] compile-flags: --target aarch64-unknown-fuchsia
|
//@ [r11] compile-flags: --target aarch64-unknown-fuchsia
|
||||||
// [r11] needs-llvm-components: aarch64
|
//@ [r11] needs-llvm-components: aarch64
|
||||||
// [r12] compile-flags: --target aarch64-linux-android
|
//@ [r12] compile-flags: --target aarch64-linux-android
|
||||||
// [r12] needs-llvm-components: aarch64
|
//@ [r12] needs-llvm-components: aarch64
|
||||||
// [r13] compile-flags: --target aarch64-pc-windows-msvc
|
//@ [r13] compile-flags: --target aarch64-pc-windows-msvc
|
||||||
// [r13] needs-llvm-components: aarch64
|
//@ [r13] needs-llvm-components: aarch64
|
||||||
// [r14] compile-flags: --target aarch64-unknown-linux-musl
|
//@ [r14] compile-flags: --target aarch64-unknown-linux-musl
|
||||||
// [r14] needs-llvm-components: aarch64
|
//@ [r14] needs-llvm-components: aarch64
|
||||||
// [r15] compile-flags: --target aarch64-unknown-none
|
//@ [r15] compile-flags: --target aarch64-unknown-none
|
||||||
// [r15] needs-llvm-components: aarch64
|
//@ [r15] needs-llvm-components: aarch64
|
||||||
// [r16] compile-flags: --target aarch64-unknown-none-softfloat
|
//@ [r16] compile-flags: --target aarch64-unknown-none-softfloat
|
||||||
// [r16] needs-llvm-components: aarch64
|
//@ [r16] needs-llvm-components: aarch64
|
||||||
// [r17] compile-flags: --target arm-linux-androideabi
|
//@ [r17] compile-flags: --target arm-linux-androideabi
|
||||||
// [r17] needs-llvm-components: arm
|
//@ [r17] needs-llvm-components: arm
|
||||||
// [r18] compile-flags: --target arm-unknown-linux-gnueabi
|
//@ [r18] compile-flags: --target arm-unknown-linux-gnueabi
|
||||||
// [r18] needs-llvm-components: arm
|
//@ [r18] needs-llvm-components: arm
|
||||||
// [r19] compile-flags: --target arm-unknown-linux-gnueabihf
|
//@ [r19] compile-flags: --target arm-unknown-linux-gnueabihf
|
||||||
// [r19] needs-llvm-components: arm
|
//@ [r19] needs-llvm-components: arm
|
||||||
// [r20] compile-flags: --target arm-unknown-linux-musleabi
|
//@ [r20] compile-flags: --target arm-unknown-linux-musleabi
|
||||||
// [r20] needs-llvm-components: arm
|
//@ [r20] needs-llvm-components: arm
|
||||||
// [r21] compile-flags: --target arm-unknown-linux-musleabihf
|
//@ [r21] compile-flags: --target arm-unknown-linux-musleabihf
|
||||||
// [r21] needs-llvm-components: arm
|
//@ [r21] needs-llvm-components: arm
|
||||||
// [r22] compile-flags: --target armebv7r-none-eabi
|
//@ [r22] compile-flags: --target armebv7r-none-eabi
|
||||||
// [r22] needs-llvm-components: arm
|
//@ [r22] needs-llvm-components: arm
|
||||||
// [r23] compile-flags: --target armebv7r-none-eabihf
|
//@ [r23] compile-flags: --target armebv7r-none-eabihf
|
||||||
// [r23] needs-llvm-components: arm
|
//@ [r23] needs-llvm-components: arm
|
||||||
// [r24] compile-flags: --target armv5te-unknown-linux-gnueabi
|
//@ [r24] compile-flags: --target armv5te-unknown-linux-gnueabi
|
||||||
// [r24] needs-llvm-components: arm
|
//@ [r24] needs-llvm-components: arm
|
||||||
// [r25] compile-flags: --target armv5te-unknown-linux-musleabi
|
//@ [r25] compile-flags: --target armv5te-unknown-linux-musleabi
|
||||||
// [r25] needs-llvm-components: arm
|
//@ [r25] needs-llvm-components: arm
|
||||||
// [r26] compile-flags: --target armv7-linux-androideabi
|
//@ [r26] compile-flags: --target armv7-linux-androideabi
|
||||||
// [r26] needs-llvm-components: arm
|
//@ [r26] needs-llvm-components: arm
|
||||||
// [r27] compile-flags: --target armv7a-none-eabi
|
//@ [r27] compile-flags: --target armv7a-none-eabi
|
||||||
// [r27] needs-llvm-components: arm
|
//@ [r27] needs-llvm-components: arm
|
||||||
// [r28] compile-flags: --target armv7r-none-eabi
|
//@ [r28] compile-flags: --target armv7r-none-eabi
|
||||||
// [r28] needs-llvm-components: arm
|
//@ [r28] needs-llvm-components: arm
|
||||||
// [r29] compile-flags: --target armv7r-none-eabihf
|
//@ [r29] compile-flags: --target armv7r-none-eabihf
|
||||||
// [r29] needs-llvm-components: arm
|
//@ [r29] needs-llvm-components: arm
|
||||||
// [r30] compile-flags: --target armv7-unknown-linux-gnueabi
|
//@ [r30] compile-flags: --target armv7-unknown-linux-gnueabi
|
||||||
// [r30] needs-llvm-components: arm
|
//@ [r30] needs-llvm-components: arm
|
||||||
// [r31] compile-flags: --target armv7-unknown-linux-gnueabihf
|
//@ [r31] compile-flags: --target armv7-unknown-linux-gnueabihf
|
||||||
// [r31] needs-llvm-components: arm
|
//@ [r31] needs-llvm-components: arm
|
||||||
// [r32] compile-flags: --target armv7-unknown-linux-musleabi
|
//@ [r32] compile-flags: --target armv7-unknown-linux-musleabi
|
||||||
// [r32] needs-llvm-components: arm
|
//@ [r32] needs-llvm-components: arm
|
||||||
// [r33] compile-flags: --target armv7-unknown-linux-musleabihf
|
//@ [r33] compile-flags: --target armv7-unknown-linux-musleabihf
|
||||||
// [r33] needs-llvm-components: arm
|
//@ [r33] needs-llvm-components: arm
|
||||||
|
|
||||||
// [r35] compile-flags: --target i586-pc-windows-msvc
|
//@ [r35] compile-flags: --target i586-pc-windows-msvc
|
||||||
// [r35] needs-llvm-components: x86
|
//@ [r35] needs-llvm-components: x86
|
||||||
// [r36] compile-flags: --target i586-unknown-linux-gnu
|
//@ [r36] compile-flags: --target i586-unknown-linux-gnu
|
||||||
// [r36] needs-llvm-components: x86
|
//@ [r36] needs-llvm-components: x86
|
||||||
// [r37] compile-flags: --target i586-unknown-linux-musl
|
//@ [r37] compile-flags: --target i586-unknown-linux-musl
|
||||||
// [r37] needs-llvm-components: x86
|
//@ [r37] needs-llvm-components: x86
|
||||||
// [r38] compile-flags: --target i686-linux-android
|
//@ [r38] compile-flags: --target i686-linux-android
|
||||||
// [r38] needs-llvm-components: x86
|
//@ [r38] needs-llvm-components: x86
|
||||||
// [r39] compile-flags: --target i686-unknown-freebsd
|
//@ [r39] compile-flags: --target i686-unknown-freebsd
|
||||||
// [r39] needs-llvm-components: x86
|
//@ [r39] needs-llvm-components: x86
|
||||||
// [r40] compile-flags: --target i686-unknown-linux-musl
|
//@ [r40] compile-flags: --target i686-unknown-linux-musl
|
||||||
// [r40] needs-llvm-components: x86
|
//@ [r40] needs-llvm-components: x86
|
||||||
// [r41] compile-flags: --target mips-unknown-linux-gnu
|
//@ [r41] compile-flags: --target mips-unknown-linux-gnu
|
||||||
// [r41] needs-llvm-components: mips
|
//@ [r41] needs-llvm-components: mips
|
||||||
// [r42] compile-flags: --target mips-unknown-linux-musl
|
//@ [r42] compile-flags: --target mips-unknown-linux-musl
|
||||||
// [r42] needs-llvm-components: mips
|
//@ [r42] needs-llvm-components: mips
|
||||||
// [r43] compile-flags: --target mips64-unknown-linux-gnuabi64
|
//@ [r43] compile-flags: --target mips64-unknown-linux-gnuabi64
|
||||||
// [r43] needs-llvm-components: mips
|
//@ [r43] needs-llvm-components: mips
|
||||||
// [r44] compile-flags: --target mips64-unknown-linux-muslabi64
|
//@ [r44] compile-flags: --target mips64-unknown-linux-muslabi64
|
||||||
// [r44] needs-llvm-components: mips
|
//@ [r44] needs-llvm-components: mips
|
||||||
// [r45] compile-flags: --target mips64el-unknown-linux-gnuabi64
|
//@ [r45] compile-flags: --target mips64el-unknown-linux-gnuabi64
|
||||||
// [r45] needs-llvm-components: mips
|
//@ [r45] needs-llvm-components: mips
|
||||||
// [r46] compile-flags: --target mips64el-unknown-linux-muslabi64
|
//@ [r46] compile-flags: --target mips64el-unknown-linux-muslabi64
|
||||||
// [r46] needs-llvm-components: mips
|
//@ [r46] needs-llvm-components: mips
|
||||||
// [r47] compile-flags: --target mipsel-unknown-linux-gnu
|
//@ [r47] compile-flags: --target mipsel-unknown-linux-gnu
|
||||||
// [r47] needs-llvm-components: mips
|
//@ [r47] needs-llvm-components: mips
|
||||||
// [r48] compile-flags: --target mipsel-unknown-linux-musl
|
//@ [r48] compile-flags: --target mipsel-unknown-linux-musl
|
||||||
// [r48] needs-llvm-components: mips
|
//@ [r48] needs-llvm-components: mips
|
||||||
// [r49] compile-flags: --target nvptx64-nvidia-cuda
|
//@ [r49] compile-flags: --target nvptx64-nvidia-cuda
|
||||||
// [r49] needs-llvm-components: nvptx
|
//@ [r49] needs-llvm-components: nvptx
|
||||||
// [r50] compile-flags: --target powerpc-unknown-linux-gnu
|
//@ [r50] compile-flags: --target powerpc-unknown-linux-gnu
|
||||||
// [r50] needs-llvm-components: powerpc
|
//@ [r50] needs-llvm-components: powerpc
|
||||||
// [r51] compile-flags: --target powerpc64-unknown-linux-gnu
|
//@ [r51] compile-flags: --target powerpc64-unknown-linux-gnu
|
||||||
// [r51] needs-llvm-components: powerpc
|
//@ [r51] needs-llvm-components: powerpc
|
||||||
// [r52] compile-flags: --target powerpc64le-unknown-linux-gnu
|
//@ [r52] compile-flags: --target powerpc64le-unknown-linux-gnu
|
||||||
// [r52] needs-llvm-components: powerpc
|
//@ [r52] needs-llvm-components: powerpc
|
||||||
// [r53] compile-flags: --target riscv32i-unknown-none-elf
|
//@ [r53] compile-flags: --target riscv32i-unknown-none-elf
|
||||||
// [r53] needs-llvm-components: riscv
|
//@ [r53] needs-llvm-components: riscv
|
||||||
// [r54] compile-flags: --target riscv32imac-unknown-none-elf
|
//@ [r54] compile-flags: --target riscv32imac-unknown-none-elf
|
||||||
// [r54] needs-llvm-components: riscv
|
//@ [r54] needs-llvm-components: riscv
|
||||||
// [r55] compile-flags:--target riscv32imc-unknown-none-elf
|
//@ [r55] compile-flags:--target riscv32imc-unknown-none-elf
|
||||||
// [r55] needs-llvm-components: riscv
|
//@ [r55] needs-llvm-components: riscv
|
||||||
// [r56] compile-flags:--target riscv64gc-unknown-linux-gnu
|
//@ [r56] compile-flags:--target riscv64gc-unknown-linux-gnu
|
||||||
// [r56] needs-llvm-components: riscv
|
//@ [r56] needs-llvm-components: riscv
|
||||||
// [r57] compile-flags:--target riscv64gc-unknown-none-elf
|
//@ [r57] compile-flags:--target riscv64gc-unknown-none-elf
|
||||||
// [r57] needs-llvm-components: riscv
|
//@ [r57] needs-llvm-components: riscv
|
||||||
// [r58] compile-flags:--target riscv64imac-unknown-none-elf
|
//@ [r58] compile-flags:--target riscv64imac-unknown-none-elf
|
||||||
// [r58] needs-llvm-components: riscv
|
//@ [r58] needs-llvm-components: riscv
|
||||||
// [r59] compile-flags:--target s390x-unknown-linux-gnu
|
//@ [r59] compile-flags:--target s390x-unknown-linux-gnu
|
||||||
// [r59] needs-llvm-components: systemz
|
//@ [r59] needs-llvm-components: systemz
|
||||||
// [r60] compile-flags:--target sparc64-unknown-linux-gnu
|
//@ [r60] compile-flags:--target sparc64-unknown-linux-gnu
|
||||||
// [r60] needs-llvm-components: sparc
|
//@ [r60] needs-llvm-components: sparc
|
||||||
// [r61] compile-flags:--target sparcv9-sun-solaris
|
//@ [r61] compile-flags:--target sparcv9-sun-solaris
|
||||||
// [r61] needs-llvm-components: sparc
|
//@ [r61] needs-llvm-components: sparc
|
||||||
// [r62] compile-flags:--target thumbv6m-none-eabi
|
//@ [r62] compile-flags:--target thumbv6m-none-eabi
|
||||||
// [r62] needs-llvm-components: arm
|
//@ [r62] needs-llvm-components: arm
|
||||||
// [r63] compile-flags:--target thumbv7em-none-eabi
|
//@ [r63] compile-flags:--target thumbv7em-none-eabi
|
||||||
// [r63] needs-llvm-components: arm
|
//@ [r63] needs-llvm-components: arm
|
||||||
// [r64] compile-flags:--target thumbv7em-none-eabihf
|
//@ [r64] compile-flags:--target thumbv7em-none-eabihf
|
||||||
// [r64] needs-llvm-components: arm
|
//@ [r64] needs-llvm-components: arm
|
||||||
// [r65] compile-flags:--target thumbv7m-none-eabi
|
//@ [r65] compile-flags:--target thumbv7m-none-eabi
|
||||||
// [r65] needs-llvm-components: arm
|
//@ [r65] needs-llvm-components: arm
|
||||||
// [r66] compile-flags:--target thumbv7neon-linux-androideabi
|
//@ [r66] compile-flags:--target thumbv7neon-linux-androideabi
|
||||||
// [r66] needs-llvm-components: arm
|
//@ [r66] needs-llvm-components: arm
|
||||||
// [r67] compile-flags:--target thumbv7neon-unknown-linux-gnueabihf
|
//@ [r67] compile-flags:--target thumbv7neon-unknown-linux-gnueabihf
|
||||||
// [r67] needs-llvm-components: arm
|
//@ [r67] needs-llvm-components: arm
|
||||||
// [r68] compile-flags:--target thumbv8m.base-none-eabi
|
//@ [r68] compile-flags:--target thumbv8m.base-none-eabi
|
||||||
// [r68] needs-llvm-components: arm
|
//@ [r68] needs-llvm-components: arm
|
||||||
// [r69] compile-flags:--target thumbv8m.main-none-eabi
|
//@ [r69] compile-flags:--target thumbv8m.main-none-eabi
|
||||||
// [r69] needs-llvm-components: arm
|
//@ [r69] needs-llvm-components: arm
|
||||||
// [r70] compile-flags:--target thumbv8m.main-none-eabihf
|
//@ [r70] compile-flags:--target thumbv8m.main-none-eabihf
|
||||||
// [r70] needs-llvm-components: arm
|
//@ [r70] needs-llvm-components: arm
|
||||||
// [r71] compile-flags:--target wasm32-unknown-emscripten
|
//@ [r71] compile-flags:--target wasm32-unknown-emscripten
|
||||||
// [r71] needs-llvm-components: webassembly
|
//@ [r71] needs-llvm-components: webassembly
|
||||||
// [r72] compile-flags:--target wasm32-unknown-unknown
|
//@ [r72] compile-flags:--target wasm32-unknown-unknown
|
||||||
// [r72] needs-llvm-components: webassembly
|
//@ [r72] needs-llvm-components: webassembly
|
||||||
// [r73] compile-flags:--target wasm32-wasi
|
//@ [r73] compile-flags:--target wasm32-wasi
|
||||||
// [r73] needs-llvm-components: webassembly
|
//@ [r73] needs-llvm-components: webassembly
|
||||||
// [r74] compile-flags:--target wasm32-wasi-preview1-threads
|
//@ [r74] compile-flags:--target wasm32-wasi-preview1-threads
|
||||||
// [r74] needs-llvm-components: webassembly
|
//@ [r74] needs-llvm-components: webassembly
|
||||||
// [r75] compile-flags:--target x86_64-apple-ios
|
//@ [r75] compile-flags:--target x86_64-apple-ios
|
||||||
// [r75] needs-llvm-components: x86
|
//@ [r75] needs-llvm-components: x86
|
||||||
// [r76] compile-flags:--target x86_64-fortanix-unknown-sgx
|
//@ [r76] compile-flags:--target x86_64-fortanix-unknown-sgx
|
||||||
// [r76] needs-llvm-components: x86
|
//@ [r76] needs-llvm-components: x86
|
||||||
// [r77] compile-flags:--target x86_64-unknown-fuchsia
|
//@ [r77] compile-flags:--target x86_64-unknown-fuchsia
|
||||||
// [r77] needs-llvm-components: x86
|
//@ [r77] needs-llvm-components: x86
|
||||||
// [r78] compile-flags:--target x86_64-linux-android
|
//@ [r78] compile-flags:--target x86_64-linux-android
|
||||||
// [r78] needs-llvm-components: x86
|
//@ [r78] needs-llvm-components: x86
|
||||||
// [r79] compile-flags:--target x86_64-pc-solaris
|
//@ [r79] compile-flags:--target x86_64-pc-solaris
|
||||||
// [r79] needs-llvm-components: x86
|
//@ [r79] needs-llvm-components: x86
|
||||||
// [r80] compile-flags:--target x86_64-unknown-freebsd
|
//@ [r80] compile-flags:--target x86_64-unknown-freebsd
|
||||||
// [r80] needs-llvm-components: x86
|
//@ [r80] needs-llvm-components: x86
|
||||||
// [r81] compile-flags:--target x86_64-unknown-illumos
|
//@ [r81] compile-flags:--target x86_64-unknown-illumos
|
||||||
// [r81] needs-llvm-components: x86
|
//@ [r81] needs-llvm-components: x86
|
||||||
// [r82] compile-flags:--target x86_64-unknown-linux-gnux32
|
//@ [r82] compile-flags:--target x86_64-unknown-linux-gnux32
|
||||||
// [r82] needs-llvm-components: x86
|
//@ [r82] needs-llvm-components: x86
|
||||||
// [r83] compile-flags:--target x86_64-unknown-linux-musl
|
//@ [r83] compile-flags:--target x86_64-unknown-linux-musl
|
||||||
// [r83] needs-llvm-components: x86
|
//@ [r83] needs-llvm-components: x86
|
||||||
// [r84] compile-flags:--target x86_64-unknown-netbsd
|
//@ [r84] compile-flags:--target x86_64-unknown-netbsd
|
||||||
// [r84] needs-llvm-components: x86
|
//@ [r84] needs-llvm-components: x86
|
||||||
// [r85] compile-flags: --target x86_64-unknown-redox
|
//@ [r85] compile-flags: --target x86_64-unknown-redox
|
||||||
// [r85] needs-llvm-components: x86
|
//@ [r85] needs-llvm-components: x86
|
||||||
// compile-flags: -Z stack-protector=all
|
//@ compile-flags: -Z stack-protector=all
|
||||||
// compile-flags: -C opt-level=2
|
//@ compile-flags: -C opt-level=2
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
|
||||||
@ -283,4 +283,5 @@ pub fn foo() {
|
|||||||
// r82: __stack_chk_fail
|
// r82: __stack_chk_fail
|
||||||
// r83: __stack_chk_fail
|
// r83: __stack_chk_fail
|
||||||
// r84: __stack_chk_fail
|
// r84: __stack_chk_fail
|
||||||
|
// r85: __stack_chk_fail
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
// revisions: x64 A64 ppc64le
|
//@ revisions: x64 A64 ppc64le
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// [x64] compile-flags: --target x86_64-unknown-linux-gnu -Crelocation-model=static
|
//@ [x64] compile-flags: --target x86_64-unknown-linux-gnu -Crelocation-model=static
|
||||||
// [x64] needs-llvm-components: x86
|
//@ [x64] needs-llvm-components: x86
|
||||||
// [A64] compile-flags: --target aarch64-unknown-linux-gnu -Crelocation-model=static
|
//@ [A64] compile-flags: --target aarch64-unknown-linux-gnu -Crelocation-model=static
|
||||||
// [A64] needs-llvm-components: aarch64
|
//@ [A64] needs-llvm-components: aarch64
|
||||||
// [ppc64le] compile-flags: --target powerpc64le-unknown-linux-gnu -Crelocation-model=static
|
//@ [ppc64le] compile-flags: --target powerpc64le-unknown-linux-gnu -Crelocation-model=static
|
||||||
// [ppc64le] needs-llvm-components: powerpc
|
//@ [ppc64le] needs-llvm-components: powerpc
|
||||||
// ignore-debug: alignment checks insert panics that we don't have a lang item for
|
//@ ignore-debug: alignment checks insert panics that we don't have a lang item for
|
||||||
|
|
||||||
#![feature(no_core, lang_items)]
|
#![feature(no_core, lang_items)]
|
||||||
#![no_core]
|
#![no_core]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: -Copt-level=1
|
//@ compile-flags: -Copt-level=1
|
||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
// ignore-sgx
|
//@ ignore-sgx
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
|
||||||
// CHECK-LABEL: old_style
|
// CHECK-LABEL: old_style
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// needs-llvm-components: x86
|
//@ needs-llvm-components: x86
|
||||||
// revisions: TWOFLAGS SINGLEFLAG
|
//@ revisions: TWOFLAGS SINGLEFLAG
|
||||||
// compile-flags: --target=x86_64-unknown-linux-gnu
|
//@ compile-flags: --target=x86_64-unknown-linux-gnu
|
||||||
// [TWOFLAGS] compile-flags: -C target-feature=+rdrnd -C target-feature=+rdseed
|
//@ [TWOFLAGS] compile-flags: -C target-feature=+rdrnd -C target-feature=+rdseed
|
||||||
// [SINGLEFLAG] compile-flags: -C target-feature=+rdrnd,+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
|
// 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.
|
// them is to build code that requires the features to be enabled to work.
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,68 +1,68 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// ignore-tidy-linelength
|
// ignore-tidy-linelength
|
||||||
// revisions: aarch64_apple_darwin
|
//@ revisions: aarch64_apple_darwin
|
||||||
// [aarch64_apple_darwin] compile-flags: --target aarch64-apple-darwin
|
//@ [aarch64_apple_darwin] compile-flags: --target aarch64-apple-darwin
|
||||||
// [aarch64_apple_darwin] needs-llvm-components: aarch64
|
//@ [aarch64_apple_darwin] needs-llvm-components: aarch64
|
||||||
// revisions: aarch64_apple_ios
|
//@ revisions: aarch64_apple_ios
|
||||||
// [aarch64_apple_ios] compile-flags: --target aarch64-apple-ios
|
//@ [aarch64_apple_ios] compile-flags: --target aarch64-apple-ios
|
||||||
// [aarch64_apple_ios] needs-llvm-components: aarch64
|
//@ [aarch64_apple_ios] needs-llvm-components: aarch64
|
||||||
// revisions: aarch64_apple_ios_macabi
|
//@ revisions: aarch64_apple_ios_macabi
|
||||||
// [aarch64_apple_ios_macabi] compile-flags: --target aarch64-apple-ios-macabi
|
//@ [aarch64_apple_ios_macabi] compile-flags: --target aarch64-apple-ios-macabi
|
||||||
// [aarch64_apple_ios_macabi] needs-llvm-components: aarch64
|
//@ [aarch64_apple_ios_macabi] needs-llvm-components: aarch64
|
||||||
// revisions: aarch64_apple_ios_sim
|
//@ revisions: aarch64_apple_ios_sim
|
||||||
// [aarch64_apple_ios_sim] compile-flags: --target aarch64-apple-ios-sim
|
//@ [aarch64_apple_ios_sim] compile-flags: --target aarch64-apple-ios-sim
|
||||||
// [aarch64_apple_ios_sim] needs-llvm-components: aarch64
|
//@ [aarch64_apple_ios_sim] needs-llvm-components: aarch64
|
||||||
// revisions: aarch64_apple_tvos
|
//@ revisions: aarch64_apple_tvos
|
||||||
// [aarch64_apple_tvos] compile-flags: --target aarch64-apple-tvos
|
//@ [aarch64_apple_tvos] compile-flags: --target aarch64-apple-tvos
|
||||||
// [aarch64_apple_tvos] needs-llvm-components: aarch64
|
//@ [aarch64_apple_tvos] needs-llvm-components: aarch64
|
||||||
// revisions: aarch64_apple_tvos_sim
|
//@ revisions: aarch64_apple_tvos_sim
|
||||||
// [aarch64_apple_tvos_sim] compile-flags: --target aarch64-apple-tvos-sim
|
//@ [aarch64_apple_tvos_sim] compile-flags: --target aarch64-apple-tvos-sim
|
||||||
// [aarch64_apple_tvos_sim] needs-llvm-components: aarch64
|
//@ [aarch64_apple_tvos_sim] needs-llvm-components: aarch64
|
||||||
// revisions: aarch64_apple_watchos
|
//@ revisions: aarch64_apple_watchos
|
||||||
// [aarch64_apple_watchos] compile-flags: --target aarch64-apple-watchos
|
//@ [aarch64_apple_watchos] compile-flags: --target aarch64-apple-watchos
|
||||||
// [aarch64_apple_watchos] needs-llvm-components: aarch64
|
//@ [aarch64_apple_watchos] needs-llvm-components: aarch64
|
||||||
// revisions: aarch64_apple_watchos_sim
|
//@ revisions: aarch64_apple_watchos_sim
|
||||||
// [aarch64_apple_watchos_sim] compile-flags: --target aarch64-apple-watchos-sim
|
//@ [aarch64_apple_watchos_sim] compile-flags: --target aarch64-apple-watchos-sim
|
||||||
// [aarch64_apple_watchos_sim] needs-llvm-components: aarch64
|
//@ [aarch64_apple_watchos_sim] needs-llvm-components: aarch64
|
||||||
// revisions: arm64_32_apple_watchos
|
//@ revisions: arm64_32_apple_watchos
|
||||||
// [arm64_32_apple_watchos] compile-flags: --target arm64_32-apple-watchos
|
//@ [arm64_32_apple_watchos] compile-flags: --target arm64_32-apple-watchos
|
||||||
// [arm64_32_apple_watchos] needs-llvm-components: aarch64
|
//@ [arm64_32_apple_watchos] needs-llvm-components: aarch64
|
||||||
// revisions: arm64e_apple_darwin
|
//@ revisions: arm64e_apple_darwin
|
||||||
// [arm64e_apple_darwin] compile-flags: --target arm64e-apple-darwin
|
//@ [arm64e_apple_darwin] compile-flags: --target arm64e-apple-darwin
|
||||||
// [arm64e_apple_darwin] needs-llvm-components: aarch64
|
//@ [arm64e_apple_darwin] needs-llvm-components: aarch64
|
||||||
// revisions: arm64e_apple_ios
|
//@ revisions: arm64e_apple_ios
|
||||||
// [arm64e_apple_ios] compile-flags: --target arm64e-apple-ios
|
//@ [arm64e_apple_ios] compile-flags: --target arm64e-apple-ios
|
||||||
// [arm64e_apple_ios] needs-llvm-components: aarch64
|
//@ [arm64e_apple_ios] needs-llvm-components: aarch64
|
||||||
// revisions: armv7k_apple_watchos
|
//@ revisions: armv7k_apple_watchos
|
||||||
// [armv7k_apple_watchos] compile-flags: --target armv7k-apple-watchos
|
//@ [armv7k_apple_watchos] compile-flags: --target armv7k-apple-watchos
|
||||||
// [armv7k_apple_watchos] needs-llvm-components: arm
|
//@ [armv7k_apple_watchos] needs-llvm-components: arm
|
||||||
// revisions: armv7s_apple_ios
|
//@ revisions: armv7s_apple_ios
|
||||||
// [armv7s_apple_ios] compile-flags: --target armv7s-apple-ios
|
//@ [armv7s_apple_ios] compile-flags: --target armv7s-apple-ios
|
||||||
// [armv7s_apple_ios] needs-llvm-components: arm
|
//@ [armv7s_apple_ios] needs-llvm-components: arm
|
||||||
// revisions: i386_apple_ios
|
//@ revisions: i386_apple_ios
|
||||||
// [i386_apple_ios] compile-flags: --target i386-apple-ios
|
//@ [i386_apple_ios] compile-flags: --target i386-apple-ios
|
||||||
// [i386_apple_ios] needs-llvm-components: x86
|
//@ [i386_apple_ios] needs-llvm-components: x86
|
||||||
// revisions: i686_apple_darwin
|
//@ revisions: i686_apple_darwin
|
||||||
// [i686_apple_darwin] compile-flags: --target i686-apple-darwin
|
//@ [i686_apple_darwin] compile-flags: --target i686-apple-darwin
|
||||||
// [i686_apple_darwin] needs-llvm-components: x86
|
//@ [i686_apple_darwin] needs-llvm-components: x86
|
||||||
// revisions: x86_64_apple_darwin
|
//@ revisions: x86_64_apple_darwin
|
||||||
// [x86_64_apple_darwin] compile-flags: --target x86_64-apple-darwin
|
//@ [x86_64_apple_darwin] compile-flags: --target x86_64-apple-darwin
|
||||||
// [x86_64_apple_darwin] needs-llvm-components: x86
|
//@ [x86_64_apple_darwin] needs-llvm-components: x86
|
||||||
// revisions: x86_64_apple_ios
|
//@ revisions: x86_64_apple_ios
|
||||||
// [x86_64_apple_ios] compile-flags: --target x86_64-apple-ios
|
//@ [x86_64_apple_ios] compile-flags: --target x86_64-apple-ios
|
||||||
// [x86_64_apple_ios] needs-llvm-components: x86
|
//@ [x86_64_apple_ios] needs-llvm-components: x86
|
||||||
// revisions: x86_64_apple_ios_macabi
|
//@ revisions: x86_64_apple_ios_macabi
|
||||||
// [x86_64_apple_ios_macabi] compile-flags: --target 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
|
//@ [x86_64_apple_ios_macabi] needs-llvm-components: x86
|
||||||
// revisions: x86_64_apple_tvos
|
//@ revisions: x86_64_apple_tvos
|
||||||
// [x86_64_apple_tvos] compile-flags: --target x86_64-apple-tvos
|
//@ [x86_64_apple_tvos] compile-flags: --target x86_64-apple-tvos
|
||||||
// [x86_64_apple_tvos] needs-llvm-components: x86
|
//@ [x86_64_apple_tvos] needs-llvm-components: x86
|
||||||
// revisions: x86_64_apple_watchos_sim
|
//@ revisions: x86_64_apple_watchos_sim
|
||||||
// [x86_64_apple_watchos_sim] compile-flags: --target 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
|
//@ [x86_64_apple_watchos_sim] needs-llvm-components: x86
|
||||||
// revisions: x86_64h_apple_darwin
|
//@ revisions: x86_64h_apple_darwin
|
||||||
// [x86_64h_apple_darwin] compile-flags: --target x86_64h-apple-darwin
|
//@ [x86_64h_apple_darwin] compile-flags: --target x86_64h-apple-darwin
|
||||||
// [x86_64h_apple_darwin] needs-llvm-components: x86
|
//@ [x86_64h_apple_darwin] needs-llvm-components: x86
|
||||||
|
|
||||||
// Sanity-check that each target can produce assembly code.
|
// Sanity-check that each target can produce assembly code.
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// ignore-tidy-linelength
|
// ignore-tidy-linelength
|
||||||
// revisions: nvptx64_nvidia_cuda
|
//@ revisions: nvptx64_nvidia_cuda
|
||||||
// [nvptx64_nvidia_cuda] compile-flags: --target nvptx64-nvidia-cuda
|
//@ [nvptx64_nvidia_cuda] compile-flags: --target nvptx64-nvidia-cuda
|
||||||
// [nvptx64_nvidia_cuda] needs-llvm-components: nvptx
|
//@ [nvptx64_nvidia_cuda] needs-llvm-components: nvptx
|
||||||
|
|
||||||
// Sanity-check that each target can produce assembly code.
|
// Sanity-check that each target can produce assembly code.
|
||||||
|
|
||||||
|
@ -1,80 +1,80 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// ignore-tidy-linelength
|
// ignore-tidy-linelength
|
||||||
// revisions: aarch64_pc_windows_msvc
|
//@ revisions: aarch64_pc_windows_msvc
|
||||||
// [aarch64_pc_windows_msvc] compile-flags: --target aarch64-pc-windows-msvc
|
//@ [aarch64_pc_windows_msvc] compile-flags: --target aarch64-pc-windows-msvc
|
||||||
// [aarch64_pc_windows_msvc] needs-llvm-components: aarch64
|
//@ [aarch64_pc_windows_msvc] needs-llvm-components: aarch64
|
||||||
// revisions: aarch64_pc_windows_gnullvm
|
//@ revisions: aarch64_pc_windows_gnullvm
|
||||||
// [aarch64_pc_windows_gnullvm] compile-flags: --target aarch64-pc-windows-gnullvm
|
//@ [aarch64_pc_windows_gnullvm] compile-flags: --target aarch64-pc-windows-gnullvm
|
||||||
// [aarch64_pc_windows_gnullvm] needs-llvm-components: aarch64
|
//@ [aarch64_pc_windows_gnullvm] needs-llvm-components: aarch64
|
||||||
// revisions: aarch64_unknown_uefi
|
//@ revisions: aarch64_unknown_uefi
|
||||||
// [aarch64_unknown_uefi] compile-flags: --target aarch64-unknown-uefi
|
//@ [aarch64_unknown_uefi] compile-flags: --target aarch64-unknown-uefi
|
||||||
// [aarch64_unknown_uefi] needs-llvm-components: aarch64
|
//@ [aarch64_unknown_uefi] needs-llvm-components: aarch64
|
||||||
// revisions: aarch64_uwp_windows_msvc
|
//@ revisions: aarch64_uwp_windows_msvc
|
||||||
// [aarch64_uwp_windows_msvc] compile-flags: --target aarch64-uwp-windows-msvc
|
//@ [aarch64_uwp_windows_msvc] compile-flags: --target aarch64-uwp-windows-msvc
|
||||||
// [aarch64_uwp_windows_msvc] needs-llvm-components: aarch64
|
//@ [aarch64_uwp_windows_msvc] needs-llvm-components: aarch64
|
||||||
// revisions: avr_unknown_gnu_atmega328
|
//@ revisions: avr_unknown_gnu_atmega328
|
||||||
// [avr_unknown_gnu_atmega328] compile-flags: --target avr-unknown-gnu-atmega328
|
//@ [avr_unknown_gnu_atmega328] compile-flags: --target avr-unknown-gnu-atmega328
|
||||||
// [avr_unknown_gnu_atmega328] needs-llvm-components: avr
|
//@ [avr_unknown_gnu_atmega328] needs-llvm-components: avr
|
||||||
// revisions: bpfeb_unknown_none
|
//@ revisions: bpfeb_unknown_none
|
||||||
// [bpfeb_unknown_none] compile-flags: --target bpfeb-unknown-none
|
//@ [bpfeb_unknown_none] compile-flags: --target bpfeb-unknown-none
|
||||||
// [bpfeb_unknown_none] needs-llvm-components: bpf
|
//@ [bpfeb_unknown_none] needs-llvm-components: bpf
|
||||||
// revisions: bpfel_unknown_none
|
//@ revisions: bpfel_unknown_none
|
||||||
// [bpfel_unknown_none] compile-flags: --target bpfel-unknown-none
|
//@ [bpfel_unknown_none] compile-flags: --target bpfel-unknown-none
|
||||||
// [bpfel_unknown_none] needs-llvm-components: bpf
|
//@ [bpfel_unknown_none] needs-llvm-components: bpf
|
||||||
// revisions: i586_pc_windows_msvc
|
//@ revisions: i586_pc_windows_msvc
|
||||||
// [i586_pc_windows_msvc] compile-flags: --target i586-pc-windows-msvc
|
//@ [i586_pc_windows_msvc] compile-flags: --target i586-pc-windows-msvc
|
||||||
// [i586_pc_windows_msvc] needs-llvm-components: x86
|
//@ [i586_pc_windows_msvc] needs-llvm-components: x86
|
||||||
// revisions: i686_pc_windows_gnu
|
//@ revisions: i686_pc_windows_gnu
|
||||||
// [i686_pc_windows_gnu] compile-flags: --target i686-pc-windows-gnu
|
//@ [i686_pc_windows_gnu] compile-flags: --target i686-pc-windows-gnu
|
||||||
// [i686_pc_windows_gnu] needs-llvm-components: x86
|
//@ [i686_pc_windows_gnu] needs-llvm-components: x86
|
||||||
// revisions: i686_pc_windows_msvc
|
//@ revisions: i686_pc_windows_msvc
|
||||||
// [i686_pc_windows_msvc] compile-flags: --target i686-pc-windows-msvc
|
//@ [i686_pc_windows_msvc] compile-flags: --target i686-pc-windows-msvc
|
||||||
// [i686_pc_windows_msvc] needs-llvm-components: x86
|
//@ [i686_pc_windows_msvc] needs-llvm-components: x86
|
||||||
// revisions: i686_pc_windows_gnullvm
|
//@ revisions: i686_pc_windows_gnullvm
|
||||||
// [i686_pc_windows_gnullvm] compile-flags: --target i686-pc-windows-gnullvm
|
//@ [i686_pc_windows_gnullvm] compile-flags: --target i686-pc-windows-gnullvm
|
||||||
// [i686_pc_windows_gnullvm] needs-llvm-components: x86
|
//@ [i686_pc_windows_gnullvm] needs-llvm-components: x86
|
||||||
// revisions: i686_uwp_windows_gnu
|
//@ revisions: i686_uwp_windows_gnu
|
||||||
// [i686_uwp_windows_gnu] compile-flags: --target i686-uwp-windows-gnu
|
//@ [i686_uwp_windows_gnu] compile-flags: --target i686-uwp-windows-gnu
|
||||||
// [i686_uwp_windows_gnu] needs-llvm-components: x86
|
//@ [i686_uwp_windows_gnu] needs-llvm-components: x86
|
||||||
// revisions: i686_unknown_uefi
|
//@ revisions: i686_unknown_uefi
|
||||||
// [i686_unknown_uefi] compile-flags: --target i686-unknown-uefi
|
//@ [i686_unknown_uefi] compile-flags: --target i686-unknown-uefi
|
||||||
// [i686_unknown_uefi] needs-llvm-components: x86
|
//@ [i686_unknown_uefi] needs-llvm-components: x86
|
||||||
// revisions: i686_uwp_windows_msvc
|
//@ revisions: i686_uwp_windows_msvc
|
||||||
// [i686_uwp_windows_msvc] compile-flags: --target i686-uwp-windows-msvc
|
//@ [i686_uwp_windows_msvc] compile-flags: --target i686-uwp-windows-msvc
|
||||||
// [i686_uwp_windows_msvc] needs-llvm-components: x86
|
//@ [i686_uwp_windows_msvc] needs-llvm-components: x86
|
||||||
// revisions: i686_win7_windows_msvc
|
//@ revisions: i686_win7_windows_msvc
|
||||||
// [i686_win7_windows_msvc] compile-flags: --target i686-win7-windows-msvc
|
//@ [i686_win7_windows_msvc] compile-flags: --target i686-win7-windows-msvc
|
||||||
// [i686_win7_windows_msvc] needs-llvm-components: x86
|
//@ [i686_win7_windows_msvc] needs-llvm-components: x86
|
||||||
// revisions: powerpc64_ibm_aix
|
//@ revisions: powerpc64_ibm_aix
|
||||||
// [powerpc64_ibm_aix] compile-flags: --target powerpc64-ibm-aix
|
//@ [powerpc64_ibm_aix] compile-flags: --target powerpc64-ibm-aix
|
||||||
// [powerpc64_ibm_aix] needs-llvm-components: powerpc
|
//@ [powerpc64_ibm_aix] needs-llvm-components: powerpc
|
||||||
// revisions: thumbv7a_uwp_windows_msvc
|
//@ revisions: thumbv7a_uwp_windows_msvc
|
||||||
// [thumbv7a_uwp_windows_msvc] compile-flags: --target thumbv7a-uwp-windows-msvc
|
//@ [thumbv7a_uwp_windows_msvc] compile-flags: --target thumbv7a-uwp-windows-msvc
|
||||||
// [thumbv7a_uwp_windows_msvc] needs-llvm-components: arm
|
//@ [thumbv7a_uwp_windows_msvc] needs-llvm-components: arm
|
||||||
// revisions: thumbv7a_pc_windows_msvc
|
//@ revisions: thumbv7a_pc_windows_msvc
|
||||||
// [thumbv7a_pc_windows_msvc] compile-flags: --target thumbv7a-pc-windows-msvc
|
//@ [thumbv7a_pc_windows_msvc] compile-flags: --target thumbv7a-pc-windows-msvc
|
||||||
// [thumbv7a_pc_windows_msvc] needs-llvm-components: arm
|
//@ [thumbv7a_pc_windows_msvc] needs-llvm-components: arm
|
||||||
// revisions: x86_64_pc_windows_gnu
|
//@ revisions: x86_64_pc_windows_gnu
|
||||||
// [x86_64_pc_windows_gnu] compile-flags: --target 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
|
//@ [x86_64_pc_windows_gnu] needs-llvm-components: x86
|
||||||
// revisions: x86_64_pc_windows_gnullvm
|
//@ revisions: x86_64_pc_windows_gnullvm
|
||||||
// [x86_64_pc_windows_gnullvm] compile-flags: --target 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
|
//@ [x86_64_pc_windows_gnullvm] needs-llvm-components: x86
|
||||||
// revisions: x86_64_pc_windows_msvc
|
//@ revisions: x86_64_pc_windows_msvc
|
||||||
// [x86_64_pc_windows_msvc] compile-flags: --target 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
|
//@ [x86_64_pc_windows_msvc] needs-llvm-components: x86
|
||||||
// revisions: x86_64_unknown_uefi
|
//@ revisions: x86_64_unknown_uefi
|
||||||
// [x86_64_unknown_uefi] compile-flags: --target x86_64-unknown-uefi
|
//@ [x86_64_unknown_uefi] compile-flags: --target x86_64-unknown-uefi
|
||||||
// [x86_64_unknown_uefi] needs-llvm-components: x86
|
//@ [x86_64_unknown_uefi] needs-llvm-components: x86
|
||||||
// revisions: x86_64_uwp_windows_gnu
|
//@ revisions: x86_64_uwp_windows_gnu
|
||||||
// [x86_64_uwp_windows_gnu] compile-flags: --target 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
|
//@ [x86_64_uwp_windows_gnu] needs-llvm-components: x86
|
||||||
// revisions: x86_64_uwp_windows_msvc
|
//@ revisions: x86_64_uwp_windows_msvc
|
||||||
// [x86_64_uwp_windows_msvc] compile-flags: --target 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
|
//@ [x86_64_uwp_windows_msvc] needs-llvm-components: x86
|
||||||
// revisions: x86_64_win7_windows_msvc
|
//@ revisions: x86_64_win7_windows_msvc
|
||||||
// [x86_64_win7_windows_msvc] compile-flags: --target 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
|
//@ [x86_64_win7_windows_msvc] needs-llvm-components: x86
|
||||||
|
|
||||||
// Sanity-check that each target can produce assembly code.
|
// Sanity-check that each target can produce assembly code.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// compile-flags: -O -C lto=thin -C prefer-dynamic=no
|
//@ compile-flags: -O -C lto=thin -C prefer-dynamic=no
|
||||||
// only-x86_64-unknown-linux-gnu
|
//@ only-x86_64-unknown-linux-gnu
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
|
|
||||||
// CHECK: main
|
// CHECK: main
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// only-wasm32-bare
|
//@ only-wasm32-bare
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: -C target-feature=+exception-handling
|
//@ compile-flags: -C target-feature=+exception-handling
|
||||||
// compile-flags: -C panic=unwind
|
//@ compile-flags: -C panic=unwind
|
||||||
// compile-flags: -C llvm-args=-wasm-enable-eh
|
//@ compile-flags: -C llvm-args=-wasm-enable-eh
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
#![feature(core_intrinsics)]
|
#![feature(core_intrinsics)]
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
|
//@ compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
|
||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
// ignore-sgx
|
//@ ignore-sgx
|
||||||
// ignore-macos (manipulates rsp too)
|
//@ ignore-macos (manipulates rsp too)
|
||||||
|
|
||||||
// Depending on various codegen choices, this might end up copying
|
// Depending on various codegen choices, this might end up copying
|
||||||
// a `<2 x i8>`, an `i16`, or two `i8`s.
|
// a `<2 x i8>`, an `i16`, or two `i8`s.
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
// Floating-point clamp is designed to be implementable as max+min,
|
// Floating-point clamp is designed to be implementable as max+min,
|
||||||
// so check to make sure that's what it's actually emitting.
|
// so check to make sure that's what it's actually emitting.
|
||||||
|
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
|
//@ compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
|
||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
// ignore-sgx
|
//@ ignore-sgx
|
||||||
|
|
||||||
// CHECK-LABEL: clamp_demo:
|
// CHECK-LABEL: clamp_demo:
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// Test LVI load hardening on SGX enclave code
|
// Test LVI load hardening on SGX enclave code
|
||||||
|
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --crate-type staticlib
|
//@ compile-flags: --crate-type staticlib
|
||||||
// only-x86_64-fortanix-unknown-sgx
|
//@ only-x86_64-fortanix-unknown-sgx
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub extern fn plus_one(r: &mut u64) {
|
pub extern fn plus_one(r: &mut u64) {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// Test LVI ret hardening on generic rust code
|
// Test LVI ret hardening on generic rust code
|
||||||
|
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --crate-type staticlib
|
//@ compile-flags: --crate-type staticlib
|
||||||
// only-x86_64-fortanix-unknown-sgx
|
//@ only-x86_64-fortanix-unknown-sgx
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub extern fn myret() {}
|
pub extern fn myret() {}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// Test LVI load hardening on SGX inline assembly code
|
// Test LVI load hardening on SGX inline assembly code
|
||||||
|
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --crate-type staticlib
|
//@ compile-flags: --crate-type staticlib
|
||||||
// only-x86_64-fortanix-unknown-sgx
|
//@ only-x86_64-fortanix-unknown-sgx
|
||||||
|
|
||||||
use std::arch::asm;
|
use std::arch::asm;
|
||||||
|
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
// Test that the function return is (not) converted into a jump to the thunk
|
// 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.
|
// when the `-Zfunction-return={keep,thunk-extern}` flag is (not) set.
|
||||||
|
|
||||||
// revisions: unset keep thunk-extern keep-thunk-extern thunk-extern-keep
|
//@ revisions: unset keep thunk-extern keep-thunk-extern thunk-extern-keep
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: -O
|
//@ compile-flags: -O
|
||||||
// [keep] compile-flags: -Zfunction-return=keep
|
//@ [keep] compile-flags: -Zfunction-return=keep
|
||||||
// [thunk-extern] compile-flags: -Zfunction-return=thunk-extern
|
//@ [thunk-extern] compile-flags: -Zfunction-return=thunk-extern
|
||||||
// [keep-thunk-extern] compile-flags: -Zfunction-return=keep -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
|
//@ [thunk-extern-keep] compile-flags: -Zfunction-return=thunk-extern -Zfunction-return=keep
|
||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
// ignore-x86_64-apple-darwin Symbol is called `___x86_return_thunk` (Darwin's extra underscore)
|
//@ ignore-x86_64-apple-darwin Symbol is called `___x86_return_thunk` (Darwin's extra underscore)
|
||||||
// ignore-sgx Tests incompatible with LVI mitigations
|
//@ ignore-sgx Tests incompatible with LVI mitigations
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// compile-flags: -C no-prepopulate-passes -Zcf-protection=full
|
//@ compile-flags: -C no-prepopulate-passes -Zcf-protection=full
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// needs-asm-support
|
//@ needs-asm-support
|
||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
#![feature(naked_functions)]
|
#![feature(naked_functions)]
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
// Test that jump tables are (not) emitted when the `-Zno-jump-tables`
|
// Test that jump tables are (not) emitted when the `-Zno-jump-tables`
|
||||||
// flag is (not) set.
|
// flag is (not) set.
|
||||||
|
|
||||||
// revisions: unset set
|
//@ revisions: unset set
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: -O
|
//@ compile-flags: -O
|
||||||
// [set] compile-flags: -Zno-jump-tables
|
//@ [set] compile-flags: -Zno-jump-tables
|
||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
// ignore-sgx
|
//@ ignore-sgx
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// only-x86_64
|
//@ only-x86_64
|
||||||
// assembly-output: emit-asm
|
//@ assembly-output: emit-asm
|
||||||
// compile-flags: --crate-type staticlib -Ctarget-feature=+sse4.2
|
//@ compile-flags: --crate-type staticlib -Ctarget-feature=+sse4.2
|
||||||
|
|
||||||
// CHECK-LABEL: banana
|
// CHECK-LABEL: banana
|
||||||
// CHECK: crc32
|
// CHECK: crc32
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// needs-asm-support
|
//@ needs-asm-support
|
||||||
// compile-flags: -Ccodegen-units=1 -Zprint-mono-items=lazy --crate-type=lib
|
//@ compile-flags: -Ccodegen-units=1 -Zprint-mono-items=lazy --crate-type=lib
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub unsafe fn f() {
|
pub unsafe fn f() {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// compile-flags: -Copt-level=0
|
//@ compile-flags: -Copt-level=0
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
// In the current version of the collector that still has to support
|
// In the current version of the collector that still has to support
|
||||||
// legacy-codegen, closures do not generate their own MonoItems, so we are
|
// legacy-codegen, closures do not generate their own MonoItems, so we are
|
||||||
// ignoring this test until MIR codegen has taken over completely
|
// 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)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
|
||||||
// aux-build:cgu_extern_closures.rs
|
//@ aux-build:cgu_extern_closures.rs
|
||||||
extern crate cgu_extern_closures;
|
extern crate cgu_extern_closures;
|
||||||
|
|
||||||
//~ MONO_ITEM fn cross_crate_closures::start[0]
|
//~ MONO_ITEM fn cross_crate_closures::start[0]
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
// compile-flags:-Zprint-mono-items=eager
|
//@ compile-flags:-Zprint-mono-items=eager
|
||||||
|
|
||||||
#![deny(dead_code)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
|
||||||
// aux-build:cgu_generic_function.rs
|
//@ aux-build:cgu_generic_function.rs
|
||||||
extern crate cgu_generic_function;
|
extern crate cgu_generic_function;
|
||||||
|
|
||||||
//~ MONO_ITEM fn start
|
//~ MONO_ITEM fn start
|
||||||
|
@ -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)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
|
||||||
// aux-build:cgu_export_trait_method.rs
|
//@ aux-build:cgu_export_trait_method.rs
|
||||||
extern crate cgu_export_trait_method;
|
extern crate cgu_export_trait_method;
|
||||||
|
|
||||||
use cgu_export_trait_method::Trait;
|
use cgu_export_trait_method::Trait;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//
|
//
|
||||||
// compile-flags:-Zprint-mono-items=eager
|
//@ compile-flags:-Zprint-mono-items=eager
|
||||||
// compile-flags:-Zinline-in-all-cgus
|
//@ compile-flags:-Zinline-in-all-cgus
|
||||||
|
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
|
||||||
|
@ -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)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//
|
//
|
||||||
// compile-flags:-Zprint-mono-items=eager
|
//@ compile-flags:-Zprint-mono-items=eager
|
||||||
// compile-flags:-Zinline-in-all-cgus
|
//@ compile-flags:-Zinline-in-all-cgus
|
||||||
|
|
||||||
#![deny(dead_code)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
@ -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)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
@ -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)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// compile-flags:-Zprint-mono-items=eager
|
//@ compile-flags:-Zprint-mono-items=eager
|
||||||
|
|
||||||
#![deny(dead_code)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// compile-flags:-Zprint-mono-items=lazy
|
//@ compile-flags:-Zprint-mono-items=lazy
|
||||||
|
|
||||||
// rust-lang/rust#90405
|
// rust-lang/rust#90405
|
||||||
// Ensure implicit panic calls are collected
|
// Ensure implicit panic calls are collected
|
||||||
|
@ -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)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
@ -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)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
// In the current version of the collector that still has to support
|
// In the current version of the collector that still has to support
|
||||||
// legacy-codegen, closures do not generate their own MonoItems, so we are
|
// legacy-codegen, closures do not generate their own MonoItems, so we are
|
||||||
// ignoring this test until MIR codegen has taken over completely
|
// 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)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//
|
//
|
||||||
// compile-flags:-Zprint-mono-items=eager
|
//@ compile-flags:-Zprint-mono-items=eager
|
||||||
// compile-flags:-Zinline-in-all-cgus
|
//@ compile-flags:-Zinline-in-all-cgus
|
||||||
|
|
||||||
#![deny(dead_code)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// compile-flags:-Zprint-mono-items=eager
|
//@ compile-flags:-Zprint-mono-items=eager
|
||||||
|
|
||||||
#![deny(dead_code)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// compile-flags:-Zprint-mono-items=eager
|
//@ compile-flags:-Zprint-mono-items=eager
|
||||||
|
|
||||||
#![deny(dead_code)]
|
#![deny(dead_code)]
|
||||||
#![crate_type="lib"]
|
#![crate_type="lib"]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// compile-flags:-Zprint-mono-items=eager -Zpolymorphize=on
|
//@ compile-flags:-Zprint-mono-items=eager -Zpolymorphize=on
|
||||||
|
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// compile-flags:-Zprint-mono-items=eager
|
//@ compile-flags:-Zprint-mono-items=eager
|
||||||
|
|
||||||
#![deny(dead_code)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
@ -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)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
@ -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)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
@ -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)]
|
#![deny(dead_code)]
|
||||||
#![feature(start)]
|
#![feature(start)]
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user