C++ Logo

liaison

Advanced search

Re: [wg14/wg21 liaison] C and C++ Compatibility SG meeting summary for Oct 06, 2021

From: David Olsen <dolsen_at_[hidden]>
Date: Fri, 8 Oct 2021 16:34:22 +0000
Tom:
> > Thank you, Gaby, but I'm still a little confused. Could you please
> > elaborate with regard to what runtime semantics you believe would
> > differ?

Gaby:
> See the conversion/promotion rules - I think they were points 2, 3, and 4 on the slide presentations.

The only runtime difference between the two languages that P1467 would have introduced was a very slight difference in usual arithmetic conversions. After the discussion and polls in the SG22/CFP meeting, I will tweak the usual arithmetic conversion rules in P1467 to match the C23 rules. With that change to P1467, there won't be any places left where the C and C++ standards require different runtime behavior in the area of extended floating-point.

There will still be a difference in compile-time behavior, in the area of whether or not certain conversions are implicit. That only affects compile time. If the code compiles in both languages, it will behave the same in both languages.



-----Original Message-----
From: Liaison <liaison-bounces_at_[hidden]> On Behalf Of Gabriel Dos Reis via Liaison
Sent: Thursday, October 7, 2021 9:32 AM
To: Tom Honermann <tom_at_[hidden]>; Aaron Ballman <aaron_at_[hidden]>; WG14/WG21 liaison mailing list <liaison_at_[hidden]>
Cc: Gabriel Dos Reis <gdr_at_[hidden]>
Subject: Re: [wg14/wg21 liaison] C and C++ Compatibility SG meeting summary for Oct 06, 2021


[Tom]
> Thank you, Gaby, but I'm still a little confused. Could you please
> elaborate with regard to what runtime semantics you believe would
> differ?

See the conversion/promotion rules - I think they were points 2, 3, and 4 on the slide presentations.

> What changes would be needed to align the runtime semantics across the languages?

The rules that the WG14 representatives were unwilling to make. See the poll results.

Note: I am quite happy with the C++ proposal, EXCEPT the aliasing part. I would reconsider my vote and recommendations to the various constituents when there is sufficient convergence. I would still recommend against the _Fxxx names in the global namespace.

-- Gaby

-----Original Message-----
From: Tom Honermann <tom_at_[hidden]>
Sent: Thursday, October 7, 2021 9:25 AM
To: Gabriel Dos Reis <gdr_at_[hidden]>; Aaron Ballman <aaron_at_[hidden]>; WG14/WG21 liaison mailing list <liaison_at_[hidden]>
Subject: Re: [wg14/wg21 liaison] C and C++ Compatibility SG meeting summary for Oct 06, 2021

On 10/7/21 12:19 PM, Gabriel Dos Reis wrote:
> The polls that were taken before this one indicated that both languages are headed towards distinct types that behave similarly in certain ways, but distinctly in other ways, and yet it was repeated that the goal was that if a program using those types compiles in both C and C++, then the runtime semantics should be the same. And that wasn't happening. Consequently, pretending that the types in C++ were aliases to the types in C was just plain misleading and wrong. If we are concerned about economic harms because of differences, there subtle differences should dissuade us to purse an "type aliasing" semantics.

Thank you, Gaby, but I'm still a little confused. Could you please elaborate with regard to what runtime semantics you believe would differ? What changes would be needed to align the runtime semantics across the languages?

Tom.

>
> -- Gaby
>
> -----Original Message-----
> From: Aaron Ballman <aaron_at_[hidden]>
> Sent: Thursday, October 7, 2021 8:55 AM
> To: WG14/WG21 liaison mailing list <liaison_at_[hidden]>
> Cc: Tom Honermann <tom_at_[hidden]>
> Subject: Re: [wg14/wg21 liaison] C and C++ Compatibility SG meeting
> summary for Oct 06, 2021
>
> On Thu, Oct 7, 2021 at 11:39 AM Tom Honermann via Liaison
> <liaison_at_[hidden]> wrote:
>> Thank you for hosting the meeting yesterday, Aaron!
> My pleasure, I'm glad it was a productive meeting, thank you for participating!
>
>> With regard to this poll: Should the _Float* C names be available
>> (through some means) in C++ and be used as the types behind the
>> std::float* aliases?
>>
>> The SA vote rationale was "My reasons against were that similar but
>> slightly incompatible types is not good for the same names. ...."
>>
>> Previous polls had consensus to align the usual arithmetic
>> conversions between C and C++, but did not have consensus for
>> applying the C++ implicit conversion rules to C. With regard to the
>> SA rationale above, is the "slightly incompatible types" concern
>> directed at those differences in the implicit conversion rules? Or is
>> the concern over other differences? If the latter, a list of notable
>> differences would be useful.
> I'll leave it to the person who made the comments to explain further,
> but my personal interpretation of the comment was that there was
> unease with exposing the C names in C++ unless the semantics were
> identical and there are cases where the semantics are compatible for a
> well-formed program in both languages but not identical across
> languages. If I have this wrong, hopefully I'll be corrected.
>
>> My understanding is that the intent of P1467R4, and as stated by the
>> author yesterday, is that these types would have the same semantics
>> in each language with the only exception being that, in some cases, a
>> use may be ill-formed in one language and not the other (e.g., the
>> differences in the implicit conversion rules).
> This matches my understanding of the authors' intent with P1467.
>
> ~Aaron
>
>> Tom.
>>
>> On 10/7/21 8:57 AM, Aaron Ballman via Liaison wrote:
>>> The meeting minutes from the Oct 2021 special session on
>>> floating-point types can be found at:
>>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.edg.com%2Fbin%2Fview%2FWg21telecons2021%2FTeleconference2021-10-06&amp;data=04%7C01%7Cdolsen%40nvidia.com%7Ca3f17acf5c3c4cf8826e08d989affa95%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637692211192096937%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=p0fMBjQpNt%2BXVnbwwXtUlWlppMQ6GFLGXHD4A5J0xS8%3D&amp;reserved=0.
>>> The WG14 minutes will be posted to the document log in the near
>>> future.
>>>
>>> Big thanks to Rajan Bhakta for taking minutes, and to all the
>>> attendees for having such a productive special session!
>>>
>>> ~Aaron

Received on 2021-10-08 11:34:27