[Bug target/126744] New: [17 regression] -Wodr in aarch64 backend
"sjames at gcc dot gnu.org via Gcc-bugs" <[email protected]>
| Newsgroups | gmane.comp.gcc.bugs |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126744
Bug ID: 126744
Summary: [17 regression] -Wodr in aarch64 backend
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Keywords: build, lto
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: sjames at gcc dot gnu.org
Target Milestone: ---
Originally reported downstream at https://bugs.gentoo.org/980608, not tried to
repro:
```
/var/tmp/portage/sys-devel/gcc-17.0.9999/work/gcc-17.0.9999/gcc/config/aarch64/aarch64-neon-builtins-base.def:146:1:
error: ‘vzipq_bhs_neon_shape’ violates the C++ One Definition Rule
[-Werror=odr]
146 | DEF_NEON_FUNCTION (vzipq, bhs_neon, ("Q0x2,Q0,Q0"))
| ^
/var/tmp/portage/sys-devel/gcc-17.0.9999/work/gcc-17.0.9999/gcc/config/aarch64/aarch64-neon-builtins-base.def:146:1:
note: ‘vzipq_bhs_neon_shape’ was previously declared here
146 | DEF_NEON_FUNCTION (vzipq, bhs_neon, ("Q0x2,Q0,Q0"))
| ^
/var/tmp/portage/sys-devel/gcc-17.0.9999/work/gcc-17.0.9999/gcc/config/aarch64/aarch64-neon-builtins-base.def:145:1:
error: ‘vzip2q_bhsd_neon_shape’ violates the C++ One Definition Rule
[-Werror=odr]
145 | DEF_NEON_FUNCTION (vzip2q, bhsd_neon, ("Q0,Q0,Q0"))
| ^
/var/tmp/portage/sys-devel/gcc-17.0.9999/work/gcc-17.0.9999/gcc/config/aarch64/aarch64-neon-builtins-base.def:145:1:
note: ‘vzip2q_bhsd_neon_shape’ was previously declared here
145 | DEF_NEON_FUNCTION (vzip2q, bhsd_neon, ("Q0,Q0,Q0"))
| ^
/var/tmp/portage/sys-devel/gcc-17.0.9999/work/gcc-17.0.9999/gcc/config/aarch64/aarch64-neon-builtins-base.def:144:1:
error: ‘vzip2_bhs_neon_shape’ violates the C++ One Definition Rule
[-Werror=odr]
144 | DEF_NEON_FUNCTION (vzip2, bhs_neon, ("D0,D0,D0"))
| ^
/var/tmp/portage/sys-devel/gcc-17.0.9999/work/gcc-17.0.9999/gcc/config/aarch64/aarch64-neon-builtins-base.def:144:1:
note: ‘vzip2_bhs_neon_shape’ was previously declared here
144 | DEF_NEON_FUNCTION (vzip2, bhs_neon, ("D0,D0,D0"))
| ^
/var/tmp/portage/sys-devel/gcc-17.0.9999/work/gcc-17.0.9999/gcc/config/aarch64/aarch64-neon-builtins-base.def:143:1:
error: ‘vzip1q_bhsd_neon_shape’ violates the C++ One Definition Rule
[-Werror=odr]
143 | DEF_NEON_FUNCTION (vzip1q, bhsd_neon, ("Q0,Q0,Q0"))
| ^
/var/tmp/portage/sys-devel/gcc-17.0.9999/work/gcc-17.0.9999/gcc/config/aarch64/aarch64-neon-builtins-base.def:143:1:
note: ‘vzip1q_bhsd_neon_shape’ was previously declared here
143 | DEF_NEON_FUNCTION (vzip1q, bhsd_neon, ("Q0,Q0,Q0"))
| ^
[...]
/var/tmp/portage/sys-devel/gcc-17.0.9999/work/gcc-17.0.9999/gcc/config/aarch64/aarch64-neon-builtins-base.def:22:1:
error: ‘vreinterpret_neon_reinterpret_shape’ violates the C++ One Definition
Rule [-Werror=odr]
22 | DEF_NEON_FUNCTION (vreinterpret, neon_reinterpret, ("D0,D1"))
| ^
/var/tmp/portage/sys-devel/gcc-17.0.9999/work/gcc-17.0.9999/gcc/config/aarch64/aarch64-neon-builtins-base.def:22:1:
note: ‘vreinterpret_neon_reinterpret_shape’ was previously declared here
22 | DEF_NEON_FUNCTION (vreinterpret, neon_reinterpret, ("D0,D1"))
| ^
lto1: some warnings being treated as errors
```
The reporter hit it at r17-3150-g1c37c631abe1de.