public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
From: Pavel M <pavel.morozkin@gmail.com>
To: newlib@sourceware.org
Subject: Re: Issue: #include <stdio.h> shall not cause intmax_t to be defined
Date: Thu, 5 May 2022 19:15:21 +0300	[thread overview]
Message-ID: <CAL9Mx1sv6jE3LxChMGT=_KLs8Vk_cAYCP7Tv+HyhEO-r24Nzeg@mail.gmail.com> (raw)
In-Reply-To: <YnJ7sL3rPRdkxb1k@calimero.vinschen.de>

> Is there actually a "MUST NOT" defined anywhere in the standards or was
this change unnecessary?
C11 specifies when header X includes header Y.
Examples:
7.25 Type-generic math <tgmath.h>:
> The header <tgmath.h> includes the headers <math.h> and <complex.h>
7.26 Threads <threads.h>:
> The header <threads.h> includes the header <time.h>
7.8 Format conversion of integer types <inttypes.h>:
> The header <inttypes.h> includes the header <stdint.h>
There are no more occurrences of "includes the header".
--
Pavel

On Wed, 4 May 2022 at 16:13, Corinna Vinschen <vinschen@redhat.com> wrote:

> On May  4 11:02, Sebastian Huber wrote:
> > On 04/05/2022 10:54, Corinna Vinschen wrote:
> > > On May  4 10:41, Sebastian Huber wrote:
> > > > On 04/05/2022 10:37, Corinna Vinschen wrote:
> > > > > 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?
> > > > It seems to be a general BSD feature:
> > > >
> > > > https://github.com/openbsd/src/blob/master/sys/sys/types.h#L75
> > > >
> > > >
> http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys/types.h?rev=1.105&content-type=text/x-cvsweb-markup
> > > If the BSDs expose stdint.h types via stdio.h anyway, what's the sense
> > > of not exposing it in the non-_BSD_VISIBLE scenario?  _BSD_VISIBLE is
> > > default anyway, so the non-exposure of the stdint types is restricted
> to
> > > files which define _XOPEN_SOURCE or some such.
> > >
> > > Is there actually a "MUST NOT" defined anywhere in the standards or
> > > was this change unnecessary?
> >
> > I think the reported problem with stdio.h is because the Newlib stdio.h
> > includes <sys/types.h>. In FreeBSD for example, <sys/_types.h> is
> included
> > with local type definitions, see:
> >
> > https://sourceware.org/pipermail/newlib/2022/019592.html
>
> I guess I'm an idiot.  I just dropped my patch and applied yours
> instead. It fixes *all* the problems requiring more patches to other
> files I saw while building with my change to sys/types.h.
>
> So, I think what I'll do is revert my patch and apply yours instead.
>
> The other patch of your patch series is obseleted by this.
>
>
> Thanks a lot!
>
>
> Corinna
>
>

  reply	other threads:[~2022-05-05 16:15 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-26 21:41 Pavel M
2022-05-03 17:00 ` Corinna Vinschen
2022-05-04  7:59   ` Sebastian Huber
2022-05-04  8:37     ` Corinna Vinschen
2022-05-04  8:41       ` Sebastian Huber
2022-05-04  8:54         ` Corinna Vinschen
2022-05-04  9:02           ` Sebastian Huber
2022-05-04 13:12             ` Corinna Vinschen
2022-05-05 16:15               ` Pavel M [this message]
2022-05-06  9:14                 ` Corinna Vinschen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAL9Mx1sv6jE3LxChMGT=_KLs8Vk_cAYCP7Tv+HyhEO-r24Nzeg@mail.gmail.com' \
    --to=pavel.morozkin@gmail.com \
    --cc=newlib@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).