From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- src/test/run-make-fulldeps/target-specs/Makefile | 11 ++++++++++ .../definitely-not-builtin-target.json | 7 +++++++ src/test/run-make-fulldeps/target-specs/foo.rs | 24 ++++++++++++++++++++++ .../target-specs/mismatching-data-layout.json | 6 ++++++ .../target-specs/my-awesome-platform.json | 11 ++++++++++ .../target-specs/my-incomplete-platform.json | 10 +++++++++ .../target-specs/my-invalid-platform.json | 1 + .../my-x86_64-unknown-linux-gnu-platform.json | 12 +++++++++++ 8 files changed, 82 insertions(+) create mode 100644 src/test/run-make-fulldeps/target-specs/Makefile create mode 100644 src/test/run-make-fulldeps/target-specs/definitely-not-builtin-target.json create mode 100644 src/test/run-make-fulldeps/target-specs/foo.rs create mode 100644 src/test/run-make-fulldeps/target-specs/mismatching-data-layout.json create mode 100644 src/test/run-make-fulldeps/target-specs/my-awesome-platform.json create mode 100644 src/test/run-make-fulldeps/target-specs/my-incomplete-platform.json create mode 100644 src/test/run-make-fulldeps/target-specs/my-invalid-platform.json create mode 100644 src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json (limited to 'src/test/run-make-fulldeps/target-specs') diff --git a/src/test/run-make-fulldeps/target-specs/Makefile b/src/test/run-make-fulldeps/target-specs/Makefile new file mode 100644 index 000000000..fb95ee553 --- /dev/null +++ b/src/test/run-make-fulldeps/target-specs/Makefile @@ -0,0 +1,11 @@ +-include ../tools.mk +all: + $(RUSTC) foo.rs --target=my-awesome-platform.json --crate-type=lib --emit=asm + $(CGREP) -v morestack < $(TMPDIR)/foo.s + $(RUSTC) foo.rs --target=my-invalid-platform.json 2>&1 | $(CGREP) "Error loading target specification" + $(RUSTC) foo.rs --target=my-incomplete-platform.json 2>&1 | $(CGREP) 'Field llvm-target' + RUST_TARGET_PATH=. $(RUSTC) foo.rs --target=my-awesome-platform --crate-type=lib --emit=asm + RUST_TARGET_PATH=. $(RUSTC) foo.rs --target=my-x86_64-unknown-linux-gnu-platform --crate-type=lib --emit=asm + $(RUSTC) -Z unstable-options --target=my-awesome-platform.json --print target-spec-json > $(TMPDIR)/test-platform.json && $(RUSTC) -Z unstable-options --target=$(TMPDIR)/test-platform.json --print target-spec-json | diff -q $(TMPDIR)/test-platform.json - + $(RUSTC) foo.rs --target=definitely-not-builtin-target 2>&1 | $(CGREP) 'may not set is_builtin' + $(RUSTC) foo.rs --target=mismatching-data-layout --crate-type=lib diff --git a/src/test/run-make-fulldeps/target-specs/definitely-not-builtin-target.json b/src/test/run-make-fulldeps/target-specs/definitely-not-builtin-target.json new file mode 100644 index 000000000..b36fa993d --- /dev/null +++ b/src/test/run-make-fulldeps/target-specs/definitely-not-builtin-target.json @@ -0,0 +1,7 @@ +{ + "arch": "x86_64", + "is-builtin": true, + "data-layout": "e-m:e-i64:64-f80:128-n8:16:32:64-S128", + "llvm-target": "x86_64-unknown-unknown-gnu", + "target-pointer-width": "64" +} diff --git a/src/test/run-make-fulldeps/target-specs/foo.rs b/src/test/run-make-fulldeps/target-specs/foo.rs new file mode 100644 index 000000000..d576a1dd2 --- /dev/null +++ b/src/test/run-make-fulldeps/target-specs/foo.rs @@ -0,0 +1,24 @@ +#![feature(lang_items, no_core, auto_traits)] +#![no_core] + +#[lang = "copy"] +trait Copy {} + +#[lang = "sized"] +trait Sized {} + +#[lang = "freeze"] +auto trait Freeze {} + +#[lang = "start"] +fn start(_main: fn() -> T, _argc: isize, _argv: *const *const u8) -> isize { + 0 +} + +extern "C" { + fn _foo() -> [u8; 16]; +} + +fn _main() { + let _a = unsafe { _foo() }; +} diff --git a/src/test/run-make-fulldeps/target-specs/mismatching-data-layout.json b/src/test/run-make-fulldeps/target-specs/mismatching-data-layout.json new file mode 100644 index 000000000..d12caaad1 --- /dev/null +++ b/src/test/run-make-fulldeps/target-specs/mismatching-data-layout.json @@ -0,0 +1,6 @@ +{ + "arch": "x86_64", + "data-layout": "e-m:e-i64:16:32:64", + "llvm-target": "x86_64-unknown-unknown-gnu", + "target-pointer-width": "64" +} diff --git a/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json new file mode 100644 index 000000000..00de3de05 --- /dev/null +++ b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json @@ -0,0 +1,11 @@ +{ + "data-layout": "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:32-n8:16:32-S128", + "linker-flavor": "gcc", + "llvm-target": "i686-unknown-linux-gnu", + "target-endian": "little", + "target-pointer-width": "32", + "target-c-int-width": "32", + "arch": "x86", + "os": "linux", + "morestack": false +} diff --git a/src/test/run-make-fulldeps/target-specs/my-incomplete-platform.json b/src/test/run-make-fulldeps/target-specs/my-incomplete-platform.json new file mode 100644 index 000000000..ceaa25cdf --- /dev/null +++ b/src/test/run-make-fulldeps/target-specs/my-incomplete-platform.json @@ -0,0 +1,10 @@ +{ + "data-layout": "e-p:32:32-f64:32:64-i64:32:64-f80:32:32-n8:16:32", + "linker-flavor": "gcc", + "target-endian": "little", + "target-pointer-width": "32", + "target-c-int-width": "32", + "arch": "x86", + "os": "foo", + "morestack": false +} diff --git a/src/test/run-make-fulldeps/target-specs/my-invalid-platform.json b/src/test/run-make-fulldeps/target-specs/my-invalid-platform.json new file mode 100644 index 000000000..3feac45b7 --- /dev/null +++ b/src/test/run-make-fulldeps/target-specs/my-invalid-platform.json @@ -0,0 +1 @@ +wow this json is really broke! diff --git a/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json new file mode 100644 index 000000000..6d5e964ed --- /dev/null +++ b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json @@ -0,0 +1,12 @@ +{ + "pre-link-args": {"gcc": ["-m64"]}, + "data-layout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128", + "linker-flavor": "gcc", + "llvm-target": "x86_64-unknown-linux-gnu", + "target-endian": "little", + "target-pointer-width": "64", + "target-c-int-width": "32", + "arch": "x86_64", + "os": "linux", + "morestack": false +} -- cgit v1.2.3