[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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.