[Bug 294131] stdbit.h does not define types required by C23 and C2y

[email protected] Mon, 30 Mar 2026 04:21:49 +0000
Newsgroups gmane.os.freebsd.devel.standards
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D294131

            Bug ID: 294131
           Summary: stdbit.h does not define types required by C23 and C2y
           Product: Base System
           Version: 16.0-CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: standards
          Assignee: [email protected]
          Reporter: [email protected]

C23 =C2=A7 7.18.1 states that "This header makes available the size_t type =
name
(7.21) and any uintN_t, intN_t, uint_leastN_t, or int_leastN_t type names
defined by the implementation (7.22)."

This is not the case on FreeBSD 16.0-CURRENT. Here is an trivial example
program that should compile, but does not:

$ cat main.c=20
#include <stdbit.h>
int
main (void)
{
  size_t v1 =3D 0;
  uint32_t v2 =3D 0;
  return v1 =3D v2;
}
$ cc main.c
main.c:5:3: error: use of undeclared identifier 'size_t'; did you mean
'sizeof'?
    5 |   size_t v1 =3D 0;
      |   ^~~~~~
      |   sizeof
main.c:5:13: error: expression is not assignable
    5 |   size_t v1 =3D 0;
      |   ~~~~~~~~~ ^
main.c:5:10: error: use of undeclared identifier 'v1'
    5 |   size_t v1 =3D 0;
      |          ^
main.c:6:3: error: use of undeclared identifier 'uint32_t'
    6 |   uint32_t v2 =3D 0;
      |   ^
main.c:7:10: error: use of undeclared identifier 'v1'
    7 |   return v1 =3D v2;
      |          ^
main.c:7:15: error: use of undeclared identifier 'v2'
    7 |   return v1 =3D v2;
      |               ^
6 errors generated.

--=20
You are receiving this mail because:
You are the assignee for the bug.=