Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

propagate --target only if target is not host #123593

Closed
wants to merge 2 commits into from

Conversation

onur-ozkan
Copy link
Member

Passing --target alters RUSTFLAGS in the build scripts. Since there is no reason to pass them when building for the host triple, exclude them if the target is the host triple.

To test this PR, apply this patch:

diff --git a/src/tools/miri/build.rs b/src/tools/miri/build.rs
index 0977c0ba016..b26d318d57c 100644
--- a/src/tools/miri/build.rs
+++ b/src/tools/miri/build.rs
@@ -1,4 +1,5 @@
 fn main() {
+    assert!(cfg!(foo));
     // Don't rebuild miri when nothing changed.
     println!("cargo:rerun-if-changed=build.rs");
     // Re-export the TARGET environment variable so it can

Then, run RUSTFLAGS_NOT_BOOTSTRAP='--cfg=foo --check-cfg=cfg(foo) -Zunstable-options' x build miri.

Partially resolves #94007.

@rustbot
Copy link
Collaborator

rustbot commented Apr 7, 2024

r? @Mark-Simulacrum

rustbot has assigned @Mark-Simulacrum.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Apr 7, 2024
@rust-log-analyzer

This comment has been minimized.

Passing `--target` alters `RUSTFLAGS` in the build scripts. Since there is no reason
to pass them when building for the host triple, exclude them if the target is the host triple.

Signed-off-by: onur-ozkan <[email protected]>
@rust-log-analyzer

This comment has been minimized.

@onur-ozkan onur-ozkan added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 7, 2024
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-17 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
#17 exporting to docker image format
#17 sending tarball 28.5s done
#17 DONE 34.0s
##[endgroup]
Setting extra environment values for docker:  --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-17]
---
sccache: Starting the server...
##[group]Configure the build
configure: processing command line
configure: 
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-17', '--enable-llvm-link-shared', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'change-id=99999999', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling']
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-17/bin/llvm-config
configure: llvm.link-shared     := True
configure: rust.thin-lto-import-instr-limit := 10
configure: change-id            := 99999999
---
   |
14 | extern crate rustc_middle;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_ast`
  --> src/lib.rs:15:1
   |
15 | extern crate rustc_ast;
15 | extern crate rustc_ast;
   | ^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_codegen_ssa`
  --> src/lib.rs:16:1
   |
16 | extern crate rustc_codegen_ssa;
16 | extern crate rustc_codegen_ssa;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_data_structures`
  --> src/lib.rs:17:1
   |
17 | extern crate rustc_data_structures;
17 | extern crate rustc_data_structures;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_errors`
  --> src/lib.rs:18:1
   |
18 | extern crate rustc_errors;
18 | extern crate rustc_errors;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_fs_util`
  --> src/lib.rs:19:1
   |
19 | extern crate rustc_fs_util;
19 | extern crate rustc_fs_util;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_hir`
  --> src/lib.rs:20:1
   |
20 | extern crate rustc_hir;
20 | extern crate rustc_hir;
   | ^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_incremental`
  --> src/lib.rs:21:1
   |
21 | extern crate rustc_incremental;
21 | extern crate rustc_incremental;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_index`
  --> src/lib.rs:22:1
   |
22 | extern crate rustc_index;
22 | extern crate rustc_index;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_metadata`
  --> src/lib.rs:23:1
   |
23 | extern crate rustc_metadata;
23 | extern crate rustc_metadata;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_monomorphize`
  --> src/lib.rs:24:1
   |
24 | extern crate rustc_monomorphize;
24 | extern crate rustc_monomorphize;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_session`
  --> src/lib.rs:25:1
   |
25 | extern crate rustc_session;
25 | extern crate rustc_session;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_span`
  --> src/lib.rs:26:1
   |
26 | extern crate rustc_span;
26 | extern crate rustc_span;
   | ^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_target`
  --> src/lib.rs:27:1
   |
27 | extern crate rustc_target;
27 | extern crate rustc_target;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0463]: can't find crate for `rustc_driver`
  --> src/lib.rs:31:1
   |
31 | extern crate rustc_driver;
31 | extern crate rustc_driver;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
   |
   = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview`
error[E0432]: unresolved import `BinOp`
 --> src/num.rs:6:9
  |
6 |     use BinOp::*;
6 |     use BinOp::*;
  |         ^^^^^ use of undeclared type `BinOp`

error: cannot find macro `span_bug` in this scope
   --> src/common.rs:479:21
    |
479 |                     span_bug!(span, "`fn_abi_of_fn_ptr({sig}, {extra_args:?})` failed: {err:?}");

error: cannot find macro `span_bug` in this scope
   --> src/common.rs:482:21
    |
    |
482 |                     span_bug!(
    |                     ^^^^^^^^

error: cannot find macro `span_bug` in this scope
  --> src/global_asm.rs:54:37
   |
54 | ...                   span_bug!(op_sp, "asm const cannot be resolved; too generic");

error: cannot find macro `span_bug` in this scope
  --> src/global_asm.rs:69:38
   |
   |
69 | ...                   _ => span_bug!(op_sp, "asm sym is not a function"),

error: cannot find macro `span_bug` in this scope
  --> src/global_asm.rs:93:29
   |
   |
93 | ...                   span_bug!(op_sp, "invalid operand type for global_asm!")

error: cannot find macro `span_bug` in this scope
   --> src/inline_asm.rs:124:21
    |
    |
124 |                     span_bug!(span, "invalid type for asm sym (fn)");

error: cannot find macro `span_bug` in this scope
   --> src/inline_asm.rs:133:17
    |
    |
133 |                 span_bug!(span, "asm! label operands are not yet supported");

error: cannot find macro `span_bug` in this scope
   --> src/intrinsics/simd.rs:190:25
    |
    |
190 |                         span_bug!(span, "could not evaluate shuffle index array length")

error: cannot find macro `span_bug` in this scope
    --> src/intrinsics/mod.rs:1264:17
     |
---
   |
76 |     local: Local,
   |            ^^^^^ not found in this scope
   |
help: there is an enum variant `cranelift_module::Linkage::Local` and 1 other; try using the variant's enum
76 |     local: cranelift_module::Linkage,
   |            ~~~~~~~~~~~~~~~~~~~~~~~~~
76 |     local: crate::Linkage,
   |            ~~~~~~~~~~~~~~
   |            ~~~~~~~~~~~~~~

error[E0412]: cannot find type `Local` in this scope
  --> src/abi/returning.rs:12:44
   |
12 |     ssa_analyzed: &rustc_index::IndexSlice<Local, crate::analyze::SsaKind>,
   |
   |
help: there is an enum variant `cranelift_module::Linkage::Local` and 1 other; try using the variant's enum
   |
12 |     ssa_analyzed: &rustc_index::IndexSlice<cranelift_module::Linkage, crate::analyze::SsaKind>,
   |                                            ~~~~~~~~~~~~~~~~~~~~~~~~~
12 |     ssa_analyzed: &rustc_index::IndexSlice<crate::Linkage, crate::analyze::SsaKind>,
help: you might be missing a type parameter
   |
   |
10 | pub(super) fn codegen_return_param<'tcx, Local>(

error[E0425]: cannot find value `RETURN_PLACE` in this scope
  --> src/abi/returning.rs:17:39
   |
   |
17 |             let is_ssa = ssa_analyzed[RETURN_PLACE].is_ssa(fx, fx.fn_abi.ret.layout.ty);

error[E0425]: cannot find value `RETURN_PLACE` in this scope
  --> src/abi/returning.rs:18:42
   |
   |
18 |             (super::make_local_place(fx, RETURN_PLACE, fx.fn_abi.ret.layout, is_ssa), smallvec![])

error[E0425]: cannot find value `RETURN_PLACE` in this scope
  --> src/abi/returning.rs:33:14
   |
---
    |
179 |     local: Local,
    |            ^^^^^ not found in this scope
    |
help: there is an enum variant `cranelift_module::Linkage::Local` and 1 other; try using the variant's enum
179 |     local: cranelift_module::Linkage,
    |            ~~~~~~~~~~~~~~~~~~~~~~~~~
179 |     local: crate::Linkage,
    |            ~~~~~~~~~~~~~~
    |            ~~~~~~~~~~~~~~

error[E0425]: cannot find value `RETURN_PLACE` in this scope
   --> src/abi/mod.rs:217:46
    |
217 |     assert_eq!(fx.local_map.push(ret_place), RETURN_PLACE);

error[E0412]: cannot find type `Local` in this scope
   --> src/abi/mod.rs:269:25
    |
    |
269 |         .collect::<Vec<(Local, ArgKind<'tcx>, Ty<'tcx>)>>();
    |
    |
help: there is an enum variant `cranelift_module::Linkage::Local` and 1 other; try using the variant's enum
    |
269 |         .collect::<Vec<(cranelift_module::Linkage, ArgKind<'tcx>, Ty<'tcx>)>>();
    |                         ~~~~~~~~~~~~~~~~~~~~~~~~~
269 |         .collect::<Vec<(crate::Linkage, ArgKind<'tcx>, Ty<'tcx>)>>();
help: you might be missing a type parameter
    |
    |
204 | pub(crate) fn codegen_fn_prelude<'tcx, Local>(fx: &mut FunctionCx<'_, '_, 'tcx>, start_block: Block) {

error[E0425]: cannot find value `START_BLOCK` in this scope
   --> src/abi/mod.rs:337:41
    |
    |
337 |     fx.bcx.ins().jump(*fx.block_map.get(START_BLOCK).unwrap(), &[]);
    |                                         ^^^^^^^^^^^ help: a local variable with a similar name exists: `start_block`
error[E0412]: cannot find type `Operand` in this scope
   --> src/abi/mod.rs:348:15
    |
348 |     operand: &Operand<'tcx>,
348 |     operand: &Operand<'tcx>,
    |               ^^^^^^^ not found in this scope

error[E0412]: cannot find type `Operand` in this scope
   --> src/abi/mod.rs:359:12
    |
359 |     func: &Operand<'tcx>,

error[E0412]: cannot find type `Operand` in this scope
   --> src/abi/mod.rs:360:21
    |
    |
360 |     args: &[Spanned<Operand<'tcx>>],

error[E0412]: cannot find type `Place` in this scope
   --> src/abi/mod.rs:361:18
    |
---

error[E0412]: cannot find type `Local` in this scope
  --> src/analyze.rs:20:64
   |
20 | pub(crate) fn analyze(fx: &FunctionCx<'_, '_, '_>) -> IndexVec<Local, SsaKind> {
   |
   |
help: there is an enum variant `cranelift_module::Linkage::Local` and 1 other; try using the variant's enum
   |
20 | pub(crate) fn analyze(fx: &FunctionCx<'_, '_, '_>) -> IndexVec<cranelift_module::Linkage, SsaKind> {
   |                                                                ~~~~~~~~~~~~~~~~~~~~~~~~~
20 | pub(crate) fn analyze(fx: &FunctionCx<'_, '_, '_>) -> IndexVec<crate::Linkage, SsaKind> {
help: you might be missing a type parameter
   |
   |
20 | pub(crate) fn analyze<Local>(fx: &FunctionCx<'_, '_, '_>) -> IndexVec<Local, SsaKind> {

error[E0412]: cannot find type `Local` in this scope
  --> src/analyze.rs:22:81
   |
   |
22 |         fx.mir.local_decls.iter().map(|_| SsaKind::MaybeSsa).collect::<IndexVec<Local, SsaKind>>();
   |
   |
help: there is an enum variant `cranelift_module::Linkage::Local` and 1 other; try using the variant's enum
   |
22 |         fx.mir.local_decls.iter().map(|_| SsaKind::MaybeSsa).collect::<IndexVec<cranelift_module::Linkage, SsaKind>>();
   |                                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~
22 |         fx.mir.local_decls.iter().map(|_| SsaKind::MaybeSsa).collect::<IndexVec<crate::Linkage, SsaKind>>();
help: you might be missing a type parameter
   |
   |
20 | pub(crate) fn analyze<Local>(fx: &FunctionCx<'_, '_, '_>) -> IndexVec<Local, SsaKind> {

error[E0531]: cannot find tuple struct or tuple variant `Assign` in this scope
  --> src/analyze.rs:27:17
   |
   |
27 |                 Assign(place_and_rval) => match &place_and_rval.1 {

error[E0412]: cannot find type `BasicBlock` in this scope
  --> src/base.rs:65:29
   |
   |
65 |     let block_map: IndexVec<BasicBlock, Block> =
   |
help: consider importing one of these items
   |
3  + use core::intrinsics::mir::BasicBlock;
3  + use core::intrinsics::mir::BasicBlock;
   |
3  + use std::intrinsics::mir::BasicBlock;
   |

error[E0425]: cannot find value `START_BLOCK` in this scope
   --> src/base.rs:260:69
    |
260 |         fx.bcx.append_block_params_for_function_params(fx.block_map[START_BLOCK]);
    |                                                                     ^^^^^^^^^^^ help: a local variable with a similar name exists: `start_block`
error[E0425]: cannot find value `START_BLOCK` in this scope
   --> src/base.rs:261:45
    |
    |
261 |         fx.bcx.switch_to_block(fx.block_map[START_BLOCK]);
    |                                             ^^^^^^^^^^^ help: a local variable with a similar name exists: `start_block`
error[E0433]: failed to resolve: use of undeclared type `AssertKind`
   --> src/base.rs:350:21
    |
    |
350 |                     AssertKind::BoundsCheck { ref len, ref index } => {
    |                     ^^^^^^^^^^ use of undeclared type `AssertKind`
error[E0433]: failed to resolve: use of undeclared type `AssertKind`
   --> src/base.rs:362:21
    |
    |
362 |                     AssertKind::MisalignedPointerDereference { ref required, ref found } => {
    |                     ^^^^^^^^^^ use of undeclared type `AssertKind`
error[E0412]: cannot find type `Statement` in this scope
   --> src/base.rs:519:12
    |
519 |     stmt: &Statement<'tcx>,
---

error[E0412]: cannot find type `Body` in this scope
   --> src/common.rs:293:27
    |
293 |     pub(crate) mir: &'tcx Body<'tcx>,

error[E0412]: cannot find type `BasicBlock` in this scope
   --> src/common.rs:297:36
    |
    |
297 |     pub(crate) block_map: IndexVec<BasicBlock, Block>,
    |
help: consider importing one of these items
    |
1   + use core::intrinsics::mir::BasicBlock;
1   + use core::intrinsics::mir::BasicBlock;
    |
1   + use std::intrinsics::mir::BasicBlock;
    |

error[E0412]: cannot find type `Local` in this scope
   --> src/common.rs:298:36
    |
298 |     pub(crate) local_map: IndexVec<Local, CPlace<'tcx>>,
    |
    |
help: there is an enum variant `cranelift_module::Linkage::Local` and 1 other; try using the variant's enum
    |
298 |     pub(crate) local_map: IndexVec<cranelift_module::Linkage, CPlace<'tcx>>,
    |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~
298 |     pub(crate) local_map: IndexVec<crate::Linkage, CPlace<'tcx>>,
help: you might be missing a type parameter
    |
    |
282 | pub(crate) struct FunctionCx<'m, 'clif, 'tcx: 'm, Local> {

error[E0412]: cannot find type `BasicBlock` in this scope
   --> src/common.rs:376:40
    |
    |
376 |     pub(crate) fn get_block(&self, bb: BasicBlock) -> Block {
    |
help: consider importing one of these items
    |
1   + use core::intrinsics::mir::BasicBlock;
1   + use core::intrinsics::mir::BasicBlock;
    |
1   + use std::intrinsics::mir::BasicBlock;
    |

error[E0412]: cannot find type `Local` in this scope
   --> src/common.rs:380:53
    |
380 |     pub(crate) fn get_local_place(&mut self, local: Local) -> CPlace<'tcx> {
    |
    |
help: there is an enum variant `cranelift_module::Linkage::Local` and 1 other; try using the variant's enum
380 |     pub(crate) fn get_local_place(&mut self, local: cranelift_module::Linkage) -> CPlace<'tcx> {
    |                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~
380 |     pub(crate) fn get_local_place(&mut self, local: crate::Linkage) -> CPlace<'tcx> {
    |                                                     ~~~~~~~~~~~~~~
---

error[E0412]: cannot find type `ConstValue` in this scope
  --> src/constant.rs:77:7
   |
77 | ) -> (ConstValue<'tcx>, Ty<'tcx>) {

error[E0412]: cannot find type `ConstOperand` in this scope
  --> src/constant.rs:88:16
   |
---

error[E0412]: cannot find type `InlineAsmOperand` in this scope
  --> src/inline_asm.rs:40:17
   |
12 | pub(crate) enum CInlineAsmOperand<'tcx> {
   | --------------------------------------- similarly named enum `CInlineAsmOperand` defined here
...
40 |     operands: &[InlineAsmOperand<'tcx>],
   |                 ^^^^^^^^^^^^^^^^ help: an enum with a similar name exists: `CInlineAsmOperand`

error[E0412]: cannot find type `InlineAsmArch` in this scope
    |
213 |     arch: InlineAsmArch,
    |           ^^^^^^^^^^^^^ not found in this scope


error[E0412]: cannot find type `InlineAsmReg` in this scope
    |
    |
218 |     registers: Vec<Option<InlineAsmReg>>,
    |
help: you might be missing a type parameter
    |
    |
211 | struct InlineAssemblyGenerator<'a, 'tcx, InlineAsmReg> {

error[E0412]: cannot find type `InlineAsmRegClass` in this scope
   --> src/inline_asm.rs:355:61
    |
    |
355 |         let new_slot_fn = |slot_size: &mut Size, reg_class: InlineAsmRegClass| {


error[E0412]: cannot find type `InlineAsmArch` in this scope
    |
    |
602 |     fn prologue(generated_asm: &mut String, arch: InlineAsmArch) {


error[E0412]: cannot find type `InlineAsmArch` in this scope
    |
    |
629 |     fn epilogue(generated_asm: &mut String, arch: InlineAsmArch) {


error[E0412]: cannot find type `InlineAsmArch` in this scope
    |
    |
651 |     fn epilogue_noreturn(generated_asm: &mut String, arch: InlineAsmArch) {


error[E0412]: cannot find type `InlineAsmArch` in this scope
    |
668 |         arch: InlineAsmArch,
    |               ^^^^^^^^^^^^^ not found in this scope


error[E0412]: cannot find type `InlineAsmReg` in this scope
    |
669 |         reg: InlineAsmReg,
    |              ^^^^^^^^^^^^ not found in this scope


error[E0412]: cannot find type `InlineAsmArch` in this scope
    |
707 |         arch: InlineAsmArch,
    |               ^^^^^^^^^^^^^ not found in this scope


error[E0412]: cannot find type `InlineAsmReg` in this scope
    |
708 |         reg: InlineAsmReg,
    |              ^^^^^^^^^^^^ not found in this scope

---

error[E0412]: cannot find type `BinOp` in this scope
 --> src/num.rs:5:39
  |
5 | pub(crate) fn bin_op_to_intcc(bin_op: BinOp, signed: bool) -> Option<IntCC> {

error[E0412]: cannot find type `BinOp` in this scope
  --> src/num.rs:61:13
   |
---
    |
376 |     Var(Local, Variable),
    |         ^^^^^ not found in this scope
    |
help: there is an enum variant `cranelift_module::Linkage::Local` and 1 other; try using the variant's enum
    |
376 |     Var(cranelift_module::Linkage, Variable),
376 |     Var(crate::Linkage, Variable),
    |         ~~~~~~~~~~~~~~

error[E0412]: cannot find type `Local` in this scope
error[E0412]: cannot find type `Local` in this scope
   --> src/value_and_place.rs:377:13
    |
377 |     VarPair(Local, Variable, Variable),
    |             ^^^^^ not found in this scope
    |
help: there is an enum variant `cranelift_module::Linkage::Local` and 1 other; try using the variant's enum
    |
377 |     VarPair(cranelift_module::Linkage, Variable, Variable),
    |             ~~~~~~~~~~~~~~~~~~~~~~~~~
377 |     VarPair(crate::Linkage, Variable, Variable),

error[E0412]: cannot find type `Local` in this scope
   --> src/value_and_place.rs:376:9
    |
    |
376 |     Var(Local, Variable),
    |         ^^^^^ not found in this scope
    |
help: there is an enum variant `cranelift_module::Linkage::Local` and 1 other; try using the variant's enum
    |
376 |     Var(cranelift_module::Linkage, Variable),
376 |     Var(crate::Linkage, Variable),
    |         ~~~~~~~~~~~~~~
help: you might be missing a type parameter
    |
    |
375 | enum CPlaceInner<Local> {

error[E0412]: cannot find type `Local` in this scope
   --> src/value_and_place.rs:413:16
    |
    |
413 |         local: Local,
    |                ^^^^^ not found in this scope
    |
help: there is an enum variant `cranelift_module::Linkage::Local` and 1 other; try using the variant's enum
413 |         local: cranelift_module::Linkage,
    |                ~~~~~~~~~~~~~~~~~~~~~~~~~
413 |         local: crate::Linkage,
    |                ~~~~~~~~~~~~~~
    |                ~~~~~~~~~~~~~~

error[E0412]: cannot find type `Local` in this scope
   --> src/value_and_place.rs:424:16
    |
424 |         local: Local,
    |                ^^^^^ not found in this scope
    |
help: there is an enum variant `cranelift_module::Linkage::Local` and 1 other; try using the variant's enum
424 |         local: cranelift_module::Linkage,
    |                ~~~~~~~~~~~~~~~~~~~~~~~~~
424 |         local: crate::Linkage,
    |                ~~~~~~~~~~~~~~
    |                ~~~~~~~~~~~~~~

error[E0433]: failed to resolve: use of undeclared type `Operand`
   --> src/abi/mod.rs:352:37
    |
352 |         is_owned: matches!(operand, Operand::Move(_)),
    |                                     ^^^^^^^ use of undeclared type `Operand`
error[E0433]: failed to resolve: use of undeclared type `Rvalue`
  --> src/analyze.rs:28:21
   |
   |
28 |                     Rvalue::Ref(_, _, place) | Rvalue::AddressOf(_, place) => {
   |                     |
   |                     use of undeclared type `Rvalue`
   |                     help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `Rvalue`
  --> src/analyze.rs:28:48
   |
28 |                     Rvalue::Ref(_, _, place) | Rvalue::AddressOf(_, place) => {
   |                                                |
   |                                                use of undeclared type `Rvalue`
   |                                                help: a struct with a similar name exists: `CValue`

---

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/base.rs:305:24
    |
305 |                 if let TerminatorKind::Return = fx.mir[*target].terminator().kind {

error[E0433]: failed to resolve: use of undeclared type `StatementKind`
   --> src/base.rs:308:32
    |
    |
308 |                         if let StatementKind::StorageDead(_) = stmt.kind {

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/base.rs:325:13
    |
    |
325 |             TerminatorKind::Return => {
    |             ^^^^^^^^^^^^^^ use of undeclared type `TerminatorKind`

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/base.rs:328:13
    |
328 |             TerminatorKind::Assert { cond, expected, msg, target, unwind: _ } => {

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/base.rs:387:13
    |
    |
387 |             TerminatorKind::SwitchInt { discr, targets } => {

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/base.rs:433:13
    |
---

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/base.rs:489:13
    |
489 |             TerminatorKind::UnwindTerminate(reason) => {

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/base.rs:492:13
    |
---

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/base.rs:500:15
    |
500 |             | TerminatorKind::FalseEdge { .. }

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/base.rs:501:15
    |
    |
501 |             | TerminatorKind::FalseUnwind { .. }

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/base.rs:502:15
    |
    |
502 |             | TerminatorKind::CoroutineDrop => {
    |               ^^^^^^^^^^^^^^ use of undeclared type `TerminatorKind`

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/base.rs:505:13
    |
505 |             TerminatorKind::Drop { place, target, unwind: _, replace: _ } => {

error[E0433]: failed to resolve: use of undeclared type `StatementKind`
   --> src/base.rs:526:9
    |
    |
526 |         StatementKind::StorageLive(..) | StatementKind::StorageDead(..) => {} // Those are not very useful

error[E0433]: failed to resolve: use of undeclared type `StatementKind`
   --> src/base.rs:526:42
    |
    |
526 |         StatementKind::StorageLive(..) | StatementKind::StorageDead(..) => {} // Those are not very useful

error[E0433]: failed to resolve: use of undeclared type `StatementKind`
   --> src/base.rs:538:9
    |
    |
538 |         StatementKind::SetDiscriminant { place, variant_index } => {

error[E0433]: failed to resolve: use of undeclared type `StatementKind`
   --> src/base.rs:542:9
    |
    |
542 |         StatementKind::Assign(to_place_and_rval) => {

error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:546:17
    |
    |
546 |                 Rvalue::Use(ref operand) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:550:17
    |
550 |                 Rvalue::CopyForDeref(place) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:555:17
    |
555 |                 Rvalue::Ref(_, _, place) | Rvalue::AddressOf(_, place) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:555:44
    |
555 |                 Rvalue::Ref(_, _, place) | Rvalue::AddressOf(_, place) => {
    |                                            |
    |                                            use of undeclared type `Rvalue`
    |                                            help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:560:17
    |
560 |                 Rvalue::ThreadLocalRef(def_id) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:564:17
    |
564 |                 Rvalue::BinaryOp(bin_op, ref lhs_rhs) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:571:17
    |
571 |                 Rvalue::CheckedBinaryOp(bin_op, ref lhs_rhs) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:578:17
    |
578 |                 Rvalue::UnaryOp(un_op, ref operand) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`

---

error[E0433]: failed to resolve: use of undeclared type `CastKind`
   --> src/base.rs:602:21
    |
602 |                     CastKind::PointerCoercion(PointerCoercion::ReifyFnPointer),
    |                     ^^^^^^^^ use of undeclared type `CastKind`
error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:626:17
    |
626 |                 Rvalue::Cast(
---

error[E0433]: failed to resolve: use of undeclared type `CastKind`
   --> src/base.rs:627:21
    |
627 |                     CastKind::PointerCoercion(PointerCoercion::UnsafeFnPointer),
    |                     ^^^^^^^^ use of undeclared type `CastKind`
error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:631:19
    |
631 |                 | Rvalue::Cast(
---

error[E0433]: failed to resolve: use of undeclared type `CastKind`
   --> src/base.rs:632:21
    |
632 |                     CastKind::PointerCoercion(PointerCoercion::MutToConstPointer),
    |                     ^^^^^^^^ use of undeclared type `CastKind`
error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:636:19
    |
636 |                 | Rvalue::Cast(
---

error[E0433]: failed to resolve: use of undeclared type `CastKind`
   --> src/base.rs:693:21
    |
693 |                     CastKind::PointerCoercion(PointerCoercion::ClosureFnPointer(_)),
    |                     ^^^^^^^^ use of undeclared type `CastKind`
error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:714:17
    |
714 |                 Rvalue::Cast(
---

error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:722:17
    |
722 |                 Rvalue::Cast(CastKind::DynStar, ref operand, _) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `CastKind`
   --> src/base.rs:722:30
    |
722 |                 Rvalue::Cast(CastKind::DynStar, ref operand, _) => {
    |                              ^^^^^^^^ use of undeclared type `CastKind`
error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:726:17
    |
    |
726 |                 Rvalue::Cast(CastKind::Transmute, ref operand, _to_ty) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `CastKind`
   --> src/base.rs:726:30
    |
726 |                 Rvalue::Cast(CastKind::Transmute, ref operand, _to_ty) => {
    |                              ^^^^^^^^ use of undeclared type `CastKind`
error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:730:17
    |
730 |                 Rvalue::Discriminant(place) => {
---

error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:735:17
    |
735 |                 Rvalue::Repeat(ref operand, times) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:769:17
    |
769 |                 Rvalue::Len(place) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:775:17
    |
775 |                 Rvalue::ShallowInitBox(ref operand, content_ty) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:782:17
    |
782 |                 Rvalue::NullaryOp(ref null_op, ty) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `NullOp`
   --> src/base.rs:786:25
    |
786 |                         NullOp::SizeOf => layout.size.bytes(),
    |                         ^^^^^^ use of undeclared type `NullOp`
error[E0433]: failed to resolve: use of undeclared type `NullOp`
   --> src/base.rs:787:25
    |
    |
787 |                         NullOp::AlignOf => layout.align.abi.bytes(),
    |                         ^^^^^^ use of undeclared type `NullOp`
error[E0433]: failed to resolve: use of undeclared type `NullOp`
   --> src/base.rs:788:25
    |
    |
788 |                         NullOp::OffsetOf(fields) => {
    |                         ^^^^^^ use of undeclared type `NullOp`
error[E0433]: failed to resolve: use of undeclared type `NullOp`
   --> src/base.rs:791:25
    |
    |
791 |                         NullOp::UbChecks => {
    |                         ^^^^^^ use of undeclared type `NullOp`
error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/base.rs:807:17
    |
    |
807 |                 Rvalue::Aggregate(ref kind, ref operands) => {
    |                 |
    |                 use of undeclared type `Rvalue`
    |                 help: a struct with a similar name exists: `CValue`

---

error[E0433]: failed to resolve: use of undeclared type `StatementKind`
   --> src/base.rs:844:9
    |
844 |         StatementKind::Coverage { .. } => fx.tcx.dcx().fatal("-Zcoverage is unimplemented"),

error[E0433]: failed to resolve: use of undeclared type `StatementKind`
   --> src/base.rs:845:9
    |
    |
845 |         StatementKind::Intrinsic(ref intrinsic) => match &**intrinsic {

error[E0433]: failed to resolve: use of undeclared type `NonDivergingIntrinsic`
   --> src/base.rs:847:13
    |
---

error[E0433]: failed to resolve: use of undeclared type `PlaceElem`
   --> src/base.rs:895:13
    |
895 |             PlaceElem::OpaqueCast(ty) => bug!("encountered OpaqueCast({ty}) in codegen"),
    |             ^^^^^^^^^ use of undeclared type `PlaceElem`
error[E0433]: failed to resolve: use of undeclared type `PlaceElem`
   --> src/base.rs:896:13
    |
    |
896 |             PlaceElem::Subtype(ty) => cplace = cplace.place_transmute_type(fx, fx.monomorphize(ty)),
    |             ^^^^^^^^^ use of undeclared type `PlaceElem`
error[E0433]: failed to resolve: use of undeclared type `PlaceElem`
   --> src/base.rs:897:13
    |
    |
897 |             PlaceElem::Field(field, _ty) => {
    |             ^^^^^^^^^ use of undeclared type `PlaceElem`
error[E0433]: failed to resolve: use of undeclared type `PlaceElem`
   --> src/base.rs:900:13
    |
900 |             PlaceElem::Index(local) => {
900 |             PlaceElem::Index(local) => {
    |             ^^^^^^^^^ use of undeclared type `PlaceElem`

error[E0433]: failed to resolve: use of undeclared type `PlaceElem`
   --> src/base.rs:904:13
    |
904 |             PlaceElem::ConstantIndex { offset, min_length: _, from_end } => {
    |             ^^^^^^^^^ use of undeclared type `PlaceElem`
error[E0433]: failed to resolve: use of undeclared type `PlaceElem`
   --> src/base.rs:914:13
    |
    |
914 |             PlaceElem::Subslice { from, to, from_end } => {
    |             ^^^^^^^^^ use of undeclared type `PlaceElem`
error[E0433]: failed to resolve: use of undeclared type `PlaceElem`
   --> src/base.rs:944:13
    |
944 |             PlaceElem::Downcast(_adt_def, variant) => {
944 |             PlaceElem::Downcast(_adt_def, variant) => {
    |             ^^^^^^^^^ use of undeclared type `PlaceElem`

error[E0433]: failed to resolve: use of undeclared type `Operand`
   --> src/base.rs:958:9
    |
958 |         Operand::Move(place) | Operand::Copy(place) => {
    |         ^^^^^^^ use of undeclared type `Operand`
error[E0433]: failed to resolve: use of undeclared type `Operand`
   --> src/base.rs:958:32
    |
    |
958 |         Operand::Move(place) | Operand::Copy(place) => {
    |                                ^^^^^^^ use of undeclared type `Operand`
error[E0433]: failed to resolve: use of undeclared type `Operand`
   --> src/base.rs:962:9
    |
    |
962 |         Operand::Constant(const_) => crate::constant::codegen_constant_operand(fx, const_),
    |         ^^^^^^^ use of undeclared type `Operand`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:24:9
   |
   |
24 |         BinOp::BitAnd | BinOp::BitOr | BinOp::BitXor => None,
   |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:24:25
   |
   |
24 |         BinOp::BitAnd | BinOp::BitOr | BinOp::BitXor => None,
   |                         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:24:40
   |
   |
24 |         BinOp::BitAnd | BinOp::BitOr | BinOp::BitXor => None,
   |                                        ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:25:9
   |
   |
25 |         BinOp::Add | BinOp::AddUnchecked | BinOp::Sub | BinOp::SubUnchecked => None,
   |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:25:22
   |
   |
25 |         BinOp::Add | BinOp::AddUnchecked | BinOp::Sub | BinOp::SubUnchecked => None,
   |                      ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:25:44
   |
   |
25 |         BinOp::Add | BinOp::AddUnchecked | BinOp::Sub | BinOp::SubUnchecked => None,
   |                                            ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:25:57
   |
   |
25 |         BinOp::Add | BinOp::AddUnchecked | BinOp::Sub | BinOp::SubUnchecked => None,
   |                                                         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:26:9
   |
   |
26 |         BinOp::Mul | BinOp::MulUnchecked => {
   |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:26:22
   |
   |
26 |         BinOp::Mul | BinOp::MulUnchecked => {
   |                      ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:39:9
   |
   |
39 |         BinOp::Offset => unreachable!("offset should only be used on pointers, not 128bit ints"),
   |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:40:9
   |
   |
40 |         BinOp::Div | BinOp::Rem => {
   |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:40:22
   |
   |
40 |         BinOp::Div | BinOp::Rem => {
   |                      ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:42:18
   |
   |
42 |                 (BinOp::Div, false) => "__udivti3",
   |                  ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:43:18
   |
   |
43 |                 (BinOp::Div, true) => "__divti3",
   |                  ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:44:18
   |
   |
44 |                 (BinOp::Rem, false) => "__umodti3",
   |                  ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:45:18
   |
   |
45 |                 (BinOp::Rem, true) => "__modti3",
   |                  ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:71:9
   |
   |
71 |         BinOp::Lt | BinOp::Le | BinOp::Eq | BinOp::Ge | BinOp::Gt | BinOp::Ne | BinOp::Cmp => None,
   |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:71:21
   |
   |
71 |         BinOp::Lt | BinOp::Le | BinOp::Eq | BinOp::Ge | BinOp::Gt | BinOp::Ne | BinOp::Cmp => None,
   |                     ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:71:33
   |
   |
71 |         BinOp::Lt | BinOp::Le | BinOp::Eq | BinOp::Ge | BinOp::Gt | BinOp::Ne | BinOp::Cmp => None,
   |                                 ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:71:45
   |
   |
71 |         BinOp::Lt | BinOp::Le | BinOp::Eq | BinOp::Ge | BinOp::Gt | BinOp::Ne | BinOp::Cmp => None,
   |                                             ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:71:57
   |
   |
71 |         BinOp::Lt | BinOp::Le | BinOp::Eq | BinOp::Ge | BinOp::Gt | BinOp::Ne | BinOp::Cmp => None,
   |                                                         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:71:69
   |
   |
71 |         BinOp::Lt | BinOp::Le | BinOp::Eq | BinOp::Ge | BinOp::Gt | BinOp::Ne | BinOp::Cmp => None,
   |                                                                     ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:71:81
   |
   |
71 |         BinOp::Lt | BinOp::Le | BinOp::Eq | BinOp::Ge | BinOp::Gt | BinOp::Ne | BinOp::Cmp => None,
   |                                                                                 ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:72:9
   |
   |
72 |         BinOp::Shl | BinOp::ShlUnchecked | BinOp::Shr | BinOp::ShrUnchecked => None,
   |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:72:22
   |
   |
72 |         BinOp::Shl | BinOp::ShlUnchecked | BinOp::Shr | BinOp::ShrUnchecked => None,
   |                      ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:72:44
   |
   |
72 |         BinOp::Shl | BinOp::ShlUnchecked | BinOp::Shr | BinOp::ShrUnchecked => None,
   |                                            ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:72:57
   |
   |
72 |         BinOp::Shl | BinOp::ShlUnchecked | BinOp::Shr | BinOp::ShrUnchecked => None,
   |                                                         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:93:9
   |
   |
93 |         BinOp::BitAnd | BinOp::BitOr | BinOp::BitXor => unreachable!(),
   |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:93:25
   |
   |
93 |         BinOp::BitAnd | BinOp::BitOr | BinOp::BitXor => unreachable!(),
   |                         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:93:40
   |
   |
93 |         BinOp::BitAnd | BinOp::BitOr | BinOp::BitXor => unreachable!(),
   |                                        ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/codegen_i128.rs:94:9
   |
94 |         BinOp::Mul if is_signed => {
94 |         BinOp::Mul if is_signed => {
   |         ^^^^^ use of undeclared type `BinOp`

error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:114:9
    |
114 |         BinOp::Add | BinOp::Sub | BinOp::Mul => {
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:114:22
    |
    |
114 |         BinOp::Add | BinOp::Sub | BinOp::Mul => {
    |                      ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:114:35
    |
    |
114 |         BinOp::Add | BinOp::Sub | BinOp::Mul => {
    |                                   ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:124:18
    |
    |
124 |                 (BinOp::Add, false) => "__rust_u128_addo",
    |                  ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:125:18
    |
    |
125 |                 (BinOp::Add, true) => "__rust_i128_addo",
    |                  ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:126:18
    |
    |
126 |                 (BinOp::Sub, false) => "__rust_u128_subo",
    |                  ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:127:18
    |
    |
127 |                 (BinOp::Sub, true) => "__rust_i128_subo",
    |                  ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:128:18
    |
    |
128 |                 (BinOp::Mul, false) => "__rust_u128_mulo",
    |                  ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:134:9
    |
    |
134 |         BinOp::AddUnchecked | BinOp::SubUnchecked | BinOp::MulUnchecked => unreachable!(),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:134:31
    |
    |
134 |         BinOp::AddUnchecked | BinOp::SubUnchecked | BinOp::MulUnchecked => unreachable!(),
    |                               ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:134:53
    |
    |
134 |         BinOp::AddUnchecked | BinOp::SubUnchecked | BinOp::MulUnchecked => unreachable!(),
    |                                                     ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:135:9
    |
    |
135 |         BinOp::Offset => unreachable!("offset should only be used on pointers, not 128bit ints"),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:136:9
    |
    |
136 |         BinOp::Div | BinOp::Rem => unreachable!(),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:136:22
    |
    |
136 |         BinOp::Div | BinOp::Rem => unreachable!(),
    |                      ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:137:9
    |
137 |         BinOp::Cmp => unreachable!(),
137 |         BinOp::Cmp => unreachable!(),
    |         ^^^^^ use of undeclared type `BinOp`

error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:138:9
    |
138 |         BinOp::Lt | BinOp::Le | BinOp::Eq | BinOp::Ge | BinOp::Gt | BinOp::Ne => unreachable!(),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:138:21
    |
    |
138 |         BinOp::Lt | BinOp::Le | BinOp::Eq | BinOp::Ge | BinOp::Gt | BinOp::Ne => unreachable!(),
    |                     ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:138:33
    |
    |
138 |         BinOp::Lt | BinOp::Le | BinOp::Eq | BinOp::Ge | BinOp::Gt | BinOp::Ne => unreachable!(),
    |                                 ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:138:45
    |
    |
138 |         BinOp::Lt | BinOp::Le | BinOp::Eq | BinOp::Ge | BinOp::Gt | BinOp::Ne => unreachable!(),
    |                                             ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:138:57
    |
    |
138 |         BinOp::Lt | BinOp::Le | BinOp::Eq | BinOp::Ge | BinOp::Gt | BinOp::Ne => unreachable!(),
    |                                                         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:138:69
    |
    |
138 |         BinOp::Lt | BinOp::Le | BinOp::Eq | BinOp::Ge | BinOp::Gt | BinOp::Ne => unreachable!(),
    |                                                                     ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:139:9
    |
    |
139 |         BinOp::Shl | BinOp::ShlUnchecked | BinOp::Shr | BinOp::ShrUnchecked => unreachable!(),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:139:22
    |
    |
139 |         BinOp::Shl | BinOp::ShlUnchecked | BinOp::Shr | BinOp::ShrUnchecked => unreachable!(),
    |                      ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:139:44
    |
    |
139 |         BinOp::Shl | BinOp::ShlUnchecked | BinOp::Shr | BinOp::ShrUnchecked => unreachable!(),
    |                                            ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/codegen_i128.rs:139:57
    |
    |
139 |         BinOp::Shl | BinOp::ShlUnchecked | BinOp::Shr | BinOp::ShrUnchecked => unreachable!(),
    |                                                         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `ConstValue`
   --> src/constant.rs:107:9
    |
    |
107 |         ConstValue::ZeroSized => unreachable!(), // we already handled ZST above

error[E0433]: failed to resolve: use of undeclared type `ConstValue`
   --> src/constant.rs:108:9
    |
    |
108 |         ConstValue::Scalar(x) => match x {

error[E0433]: failed to resolve: use of undeclared type `ConstValue`
   --> src/constant.rs:194:9
    |
    |
194 |         ConstValue::Indirect { alloc_id, offset } => CValue::by_ref(

error[E0433]: failed to resolve: use of undeclared type `ConstValue`
   --> src/constant.rs:199:9
    |
    |
199 |         ConstValue::Slice { data, meta } => {

error[E0433]: failed to resolve: use of undeclared type `Mutability`
   --> src/constant.rs:244:48
    |
    |
244 |     data_id_for_alloc_id(cx, module, alloc_id, Mutability::Not)
    |                                                ^^^^^^^^^^ use of undeclared type `Mutability`
error[E0433]: failed to resolve: use of undeclared type `Mutability`
   --> src/constant.rs:369:49
    |
    |
369 |                     alloc.inner().mutability == Mutability::Mut,
    |                                                 ^^^^^^^^^^ use of undeclared type `Mutability`
error[E0433]: failed to resolve: use of undeclared type `Operand`
   --> src/constant.rs:463:9
    |
    |
463 |         Operand::Constant(const_) => eval_mir_constant(fx, const_).0.try_to_scalar_int(),
    |         ^^^^^^^ use of undeclared type `Operand`
error[E0433]: failed to resolve: use of undeclared type `Operand`
   --> src/constant.rs:467:9
    |
    |
467 |         Operand::Copy(place) | Operand::Move(place) => {
    |         ^^^^^^^ use of undeclared type `Operand`
error[E0433]: failed to resolve: use of undeclared type `Operand`
   --> src/constant.rs:467:32
    |
    |
467 |         Operand::Copy(place) | Operand::Move(place) => {
    |                                ^^^^^^^ use of undeclared type `Operand`
error[E0433]: failed to resolve: use of undeclared type `StatementKind`
   --> src/constant.rs:475:25
    |
    |
475 |                         StatementKind::Assign(local_and_rvalue) if &local_and_rvalue.0 == place => {

error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/constant.rs:477:33
    |
---

error[E0433]: failed to resolve: use of undeclared type `Rvalue`
   --> src/constant.rs:517:33
    |
517 | ...                   Rvalue::Use(operand) => {
    |                       |
    |                       use of undeclared type `Rvalue`
    |                       help: a struct with a similar name exists: `CValue`


error[E0433]: failed to resolve: use of undeclared type `StatementKind`
   --> src/constant.rs:523:25
    |
523 |                         StatementKind::SetDiscriminant { place: stmt_place, variant_index: _ }

error[E0433]: failed to resolve: use of undeclared type `StatementKind`
   --> src/constant.rs:528:25
    |
    |
528 |                         StatementKind::Intrinsic(ref intrinsic) => match **intrinsic {

error[E0433]: failed to resolve: use of undeclared type `NonDivergingIntrinsic`
   --> src/constant.rs:529:29
    |
---

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/constant.rs:558:23
    |
558 |                     | TerminatorKind::FalseEdge { .. }

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/constant.rs:559:23
    |
    |
559 |                     | TerminatorKind::FalseUnwind { .. } => unreachable!(),

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/constant.rs:560:21
    |
    |
560 |                     TerminatorKind::InlineAsm { .. } => return None,
    |                     ^^^^^^^^^^^^^^ use of undeclared type `TerminatorKind`

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/constant.rs:561:21
    |
561 |                     TerminatorKind::Call { destination, target: Some(_), .. }

error[E0433]: failed to resolve: use of undeclared type `TerminatorKind`
   --> src/constant.rs:566:21
    |
    |
566 |                     TerminatorKind::Call { .. } => {}
    |                     ^^^^^^^^^^^^^^ use of undeclared type `TerminatorKind`

error[E0433]: failed to resolve: use of undeclared type `InlineAsmOperand`
  --> src/inline_asm.rs:57:13
   |
57 |             InlineAsmOperand::In { reg, ref value } => CInlineAsmOperand::In {
   |             |
   |             use of undeclared type `InlineAsmOperand`
   |             use of undeclared type `InlineAsmOperand`
   |             help: an enum with a similar name exists: `CInlineAsmOperand`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmOperand`
  --> src/inline_asm.rs:61:13
   |
   |
61 |             InlineAsmOperand::Out { reg, late, ref place } => CInlineAsmOperand::Out {
   |             |
   |             use of undeclared type `InlineAsmOperand`
   |             use of undeclared type `InlineAsmOperand`
   |             help: an enum with a similar name exists: `CInlineAsmOperand`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmOperand`
  --> src/inline_asm.rs:66:13
   |
   |
66 |             InlineAsmOperand::InOut { reg, late, ref in_value, ref out_place } => {
   |             |
   |             use of undeclared type `InlineAsmOperand`
   |             use of undeclared type `InlineAsmOperand`
   |             help: an enum with a similar name exists: `CInlineAsmOperand`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmOperand`
  --> src/inline_asm.rs:74:13
   |
74 |             InlineAsmOperand::Const { ref value } => {
74 |             InlineAsmOperand::Const { ref value } => {
   |             ^^^^^^^^^^^^^^^^
   |             |
   |             use of undeclared type `InlineAsmOperand`
   |             help: an enum with a similar name exists: `CInlineAsmOperand`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmOperand`
  --> src/inline_asm.rs:84:13
   |
   |
84 |             InlineAsmOperand::SymFn { ref value } => {
   |             |
   |             use of undeclared type `InlineAsmOperand`
   |             use of undeclared type `InlineAsmOperand`
   |             help: an enum with a similar name exists: `CInlineAsmOperand`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmOperand`
   --> src/inline_asm.rs:127:13
    |
    |
127 |             InlineAsmOperand::SymStatic { def_id } => {
    |             |
    |             use of undeclared type `InlineAsmOperand`
    |             use of undeclared type `InlineAsmOperand`
    |             help: an enum with a similar name exists: `CInlineAsmOperand`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmOperand`
   --> src/inline_asm.rs:132:13
    |
132 |             InlineAsmOperand::Label { .. } => {
132 |             InlineAsmOperand::Label { .. } => {
    |             ^^^^^^^^^^^^^^^^
    |             |
    |             use of undeclared type `InlineAsmOperand`
    |             help: an enum with a similar name exists: `CInlineAsmOperand`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/inline_asm.rs:240:46
    |
    |
240 |                 CInlineAsmOperand::In { reg: InlineAsmRegOrRegClass::Reg(reg), .. } => {
    |                                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/inline_asm.rs:245:26
    |
    |
245 |                     reg: InlineAsmRegOrRegClass::Reg(reg),
    |                          ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/inline_asm.rs:252:47
    |
    |
252 |                 CInlineAsmOperand::Out { reg: InlineAsmRegOrRegClass::Reg(reg), .. }
    |                                               ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/inline_asm.rs:253:51
    |
    |
253 |                 | CInlineAsmOperand::InOut { reg: InlineAsmRegOrRegClass::Reg(reg), .. } => {
    |                                                   ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/inline_asm.rs:265:26
    |
    |
265 |                     reg: InlineAsmRegOrRegClass::RegClass(class),
    |                          ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/inline_asm.rs:270:26
    |
    |
270 |                     reg: InlineAsmRegOrRegClass::RegClass(class), ..
    |                          ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/inline_asm.rs:298:46
    |
    |
298 |                 CInlineAsmOperand::In { reg: InlineAsmRegOrRegClass::RegClass(class), .. } => {
    |                                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/inline_asm.rs:319:26
    |
    |
319 |                     reg: InlineAsmRegOrRegClass::RegClass(class),
    |                          ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`

error[E0433]: failed to resolve: use of undeclared type `InlineAsmClobberAbi`
    |
    |
366 |         let abi_clobber = InlineAsmClobberAbi::parse(self.arch, &self.tcx.sess.target, sym::C)
    |                           ^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmClobberAbi`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:465:42
    |
    |
465 |         let is_x86 = matches!(self.arch, InlineAsmArch::X86 | InlineAsmArch::X86_64);
    |                                          ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:465:63
    |
    |
465 |         let is_x86 = matches!(self.arch, InlineAsmArch::X86 | InlineAsmArch::X86_64);
    |                                                               ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:515:33
    |
    |
515 | ...                   InlineAsmArch::X86_64 => match reg {
    |                       ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/inline_asm.rs:516:37
    |
    |
516 | ...                   InlineAsmReg::X86(reg)
    |                       ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/inline_asm.rs:517:58
    |
    |
517 | ...                   if reg as u32 >= X86InlineAsmReg::xmm0 as u32
    |                                        ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/inline_asm.rs:518:62
    |
    |
518 | ...                   && reg as u32 <= X86InlineAsmReg::xmm15 as u32 =>
    |                                        ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/inline_asm.rs:530:58
    |
    |
530 | ...                   reg as u32 - X86InlineAsmReg::xmm0 as u32
    |                                    ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:535:67
    |
    |
535 | ...                   .emit(&mut generated_asm, InlineAsmArch::X86_64, *modifier)
    |                                                 ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:604:13
    |
    |
604 |             InlineAsmArch::X86_64 => {
    |             ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:611:13
    |
611 |             InlineAsmArch::AArch64 => {
---

error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:631:13
    |
631 |             InlineAsmArch::X86_64 => {
    |             ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:636:13
    |
636 |             InlineAsmArch::AArch64 => {
---

error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:653:13
    |
653 |             InlineAsmArch::X86_64 => {
    |             ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:656:13
    |
656 |             InlineAsmArch::AArch64 => {
---

error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:673:13
    |
673 |             InlineAsmArch::X86_64 => {
    |             ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/inline_asm.rs:675:21
    |
    |
675 |                     InlineAsmReg::X86(reg)
    |                     ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/inline_asm.rs:676:42
    |
    |
676 |                         if reg as u32 >= X86InlineAsmReg::xmm0 as u32
    |                                          ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/inline_asm.rs:677:46
    |
    |
677 | ...                   && reg as u32 <= X86InlineAsmReg::xmm15 as u32 =>
    |                                        ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/inline_asm.rs:681:69
    |
    |
681 |                         write!(generated_asm, "xmm{}", reg as u32 - X86InlineAsmReg::xmm0 as u32)
    |                                                                     ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:686:49
    |
    |
686 |                         reg.emit(generated_asm, InlineAsmArch::X86_64, None).unwrap();
    |                                                 ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:691:13
    |
691 |             InlineAsmArch::AArch64 => {
691 |             InlineAsmArch::AArch64 => {
    |             ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`

error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:693:41
    |
693 |                 reg.emit(generated_asm, InlineAsmArch::AArch64, None).unwrap();
    |                                         ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:696:13
    |
696 |             InlineAsmArch::RiscV64 => {
696 |             InlineAsmArch::RiscV64 => {
    |             ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`

error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:698:41
    |
698 |                 reg.emit(generated_asm, InlineAsmArch::RiscV64, None).unwrap();
    |                                         ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:712:13
    |
    |
712 |             InlineAsmArch::X86_64 => {
    |             ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/inline_asm.rs:714:21
    |
    |
714 |                     InlineAsmReg::X86(reg)
    |                     ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/inline_asm.rs:715:42
    |
    |
715 |                         if reg as u32 >= X86InlineAsmReg::xmm0 as u32
    |                                          ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/inline_asm.rs:716:46
    |
    |
716 | ...                   && reg as u32 <= X86InlineAsmReg::xmm15 as u32 =>
    |                                        ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/inline_asm.rs:722:42
    |
    |
722 | ...                   reg as u32 - X86InlineAsmReg::xmm0 as u32
    |                                    ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:728:49
    |
    |
728 |                         reg.emit(generated_asm, InlineAsmArch::X86_64, None).unwrap()
    |                                                 ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:733:13
    |
733 |             InlineAsmArch::AArch64 => {
733 |             InlineAsmArch::AArch64 => {
    |             ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`

error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:735:41
    |
735 |                 reg.emit(generated_asm, InlineAsmArch::AArch64, None).unwrap();
    |                                         ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:738:13
    |
738 |             InlineAsmArch::RiscV64 => {
738 |             InlineAsmArch::RiscV64 => {
    |             ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`

error[E0433]: failed to resolve: use of undeclared type `InlineAsmArch`
   --> src/inline_asm.rs:740:41
    |
740 |                 reg.emit(generated_asm, InlineAsmArch::RiscV64, None).unwrap();
    |                                         ^^^^^^^^^^^^^ use of undeclared type `InlineAsmArch`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/intrinsics/llvm_aarch64.rs:51:62
   |
   |
51 |                 crate::num::codegen_saturating_int_binop(fx, BinOp::Add, x_lane, y_lane)
   |                                                              ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
  --> src/intrinsics/llvm_aarch64.rs:61:62
   |
   |
61 |                 crate::num::codegen_saturating_int_binop(fx, BinOp::Sub, x_lane, y_lane)
   |                                                              ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
  --> src/intrinsics/llvm_x86.rs:48:30
   |
   |
48 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::cx)),
   |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
  --> src/intrinsics/llvm_x86.rs:48:58
   |
   |
48 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::cx)),
   |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
  --> src/intrinsics/llvm_x86.rs:48:76
   |
   |
48 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::cx)),
   |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
  --> src/intrinsics/llvm_x86.rs:52:30
   |
   |
52 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::ax)),
   |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
  --> src/intrinsics/llvm_x86.rs:52:58
   |
   |
52 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::ax)),
   |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
  --> src/intrinsics/llvm_x86.rs:52:76
   |
   |
52 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::ax)),
   |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
  --> src/intrinsics/llvm_x86.rs:57:30
   |
   |
57 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::dx)),
   |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
  --> src/intrinsics/llvm_x86.rs:57:58
   |
   |
57 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::dx)),
   |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
  --> src/intrinsics/llvm_x86.rs:57:76
   |
   |
57 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::dx)),
   |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `Operand`
   --> src/intrinsics/llvm_x86.rs:240:17
    |
    |
240 |                 Operand::Constant(const_) => crate::constant::eval_mir_constant(fx, const_).0,
    |                 ^^^^^^^ use of undeclared type `Operand`
error[E0433]: failed to resolve: use of undeclared type `Operand`
   --> src/intrinsics/llvm_x86.rs:241:17
    |
    |
241 |                 Operand::Copy(_) | Operand::Move(_) => unreachable!("{kind:?}"),
    |                 ^^^^^^^ use of undeclared type `Operand`
error[E0433]: failed to resolve: use of undeclared type `Operand`
   --> src/intrinsics/llvm_x86.rs:241:36
    |
    |
241 |                 Operand::Copy(_) | Operand::Move(_) => unreachable!("{kind:?}"),
    |                                    ^^^^^^^ use of undeclared type `Operand`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/intrinsics/llvm_x86.rs:453:26
    |
    |
453 |                     reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                          ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:453:54
    |
    |
453 |                     reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                                                      ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:453:72
    |
    |
453 |                     reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                                                                        ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/intrinsics/llvm_x86.rs:465:48
    |
    |
465 |             let (cb_out, c) = llvm_add_sub(fx, BinOp::Add, c_in, a, b);
    |                                                ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/intrinsics/llvm_x86.rs:475:48
    |
    |
475 |             let (cb_out, c) = llvm_add_sub(fx, BinOp::Add, c_in, a, b);
    |                                                ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/intrinsics/llvm_x86.rs:484:48
    |
    |
484 |             let (cb_out, c) = llvm_add_sub(fx, BinOp::Sub, b_in, a, b);
    |                                                ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/intrinsics/llvm_x86.rs:860:30
    |
    |
860 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:860:58
    |
    |
860 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:860:76
    |
    |
860 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/intrinsics/llvm_x86.rs:864:30
    |
    |
864 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm1)),
    |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:864:58
    |
    |
864 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm1)),
    |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:864:76
    |
    |
864 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm1)),
    |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/intrinsics/llvm_x86.rs:869:30
    |
    |
869 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::ax)),
    |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:869:58
    |
    |
869 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::ax)),
    |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:869:76
    |
    |
869 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::ax)),
    |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/intrinsics/llvm_x86.rs:874:30
    |
    |
874 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::dx)),
    |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:874:58
    |
    |
874 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::dx)),
    |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:874:76
    |
    |
874 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::dx)),
    |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/intrinsics/llvm_x86.rs:879:30
    |
    |
879 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::cx)),
    |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:879:58
    |
    |
879 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::cx)),
    |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:879:76
    |
    |
879 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::cx)),
    |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/intrinsics/llvm_x86.rs:913:30
    |
    |
913 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:913:58
    |
    |
913 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:913:76
    |
    |
913 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/intrinsics/llvm_x86.rs:919:30
    |
    |
919 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm1)),
    |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:919:58
    |
    |
919 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm1)),
    |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:919:76
    |
    |
919 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm1)),
    |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/intrinsics/llvm_x86.rs:924:30
    |
    |
924 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::ax)),
    |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:924:58
    |
    |
924 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::ax)),
    |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:924:76
    |
    |
924 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::ax)),
    |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/intrinsics/llvm_x86.rs:929:30
    |
    |
929 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::dx)),
    |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:929:58
    |
    |
929 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::dx)),
    |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:929:76
    |
    |
929 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::dx)),
    |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/intrinsics/llvm_x86.rs:961:30
    |
    |
961 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:961:58
    |
    |
961 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:961:76
    |
    |
961 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/intrinsics/llvm_x86.rs:967:30
    |
    |
967 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm1)),
    |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:967:58
    |
    |
967 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm1)),
    |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:967:76
    |
    |
967 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm1)),
    |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
   --> src/intrinsics/llvm_x86.rs:997:26
    |
    |
997 |                     reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                          ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:997:54
    |
    |
997 |                     reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                                                      ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
   --> src/intrinsics/llvm_x86.rs:997:72
    |
    |
997 |                     reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
    |                                                                        ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
    --> src/intrinsics/llvm_x86.rs:1016:26
     |
     |
1016 |                     reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
     |                          ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
    --> src/intrinsics/llvm_x86.rs:1016:54
     |
     |
1016 |                     reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
     |                                                      ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
    --> src/intrinsics/llvm_x86.rs:1016:72
     |
     |
1016 |                     reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
     |                                                                        ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
    --> src/intrinsics/llvm_x86.rs:1037:30
     |
     |
1037 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
     |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
    --> src/intrinsics/llvm_x86.rs:1037:58
     |
     |
1037 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
     |                                                          ^^^^^^^^^^^^ use of undeclared type `InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `X86InlineAsmReg`
    --> src/intrinsics/llvm_x86.rs:1037:76
     |
     |
1037 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm0)),
     |                                                                            ^^^^^^^^^^^^^^^ use of undeclared type `X86InlineAsmReg`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmRegOrRegClass`
    --> src/intrinsics/llvm_x86.rs:1043:30
     |
     |
1043 |                         reg: InlineAsmRegOrRegClass::Reg(InlineAsmReg::X86(X86InlineAsmReg::xmm1)),
     |                              ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `InlineAsmRegOrRegClass`
error[E0433]: failed to resolve: use of undeclared type `InlineAsmReg`
    --> src/intrinsics/llvm_x86.rs:1043:58
---

error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:170:9
    |
170 |         BinOp::BitXor => b.bxor(lhs, rhs),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:171:9
    |
    |
171 |         BinOp::BitAnd => b.band(lhs, rhs),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:172:9
    |
    |
172 |         BinOp::BitOr => b.bor(lhs, rhs),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:173:9
    |
    |
173 |         BinOp::Shl | BinOp::ShlUnchecked => b.ishl(lhs, rhs),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:173:22
    |
    |
173 |         BinOp::Shl | BinOp::ShlUnchecked => b.ishl(lhs, rhs),
    |                      ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:174:9
    |
    |
174 |         BinOp::Shr | BinOp::ShrUnchecked => {
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:174:22
    |
    |
174 |         BinOp::Shr | BinOp::ShrUnchecked => {
    |                      ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:181:9
    |
    |
181 |         BinOp::Offset => unreachable!("Offset is not an integer operation"),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:183:9
    |
    |
183 |         BinOp::Eq | BinOp::Ne | BinOp::Lt | BinOp::Le | BinOp::Gt | BinOp::Ge | BinOp::Cmp => {
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:183:21
    |
    |
183 |         BinOp::Eq | BinOp::Ne | BinOp::Lt | BinOp::Le | BinOp::Gt | BinOp::Ge | BinOp::Cmp => {
    |                     ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:183:33
    |
    |
183 |         BinOp::Eq | BinOp::Ne | BinOp::Lt | BinOp::Le | BinOp::Gt | BinOp::Ge | BinOp::Cmp => {
    |                                 ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:183:45
    |
    |
183 |         BinOp::Eq | BinOp::Ne | BinOp::Lt | BinOp::Le | BinOp::Gt | BinOp::Ge | BinOp::Cmp => {
    |                                             ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:183:57
    |
    |
183 |         BinOp::Eq | BinOp::Ne | BinOp::Lt | BinOp::Le | BinOp::Gt | BinOp::Ge | BinOp::Cmp => {
    |                                                         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:183:69
    |
    |
183 |         BinOp::Eq | BinOp::Ne | BinOp::Lt | BinOp::Le | BinOp::Gt | BinOp::Ge | BinOp::Cmp => {
    |                                                                     ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:183:81
    |
    |
183 |         BinOp::Eq | BinOp::Ne | BinOp::Lt | BinOp::Le | BinOp::Gt | BinOp::Ge | BinOp::Cmp => {
    |                                                                                 ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:207:9
    |
207 |         BinOp::Add => {
---

error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:313:10
    |
313 |         (BinOp::Add, false) => fx.bcx.ins().select(has_overflow, max, val),
    |          ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:314:10
    |
    |
314 |         (BinOp::Sub, false) => fx.bcx.ins().select(has_overflow, min, val),
    |          ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:315:10
    |
    |
315 |         (BinOp::Add, true) => {
    |          ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:321:10
    |
321 |         (BinOp::Sub, true) => {
321 |         (BinOp::Sub, true) => {
    |          ^^^^^ use of undeclared type `BinOp`

error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:346:9
    |
346 |         BinOp::Add => b.fadd(lhs, rhs),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:347:9
    |
    |
347 |         BinOp::Sub => b.fsub(lhs, rhs),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:348:9
    |
    |
348 |         BinOp::Mul => b.fmul(lhs, rhs),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:349:9
    |
    |
349 |         BinOp::Div => b.fdiv(lhs, rhs),
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:350:9
    |
350 |         BinOp::Rem => {
350 |         BinOp::Rem => {
    |         ^^^^^ use of undeclared type `BinOp`

error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:366:9
    |
366 |         BinOp::Eq | BinOp::Lt | BinOp::Le | BinOp::Ne | BinOp::Ge | BinOp::Gt => {
    |         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:366:21
    |
    |
366 |         BinOp::Eq | BinOp::Lt | BinOp::Le | BinOp::Ne | BinOp::Ge | BinOp::Gt => {
    |                     ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:366:33
    |
    |
366 |         BinOp::Eq | BinOp::Lt | BinOp::Le | BinOp::Ne | BinOp::Ge | BinOp::Gt => {
    |                                 ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:366:45
    |
    |
366 |         BinOp::Eq | BinOp::Lt | BinOp::Le | BinOp::Ne | BinOp::Ge | BinOp::Gt => {
    |                                             ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:366:57
    |
    |
366 |         BinOp::Eq | BinOp::Lt | BinOp::Le | BinOp::Ne | BinOp::Ge | BinOp::Gt => {
    |                                                         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:366:69
    |
    |
366 |         BinOp::Eq | BinOp::Lt | BinOp::Le | BinOp::Ne | BinOp::Ge | BinOp::Gt => {
    |                                                                     ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:368:17
    |
    |
368 |                 BinOp::Eq => FloatCC::Equal,
    |                 ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:369:17
    |
    |
369 |                 BinOp::Lt => FloatCC::LessThan,
    |                 ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:370:17
    |
    |
370 |                 BinOp::Le => FloatCC::LessThanOrEqual,
    |                 ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:371:17
    |
371 |                 BinOp::Ne => FloatCC::NotEqual,
371 |                 BinOp::Ne => FloatCC::NotEqual,
    |                 ^^^^^ use of undeclared type `BinOp`

error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:372:17
    |
372 |                 BinOp::Ge => FloatCC::GreaterThanOrEqual,
    |                 ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:373:17
    |
    |
373 |                 BinOp::Gt => FloatCC::GreaterThan,
    |                 ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:400:13
    |
    |
400 |             BinOp::Eq | BinOp::Lt | BinOp::Le | BinOp::Ne | BinOp::Ge | BinOp::Gt => {
    |             ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:400:25
    |
    |
400 |             BinOp::Eq | BinOp::Lt | BinOp::Le | BinOp::Ne | BinOp::Ge | BinOp::Gt => {
    |                         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:400:37
    |
    |
400 |             BinOp::Eq | BinOp::Lt | BinOp::Le | BinOp::Ne | BinOp::Ge | BinOp::Gt => {
    |                                     ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:400:49
    |
    |
400 |             BinOp::Eq | BinOp::Lt | BinOp::Le | BinOp::Ne | BinOp::Ge | BinOp::Gt => {
    |                                                 ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:400:61
    |
    |
400 |             BinOp::Eq | BinOp::Lt | BinOp::Le | BinOp::Ne | BinOp::Ge | BinOp::Gt => {
    |                                                             ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:400:73
    |
    |
400 |             BinOp::Eq | BinOp::Lt | BinOp::Le | BinOp::Ne | BinOp::Ge | BinOp::Gt => {
    |                                                                         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:406:13
    |
406 |             BinOp::Offset => {
---

error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:432:13
    |
432 |             BinOp::Lt | BinOp::Le | BinOp::Ge | BinOp::Gt => {
    |             ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:432:25
    |
    |
432 |             BinOp::Lt | BinOp::Le | BinOp::Ge | BinOp::Gt => {
    |                         ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:432:37
    |
    |
432 |             BinOp::Lt | BinOp::Le | BinOp::Ge | BinOp::Gt => {
    |                                     ^^^^^ use of undeclared type `BinOp`
error[E0433]: failed to resolve: use of undeclared type `BinOp`
   --> src/num.rs:432:49
    |
    |
432 |             BinOp::Lt | BinOp::Le | BinOp::Ge | BinOp::Gt => {
    |                                                 ^^^^^ use of undeclared type `BinOp`
error[E0425]: cannot find function `allocatable_registers` in this scope
   --> src/inline_asm.rs:228:19
    |
228 |         let map = allocatable_registers(
228 |         let map = allocatable_registers(
    |                   ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `alloc_range` in this scope
   --> src/intrinsics/simd.rs:231:61
    |
231 | ...                   .get_bytes_strip_provenance(fx, alloc_range(offset, size))

Some errors have detailed explanations: E0412, E0425, E0432, E0433, E0463, E0531.
For more information about an error, try `rustc --explain E0412`.
error: could not compile `rustc_codegen_cranelift` (lib) due to 573 previous errors

@bjorn3
Copy link
Member

bjorn3 commented Apr 7, 2024

-Zhost-config can be used for passing rustflags to build scripts too afaik. My understanding is that RUSTFLAGS will be ignored in the future for build scripts even when passing --target at some point in the future, instead requiring -Zhost-config for that unconditionally: rust-lang/cargo#9453 and rust-lang/cargo#9322 (comment)

@onur-ozkan
Copy link
Member Author

-Zhost-config can be used for passing rustflags to build scripts too afaik. My understanding is that RUSTFLAGS will be ignored in the future for build scripts even when passing --target at some point in the future, instead requiring -Zhost-config for that unconditionally: rust-lang/cargo#9453 and rust-lang/cargo#9322 (comment)

-Zhost-config -Ztarget-applies-to-host doesn't work with the standard RUSTFLAGS and requires host.rustflags in the cargo config file I think?

@onur-ozkan
Copy link
Member Author

I thought that removing the target flag would be an easy workaround for the host RUSTFLAGS, but it wasn't. Instead, it's causing multiple problems and each fix/workaround making it more complicated than before. And, it's not really worth.

Closing the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bootstrap: RUSTFLAGS_*_BOOTSTRAP does not affect build scripts
5 participants