| Issue |
83529
|
| Summary |
ODR warnings in lld/ELF/Arch/{RISCV,LoongArch}
|
| Labels |
lld
|
| Assignees |
|
| Reporter |
thesamesam
|
When building with `-flto -Werror=odr` to find possible runtime issues w/ LTO:
```
/var/tmp/portage/sys-devel/lld-17.0.6/work/lld/ELF/Arch/LoongArch.cpp:57:6: error: type ‘Reg’ violates the C++ One Definition Rule [-Werror=odr]
57 | enum Reg {
| ^
/var/tmp/portage/sys-devel/lld-17.0.6/work/lld/ELF/Arch/RISCV.cpp:68:6: note: an enum with different value name is defined in another translation unit
68 | enum Reg {
| ^
/var/tmp/portage/sys-devel/lld-17.0.6/work/lld/ELF/Arch/LoongArch.cpp:58:3: note: name ‘R_ZERO’ differs from name ‘X_RA’ defined in another translation unit
58 | R_ZERO = 0,
| ^
/var/tmp/portage/sys-devel/lld-17.0.6/work/lld/ELF/Arch/RISCV.cpp:69:3: note: mismatching definition
69 | X_RA = 1,
| ^
lto1: some warnings being treated as errors
```
Originally reported downstream at https://bugs.gentoo.org/922353.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs