[M68k] Fix ODR violation in GISel code (#72797)
It prevents LLVM from being linked with LLD at least on Windows, with errors like this: ``` = note: ld.lld: error: duplicate symbol: vtable for llvm::FormalArgHandler >>> defined at librustc_llvm-a81737dd65a7c126.rlib(M68kCallLowering.cpp.obj) >>> defined at librustc_llvm-a81737dd65a7c126.rlib(PPCCallLowering.cpp.obj) ``` Binutils linker also complains about this, but only with warnings. `FormalArgHandler` has a base class `M68kIncomingValueHandler` which doesn't have a virtual method `markPhysRegUsed` like `IncomingValueHandler`s for all other targets including PPC, so it results in a conflict. The simplest fix is to rename the `FormalArgHandler` structure (rather than to add virtual methods for compatibility). cc https://github.com/rust-lang/rust/issues/107668
Loading
Please sign in to comment