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.

Reply via email to