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

Reply via email to