about summary refs log tree commit diff
path: root/src/test/codegen
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/codegen')
-rw-r--r--src/test/codegen/align-enum.rs1
-rw-r--r--src/test/codegen/align-struct.rs1
-rw-r--r--src/test/codegen/consts.rs1
-rw-r--r--src/test/codegen/gdb_debug_script_load.rs2
-rw-r--r--src/test/codegen/packed.rs1
-rw-r--r--src/test/codegen/repeat-trusted-len.rs1
-rw-r--r--src/test/codegen/set-discriminant-invalid.rs43
-rw-r--r--src/test/codegen/simd-intrinsic/simd-intrinsic-float-minmax.rs2
-rw-r--r--src/test/codegen/stores.rs1
9 files changed, 45 insertions, 8 deletions
diff --git a/src/test/codegen/align-enum.rs b/src/test/codegen/align-enum.rs
index 4241fcea804..72447fbc079 100644
--- a/src/test/codegen/align-enum.rs
+++ b/src/test/codegen/align-enum.rs
@@ -1,6 +1,5 @@
 // compile-flags: -C no-prepopulate-passes
 // ignore-tidy-linelength
-// min-llvm-version 7.0
 
 #![crate_type = "lib"]
 
diff --git a/src/test/codegen/align-struct.rs b/src/test/codegen/align-struct.rs
index c0d6a0c80e1..5e290323907 100644
--- a/src/test/codegen/align-struct.rs
+++ b/src/test/codegen/align-struct.rs
@@ -1,6 +1,5 @@
 // compile-flags: -C no-prepopulate-passes
 // ignore-tidy-linelength
-// min-llvm-version 7.0
 
 #![crate_type = "lib"]
 
diff --git a/src/test/codegen/consts.rs b/src/test/codegen/consts.rs
index e0843f5ff08..7d65ad1435e 100644
--- a/src/test/codegen/consts.rs
+++ b/src/test/codegen/consts.rs
@@ -1,6 +1,5 @@
 // compile-flags: -C no-prepopulate-passes
 // ignore-tidy-linelength
-// min-llvm-version 7.0
 
 #![crate_type = "lib"]
 
diff --git a/src/test/codegen/gdb_debug_script_load.rs b/src/test/codegen/gdb_debug_script_load.rs
index 2e8dc7b6f36..178269f611e 100644
--- a/src/test/codegen/gdb_debug_script_load.rs
+++ b/src/test/codegen/gdb_debug_script_load.rs
@@ -1,6 +1,8 @@
 // ignore-tidy-linelength
 // ignore-windows
 // ignore-macos
+// ignore-wasm
+// ignore-emscripten
 
 // compile-flags: -g -C no-prepopulate-passes
 
diff --git a/src/test/codegen/packed.rs b/src/test/codegen/packed.rs
index 3c8ff394849..f3f5202206c 100644
--- a/src/test/codegen/packed.rs
+++ b/src/test/codegen/packed.rs
@@ -1,6 +1,5 @@
 // ignore-tidy-linelength
 // compile-flags: -C no-prepopulate-passes
-// min-llvm-version 7.0
 
 #![crate_type = "lib"]
 
diff --git a/src/test/codegen/repeat-trusted-len.rs b/src/test/codegen/repeat-trusted-len.rs
index 87f29f6047c..99f3464c076 100644
--- a/src/test/codegen/repeat-trusted-len.rs
+++ b/src/test/codegen/repeat-trusted-len.rs
@@ -1,6 +1,5 @@
 // compile-flags: -O
 // ignore-tidy-linelength
-// min-llvm-version 7.0
 
 #![crate_type = "lib"]
 
diff --git a/src/test/codegen/set-discriminant-invalid.rs b/src/test/codegen/set-discriminant-invalid.rs
new file mode 100644
index 00000000000..d9614f062b7
--- /dev/null
+++ b/src/test/codegen/set-discriminant-invalid.rs
@@ -0,0 +1,43 @@
+// compile-flags: -C opt-level=0
+#![crate_type = "lib"]
+
+pub enum ApiError {}
+#[allow(dead_code)]
+pub struct TokioError {
+    b: bool,
+}
+pub enum Error {
+    Api {
+        source: ApiError,
+    },
+    Ethereum,
+    Tokio {
+        source: TokioError,
+    },
+}
+struct Api;
+impl IntoError<Error> for Api
+{
+    type Source = ApiError;
+    // CHECK-LABEL: @into_error
+    // CHECK: llvm.trap()
+    // Also check the next two instructions to make sure we do not match against `trap`
+    // elsewhere in the code.
+    // CHECK-NEXT: load
+    // CHECK-NEXT: ret
+    #[no_mangle]
+    fn into_error(self, error: Self::Source) -> Error {
+        Error::Api {
+            source: (|v| v)(error),
+        }
+    }
+}
+
+pub trait IntoError<E>
+{
+    /// The underlying error
+    type Source;
+
+    /// Combine the information to produce the error
+    fn into_error(self, source: Self::Source) -> E;
+}
diff --git a/src/test/codegen/simd-intrinsic/simd-intrinsic-float-minmax.rs b/src/test/codegen/simd-intrinsic/simd-intrinsic-float-minmax.rs
index 7b9b1aec6c8..4e0abed78cd 100644
--- a/src/test/codegen/simd-intrinsic/simd-intrinsic-float-minmax.rs
+++ b/src/test/codegen/simd-intrinsic/simd-intrinsic-float-minmax.rs
@@ -1,5 +1,3 @@
-// min-llvm-version 7.0
-
 // compile-flags: -C no-prepopulate-passes
 
 #![crate_type = "lib"]
diff --git a/src/test/codegen/stores.rs b/src/test/codegen/stores.rs
index 64143aee669..4ea003e99ad 100644
--- a/src/test/codegen/stores.rs
+++ b/src/test/codegen/stores.rs
@@ -1,6 +1,5 @@
 // compile-flags: -C no-prepopulate-passes
 // ignore-tidy-linelength
-// min-llvm-version 7.0
 
 #![crate_type = "lib"]