diff options
Diffstat (limited to 'src/test/codegen')
| -rw-r--r-- | src/test/codegen/align-enum.rs | 1 | ||||
| -rw-r--r-- | src/test/codegen/align-struct.rs | 1 | ||||
| -rw-r--r-- | src/test/codegen/consts.rs | 1 | ||||
| -rw-r--r-- | src/test/codegen/gdb_debug_script_load.rs | 2 | ||||
| -rw-r--r-- | src/test/codegen/packed.rs | 1 | ||||
| -rw-r--r-- | src/test/codegen/repeat-trusted-len.rs | 1 | ||||
| -rw-r--r-- | src/test/codegen/set-discriminant-invalid.rs | 43 | ||||
| -rw-r--r-- | src/test/codegen/simd-intrinsic/simd-intrinsic-float-minmax.rs | 2 | ||||
| -rw-r--r-- | src/test/codegen/stores.rs | 1 |
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"] |
