comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: 'Size hack for enumerated types
Date: Tue, 8 Jul 2014 15:56:25 -0500
Date: 2014-07-08T15:56:25-05:00	[thread overview]
Message-ID: <lphltp$so0$1@loke.gir.dk> (raw)
In-Reply-To: d2272863-c1e4-4130-a767-eb6fdd61e14b@googlegroups.com

"Dan'l Miller" <optikos@verizon.net> wrote in message 
news:d2272863-c1e4-4130-a767-eb6fdd61e14b@googlegroups.com...

<Various interesting stuff elided>

...
>Conversely, ISO 9899 C2011 does not allow this new language feature, as
>shown in section 6.4.4.3 on page 67 of 
>http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf.
>So perhaps ARG needs to seriously consider adding Convention => C_Plus_Plus 
>or
>whatever its syntax would be to handle the increasing divergence between 
>C++ and
>C standards.

We've previously argued about a convention C_Plus_Plus or the like. We 
decided not to go there for two reasons:
(1) C_Plus_Plus is unspeakable ugly; C++ is bad syntax. We could get no 
agreement on the name here.
(2) We don't want to support convention C_Plus_Plus (or whatever it ends up 
being called) on tagged types. Doing so insists that all tagged types are 
represented as C++ does. That might be OK for GNAT (where the C++ compiler 
is maintained in tandem), but it wouldn't work very well for any target 
where the C++ compiler is from a separate organization. (I'm not interested 
in chasing Microsoft on this, thank you.) In addition other information is 
needed which tends to vary between C++ implementations. We didn't think that 
we could come up with a mechanism that was sufficiently abstract to allow 
portability between implementations.

The ultimate decision was that we wouldn't define a C++ convention.

Implementations are supposed to have a dedicated convention for every 
compiler they support. So if the C++ compiler does something different than 
the C compiler, then the *implementation* should have a separate convention 
for the C++ compiler. The language need not get involved, as portability 
between implementations can't be guaranteed anyway.

I'm sure we'll revisit this someday, but I'm not sure that any other 
conclusion is possible.

                                     Randy.



  reply	other threads:[~2014-07-08 20:56 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-05 20:32 'Size hack for enumerated types Victor Porton
2014-07-05 21:47 ` Simon Wright
2014-07-05 22:11   ` Victor Porton
2014-07-05 22:18     ` Victor Porton
2014-07-05 22:23       ` Victor Porton
2014-07-06 16:25         ` Victor Porton
2014-07-06 20:59       ` Simon Wright
2014-07-06 23:01         ` Victor Porton
2014-07-06 23:30           ` Jeffrey Carter
2014-07-07 16:00             ` Victor Porton
2014-07-07 17:12               ` Simon Wright
2014-07-07 20:23                 ` Victor Porton
2014-07-08  7:04                   ` Simon Wright
2014-07-08 10:17                     ` sbelmont700
2014-07-08 14:53                     ` Dan'l Miller
2014-07-08 20:56                       ` Randy Brukardt [this message]
2014-07-08 22:26                         ` Dan'l Miller
2014-07-08 23:18                         ` Jeffrey Carter
2014-07-08  9:43                   ` AdaMagica
2014-07-08 13:52                     ` Victor Porton
2014-07-08 15:02                       ` Simon Wright
2014-07-07  7:45           ` Simon Wright
2014-07-06  7:22     ` Simon Wright
2014-07-06 13:21 ` sbelmont700
2014-07-06 16:16   ` Victor Porton
2014-07-06 17:52     ` sbelmont700
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox