From 236df390f3bc4ed69c26f4d51d584bea246da886 Mon Sep 17 00:00:00 2001
From: bjorn3 <17426603+bjorn3@users.noreply.github.com>
Date: Tue, 9 Jul 2024 11:25:14 +0000
Subject: [PATCH] Disable broken tests

---
 src/report.rs | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/src/toolchains/rust.rs b/src/toolchains/rust.rs
index 0c50f7a..bfde2b1 100644
--- a/src/toolchains/rust.rs
+++ b/src/toolchains/rust.rs
@@ -83,6 +83,7 @@ impl Toolchain for RustcToolchain {
             .arg(out_dir)
             .arg("--target")
             .arg(built_info::TARGET)
+            .arg("-g")
             .arg(format!("-Cmetadata={lib_name}"))
             .arg(src_path);
         if let Some(codegen_backend) = &self.codegen_backend {
diff --git a/src/report.rs b/src/report.rs
index 958ab43..dcf1044 100644
--- a/src/report.rs
+++ b/src/report.rs
@@ -48,6 +48,40 @@ pub fn get_test_rules(test: &TestKey, caller: &dyn Toolchain, callee: &dyn Toolc
     //
     // THIS AREA RESERVED FOR VENDORS TO APPLY PATCHES
 
+    if cfg!(all(target_arch = "aarch64", target_os = "linux")) {
+        if test.test == "F32Array" && test.options.convention == CallingConvention::C {
+            result.check = Busted(Check);
+        }
+    }
+
+    if cfg!(all(target_arch = "aarch64", target_os = "macos")) {
+        if test.test == "SingleVariantUnion" && test.options.convention == CallingConvention::C && test.options.repr == LangRepr::C {
+            result.check = Busted(Check);
+        }
+
+        if test.test == "OptionU128" && test.caller == "rustc" && test.options.convention == CallingConvention::Rust && test.options.repr == LangRepr::C {
+            result.check = Busted(Run);
+        }
+
+        if test.test == "OptionU128" && test.caller == "cgclif" && test.options.convention == CallingConvention::Rust && test.options.repr == LangRepr::C {
+            result.check = Busted(Check);
+        }
+    }
+
+    if cfg!(all(target_arch = "x86_64", windows)) {
+        if test.test == "simple" && test.options.convention == CallingConvention::Rust {
+            result.check = Busted(Check);
+        }
+
+        if test.test == "simple" && test.options.convention == CallingConvention::Rust && test.caller == "rustc" {
+            result.check = Busted(Run);
+        }
+    }
+
+    if test.test == "f16" || test.test == "f128" {
+        result.run = Skip;
+    }
+
     // END OF VENDOR RESERVED AREA
     //
     //
-- 
2.34.1

