about summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-12-23 20:39:47 +0000
committerbors <bors@rust-lang.org>2023-12-23 20:39:47 +0000
commit2d7be73931e0978c8758a672cc7258b417a7e999 (patch)
tree7456fb60d6f6d6cc561c2bb3dc25ebc46a7446ee /compiler
parent520e30be83b4ed57b609d33166c988d1512bf4f3 (diff)
parentaa2e5fadd8d924301e3ea1a8f55d222769f76fcb (diff)
downloadrust-2d7be73931e0978c8758a672cc7258b417a7e999.tar.gz
rust-2d7be73931e0978c8758a672cc7258b417a7e999.zip
Auto merge of #119263 - matthiaskrgr:rollup-zxok9fb, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - #112936 (Add illumos aarch64 target for rust.)
 - #119153 (stabilize `file_create_new`)
 - #119246 ([rustdoc] Add `is_object_safe` information for traits in JSON output)
 - #119254 (Remove an unused diagnostic struct)
 - #119255 (add a test for ICE #112822)

r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'compiler')
-rw-r--r--compiler/rustc_middle/src/ty/diagnostics.rs8
-rw-r--r--compiler/rustc_target/src/spec/mod.rs1
-rw-r--r--compiler/rustc_target/src/spec/targets/aarch64_unknown_illumos.rs19
3 files changed, 20 insertions, 8 deletions
diff --git a/compiler/rustc_middle/src/ty/diagnostics.rs b/compiler/rustc_middle/src/ty/diagnostics.rs
index 0094825fc70..c1e2479defd 100644
--- a/compiler/rustc_middle/src/ty/diagnostics.rs
+++ b/compiler/rustc_middle/src/ty/diagnostics.rs
@@ -628,11 +628,3 @@ impl<'tcx> FallibleTypeFolder<TyCtxt<'tcx>> for MakeSuggestableFolder<'tcx> {
         c.try_super_fold_with(self)
     }
 }
-
-#[derive(Diagnostic)]
-#[diag(middle_const_not_used_in_type_alias)]
-pub(super) struct ConstNotUsedTraitAlias {
-    pub ct: String,
-    #[primary_span]
-    pub span: Span,
-}
diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs
index f3866f4904b..4789a9be151 100644
--- a/compiler/rustc_target/src/spec/mod.rs
+++ b/compiler/rustc_target/src/spec/mod.rs
@@ -1591,6 +1591,7 @@ supported_targets! {
     ("sparcv9-sun-solaris", sparcv9_sun_solaris),
 
     ("x86_64-unknown-illumos", x86_64_unknown_illumos),
+    ("aarch64-unknown-illumos", aarch64_unknown_illumos),
 
     ("x86_64-pc-windows-gnu", x86_64_pc_windows_gnu),
     ("i686-pc-windows-gnu", i686_pc_windows_gnu),
diff --git a/compiler/rustc_target/src/spec/targets/aarch64_unknown_illumos.rs b/compiler/rustc_target/src/spec/targets/aarch64_unknown_illumos.rs
new file mode 100644
index 00000000000..634cb063a49
--- /dev/null
+++ b/compiler/rustc_target/src/spec/targets/aarch64_unknown_illumos.rs
@@ -0,0 +1,19 @@
+use crate::spec::{base, Cc, LinkerFlavor, SanitizerSet, Target};
+
+pub fn target() -> Target {
+    let mut base = base::illumos::opts();
+    base.add_pre_link_args(LinkerFlavor::Unix(Cc::Yes), &["-std=c99"]);
+    base.max_atomic_width = Some(128);
+    base.supported_sanitizers = SanitizerSet::ADDRESS | SanitizerSet::CFI;
+    base.features = "+v8a".into();
+
+    Target {
+        // LLVM does not currently have a separate illumos target,
+        // so we still pass Solaris to it
+        llvm_target: "aarch64-unknown-solaris2.11".into(),
+        pointer_width: 64,
+        data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
+        arch: "aarch64".into(),
+        options: base,
+    }
+}