https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107847

            Bug ID: 107847
           Summary: error: integer overflow in expression in bpf-next
                    test_xdp_vlan.c
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: james.hilliard1 at gmail dot com
  Target Milestone: ---

I'm seeing this error which does not occur in llvm for a bpf
test(test_xdp_vlan.c) in bpf-next, I'm not sure if this is an upstream bug in
the test itself or a bug in gcc:

progs/test_xdp_vlan.c: In function 'xdp_prognum1':
progs/test_xdp_vlan.c:163:25: error: integer overflow in expression '(short
int)(((__builtin_constant_p((int)vlan_hdr->h_vlan_TCI)) != 0 ? (int)(short
unsigned int)((short int)((int)vlan_hdr->h_vlan_TCI << 8 >> 8) << 8 | (short
int)((int)vlan_hdr->h_vlan_TCI << 0 >> 8 << 0)) & 61440 :
(int)__builtin_bswap16(vlan_hdr->h_vlan_TCI) & 61440) << 8 >> 8) << 8' of type
'short int' results in '0' [-Werror=overflow]
  163 |                         bpf_htons((bpf_ntohs(vlan_hdr->h_vlan_TCI) &
0xf000)
      |                         ^~~~~~~~~

Reply via email to