Re: Issue: #include <stdio.h> shall not cause intmax_t to be defined
Corinna Vinschen <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
On May 4 09:59, Sebastian Huber wrote: > On 03/05/2022 19:00, Corinna Vinschen wrote: > > On Apr 27 00:41, Pavel M wrote: > > > Hi all, > > > > > > Issue: #include <stdio.h> shall not cause intmax_t to be defined. However, > > > now it causes. This is because now <stdio.h> includes <sys/types.h>, which > > > includes <sys/_stdint.h>. > > > Note: per C11 the types intmax_t and uintmax_t defined in the header > > > <stdint.h>, and <stdint.h> is not included in <stdio.h>. > > > Consider fixing. > > I pushed a patch to fix this. > > In FreeBSD, <sys/types.h> provides the stdint.h types. Could we bring back > this with Is that with FreeeBSD only, or is that with BSDs in general? > #if __BSD_VISIBLE > #include <machine/endian.h> > #include <sys/select.h> > #include <sys/_stdint.h> > # define physadr physadr_t > # define quad quad_t > > ? > > In addition, the C11 header files should not include <sys/types.h>. Which files are these exactly? Feel free to submit patches. Corinna