linux-man.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alejandro Colomar <colomar.6.4.3@gmail.com>
To: Jonathan Wakely <jwakely.gcc@gmail.com>,
	"gcc@gcc.gnu.org" <gcc@gcc.gnu.org>
Cc: linux-man <linux-man@vger.kernel.org>,
	"Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
Subject: Re: [RFC] man7/system_data_types.7: Document [unsigned] __int128
Date: Thu, 1 Oct 2020 12:14:21 +0200	[thread overview]
Message-ID: <5ed7272e-1c81-d1f5-6a54-0fee4270199e@gmail.com> (raw)
In-Reply-To: <CAH6eHdSHEjjjDtBCFO93NXb3bCGtYg6L35injf6pz3bMoL=3Fw@mail.gmail.com>

Hi Jonathan,

On 2020-10-01 11:57, Jonathan Wakely wrote:
 > On Thu, 1 Oct 2020 at 10:26, Alejandro Colomar via Gcc 
<gcc@gcc.gnu.org> wrote:
 >>
 >> Hi,
 >>
 >> I'm documenting the system data types in the man-pages,
 >> and I was writing now about these types.
 >>
 >> I'm showing below both the rendered output and the source I have 
right now.
 >>
 >> Would you add anything to it?
 >>
 >> And I have some questions:
 >>
 >> Is 'signed __int128' a valid thing,
 >> and if so is it completely equivalent to '__int128'?
 >
 > Yes.
 >
 >> Is the GCC version correct?
 >>
 >> There's no implementation where 'long long' is 128 bits yet, right?
 >
 > Right.
 >
 >> Thanks,
 >>
 >> Alex
 >>
 >> Rendered output:
 >> [[
 >> __int128
 >>         A signed integer type of a fixed width of exactly 128 bits.
 >>
 >>         According to GNU, it is supported only for targets which have an
 >>         integer mode wide enough to hold 128 bits.
 >
 > "According to GNU"? Should that be GCC?
 >
 > The GNU project doesn't have anything to say about it.
 >
 > Maybe just "When using GCC, it is supported only ..."

Ok,  I thought that GCC is part of the GNU project, but I don't know how 
much...
I'll use "When using GCC," :)

 >
 >
 >>
 >>         Bugs: It is not possible to express an integer constant of  type
 >>         __int128  in  implementations  where  long long is less than 128
 >>         bits wide.
 >>
 >>         Conforming to: GCC 4.6.0 and later.
 >
 > It doesn't conform to anything, shouldn't this say "This type is a GNU
 > extension." or just "This type is an extension." ?

That's what I had first: "Conforming to: GCC extension"
Then I thought that I could include the version information,
so I changed it to that.

Maybe "GCC extension (since GCC 4.6.0)" would be better?

 >
 >>
 >>         Notes: This type is available without including any header.
 >>
 >>         See also the intmax_t, intN_t and  unsigned  __int128  types  in
 >>         this page.
 >
 > Why would this type refer to intmax_t?
 >

Because 'intmax_t' has a bug
(actually I know GCC rejected the bug report,
but the problem is still there and users should be informed about this)
which is related to __int128.

Here is the rendered intmax_t:

intmax_t
       Include: <stdint.h>.  Alternatively, <inttypes.h>.

       A  signed  integer type capable of representing any value of any
       signed integer type supported by the implementation.   According
       to  the C language standard, it shall be capable of storing val-
       ues in the range [INTMAX_MIN, INTMAX_MAX].

       The macro INTMAX_C() expands its argument to an integer constant
       of type intmax_t.

       The  length  modifier  for  intmax_t  for  the printf(3) and the
       scanf(3) families of functions is j; resulting commonly  in  %jd
       or %ji for printing intmax_t values.

       Bugs:  intmax_t  is not large enough to represent values of type
       __int128 in implementations where __int128 is defined  and  long
       long is less than 128 bits wide.

       Conforming to: C99 and later; POSIX.1-2001 and later.

       See also the uintmax_t type in this page.


Thanks,

Alex

  reply	other threads:[~2020-10-01 10:14 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-01  9:24 [RFC] man7/system_data_types.7: Document [unsigned] __int128 Alejandro Colomar
2020-10-01  9:57 ` Jonathan Wakely
2020-10-01 10:14   ` Alejandro Colomar [this message]
2020-10-01 10:50     ` Jonathan Wakely
2020-10-01 11:24       ` Alejandro Colomar
2020-10-01 11:46         ` Jonathan Wakely
2020-10-01 12:54     ` Szabolcs Nagy
2020-10-01 13:22       ` Alejandro Colomar
2020-10-01 13:46         ` Jonathan Wakely
2020-10-01 17:31     ` Joseph Myers
2020-10-02  8:10       ` Alejandro Colomar

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=5ed7272e-1c81-d1f5-6a54-0fee4270199e@gmail.com \
    --to=colomar.6.4.3@gmail.com \
    --cc=gcc@gcc.gnu.org \
    --cc=jwakely.gcc@gmail.com \
    --cc=linux-man@vger.kernel.org \
    --cc=mtk.manpages@gmail.com \
    /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 NNTP newsgroup(s).