C++ Logo

liaison

Advanced search

[wg14/wg21 liaison] constant expressions

From: Jens Gustedt <jens.gustedt_at_[hidden]>
Date: Mon, 12 Apr 2021 14:37:51 +0200
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.

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:37:57