On Wed, Apr 22, 2020 at 5:28 PM JF Bastien via SG12 <sg12@lists.isocpp.org> wrote:
Maybe folks haven't moved from ub@open-std.org to sg12@lists.isocpp.org ?

On Wed, Apr 22, 2020 at 8:34 AM Keane, Erich <erich.keane@intel.com> wrote:

Hi all!

Did this make it to the mailing list?  I didn’t see any discussion on this so I didn’t know if the group decided to just cover this in a telecon that I didn’t hear about, or it just dropped 😊  I just wanted to make sure it doesn’t get dropped.




From: Keane, Erich
Sent: Wednesday, April 15, 2020 8:56 AM
To: sg12@lists.isocpp.org
Cc: JF Bastien <cxx@jfbastien.com>
Subject: EWG Requests feedback/suggestions on Core Issue 1555


Hi SG12-

In the EWG telecon today, we discussed core issue 1555 (http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1555). The summary of the issue is that the standard makes function types of different language linkage incompatible, thus calling a function from a pointer with different language linkage is undefined behavior.  One unnamed implementation was referenced during the discussion where language linkage effects calling convention. 


The major implementations (and none other than the 1 unnamed one listed) simply don’t implement this restriction (that the types aren’t compatible) because the calling convention is the same between the linkages.


EWG was undecided as to whether we should remove this instance restriction, or leave it as undefined behavior.  None seemed to support CWG1555’s proposed resolution of conditionally-supported behavior.

To clarify, the conditional support that was proposed maintained the formal difference between the types and introduced conversions. There was no discussion over whether it is implementation defined whether the types are considered the same or not.


(TL-DR people can start here😊 )

The outcome of the discussion is that the impact and scope of this Undefined Behavior should be evaluated by SG12, and if possible, provide a set of recommendations for dealing with this core issue.



SG12 mailing list
Subscription: https://lists.isocpp.org/mailman/listinfo.cgi/sg12
Searchable archives: http://lists.isocpp.org/sg12/2020/04/index.php