mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Jens Gustedt <jens.gustedt@inria.fr>
To: musl@lists.openwall.com
Subject: Re: [PATCH 3/4] use exact types for the [U]INTXX_C macros
Date: Tue, 02 Dec 2014 22:37:54 +0100	[thread overview]
Message-ID: <1417556274.4936.1130.camel@eris.loria.fr> (raw)
In-Reply-To: <20141202194435.GG29621@brightrain.aerifal.cx>

[-- Attachment #1: Type: text/plain, Size: 2829 bytes --]

Am Dienstag, den 02.12.2014, 14:44 -0500 schrieb Rich Felker:
> On Tue, Dec 02, 2014 at 08:20:01PM +0100, Jens Gustedt wrote:
> > Am Dienstag, den 02.12.2014, 13:03 -0500 schrieb Rich Felker:
> > > On Tue, Nov 25, 2014 at 03:50:06PM +0100, Jens Gustedt wrote:
> > > > The C standard requires the exact types [u]int_leastXX_t for these
> > > > macros in 7.20.4.1
> > > 
> > > You've misread the standard, and I did too originally. This was fixed
> > > in commit a591e0383a0a31ac94541846796b93fedc63a0c4. The relevant text
> > > is (C99 7.18.4 or C11 7.20.4, paragraph 3):
> > > 
> > > "Each invocation of one of these macros shall expand to an integer
> > > constant expression suitable for use in #if preprocessing directives.
> > > The type of the expression shall have the same type as would an
> > > expression of the corresponding type converted according to the
> > > integer promotions. The value of the expression shall be that of the
> > > argument."
> > > 
> > > In the text you're looking at:
> > > 
> > > "The macro INTN_C(value) shall expand to an integer constant
> > > expression corresponding to the type int_leastN_t. The macro
> > > UINTN_C(value) shall expand to an integer constant expression
> > > corresponding to the type uint_leastN_t. For example, if
> > > uint_least64_t is a name for the type unsigned long long int, then
> > > UINT64_C(0x123) might expand to the integer constant 0x123ULL."
> > > 
> > > the "correspondence" referred to by "corresponding" should be
> > > interpreted as the one via integer promotions in the above text I
> > > cited.
> > 
> > No, that doesn't seem to be the view of the committee on that
> > issue. There is a ongoing DR on that and the consensus of the
> > committee in the discussion seems to be that this is the required
> > type, e.g to be usable in _Generic.
> > 
> > The only ambiguity there seemed to be that they were convinced that
> > this needs internal compiler magic to be achieved, which isn't the
> > case.
> 
> Do you have a citation for this?

These are DR 209 and 456

http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_209.htm
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1892.htm#dr_456

> What on earth is the point of the
> text I quoted about promoted types if your interpretation of the text
> that follows is correct?

That one just seems to be copied over from other parts, and you are
right, in that case has no instantiation because all subsections are
specialized.

Jens


-- 
:: INRIA Nancy Grand Est ::: AlGorille ::: ICube/ICPS :::
:: ::::::::::::::: office Strasbourg : +33 368854536   ::
:: :::::::::::::::::::::: gsm France : +33 651400183   ::
:: ::::::::::::::: gsm international : +49 15737185122 ::
:: http://icube-icps.unistra.fr/index.php/Jens_Gustedt ::



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2014-12-02 21:37 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-25 14:50 Jens Gustedt
2014-12-02 18:03 ` Rich Felker
2014-12-02 19:20   ` Jens Gustedt
2014-12-02 19:44     ` Rich Felker
2014-12-02 21:37       ` Jens Gustedt [this message]
2014-12-03  0:01         ` Rich Felker
2014-12-03 10:20           ` Jens Gustedt
2014-12-03 13:21             ` Szabolcs Nagy
2014-12-03 14:17               ` Jens Gustedt
2014-12-03 14:50                 ` Rich Felker
2014-12-03 14:47             ` Rich Felker

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=1417556274.4936.1130.camel@eris.loria.fr \
    --to=jens.gustedt@inria.fr \
    --cc=musl@lists.openwall.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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

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).