C++ Logo

liaison

Advanced search

Re: [wg14/wg21 liaison] constant expressions

From: Aaron Ballman <aaron_at_[hidden]>
Date: Mon, 12 Apr 2021 08:54:24 -0400
On Mon, Apr 12, 2021 at 8:38 AM Jens Gustedt <jens.gustedt_at_[hidden]> wrote:
>
> Aaron,
>
> on Mon, 12 Apr 2021 07:59:03 -0400 you (Aaron Ballman
> <aaron_at_[hidden]>) wrote:
>
> > Correcting the liaison email address so they're included.
> >
> > On Sun, Apr 11, 2021 at 5:12 AM Jens Gustedt <jens.gustedt_at_[hidden]>
> > wrote:
>
> > > Lambda expressions already have a interesting incompatibility with
> > > designators in initializers compared to C17, which I only found out
> > > by the integration mentioned above. If we are in a world where
> > > (implementation-defined) some constant objects can also be ICE, such
> > > as
> > >
> > > int const something = 42;
> >
> > <tangent>Perhaps I'm misunderstanding 6.6p10, but I don't believe that
> > gives you leave to turn this into an *integer constant expression*
> > just a *constant expression*. ICE is a more specific term that has
> > further semantic meaning elsewhere, and I was not under the impression
> > implementations were allowed to define new kinds of integer constant
> > expressions. e.g., I think it's invalid for an implementation to
> > decide these are identical declarations: int foo[something]; and int
> > foo[42];</tangent>
>
> interesting, I can read that differently.
>
> Such as that this phrase opens all the categories (ICE, address
> constants, ...) that are introduced in that clause. I vaguely remember
> that some implementation used that phrase to extend what they accept
> as address constant.

This would be another case where the C standard's interchangable use
of English prose and grammar terms may be introducing ambiguity. When
I read "constant expression" in the C standard, I understand that to
mean the constant-expression grammar production. But if I think of it
as English prose, then I come to your understanding of the wording. I
have no idea what the intent is in this case. :-(

~Aaron

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

Received on 2021-04-12 07:54:39