diff options
author | Xi Ruoyao <xry111@xry111.site> | 2024-02-02 05:37:38 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2024-02-03 18:28:15 +0800 |
commit | 854b8555bd49ad97c336b8df7098e725dc196e4f (patch) | |
tree | 0098069ad61c9392ee784b322ba34cc3a1298062 /gcc/d/dmd/enum.h | |
parent | 1149588836ed426c6ac44a6c200f60a75dfea11d (diff) | |
download | gcc-854b8555bd49ad97c336b8df7098e725dc196e4f.zip gcc-854b8555bd49ad97c336b8df7098e725dc196e4f.tar.gz gcc-854b8555bd49ad97c336b8df7098e725dc196e4f.tar.bz2 |
LoongArch: Fix an ODR violation
When bootstrapping GCC 14 with --with-build-config=bootstrap-lto, an ODR
violation is detected:
../../gcc/config/loongarch/loongarch-opts.cc:57: warning:
'abi_minimal_isa' violates the C++ One Definition Rule [-Wodr]
57 | abi_minimal_isa[N_ABI_BASE_TYPES][N_ABI_EXT_TYPES];
../../gcc/config/loongarch/loongarch-def.cc:186: note:
'abi_minimal_isa' was previously declared here
186 | abi_minimal_isa = array<array<loongarch_isa, N_ABI_EXT_TYPES>,
../../gcc/config/loongarch/loongarch-def.cc:186: note:
code may be misoptimized unless '-fno-strict-aliasing' is used
Fix it by adding a proper declaration of abi_minimal_isa into
loongarch-def.h and remove the ODR-violating local declaration in
loongarch-opts.cc.
gcc/ChangeLog:
* config/loongarch/loongarch-def.h (abi_minimal_isa): Declare.
* config/loongarch/loongarch-opts.cc (abi_minimal_isa): Remove
the ODR-violating locale declaration.
Diffstat (limited to 'gcc/d/dmd/enum.h')
0 files changed, 0 insertions, 0 deletions