* Jakub Jelinek:

> On Fri, Oct 21, 2022 at 11:17:40AM +0200, Florian Weimer wrote:
>> So we would patch the tests?
>
> Depends on how large the patch is, but I'd say so.
>
>>  I guess we can make sure we use “int main
>> (void)” etc. at the same time.
>
> Why?  Isn't int main () {} in C2X the same thing as int main (void) {} ?
> int main () {...} is in 3500+ C tests and every day a few are added...

Is this really possible?  For function pointers, it's an ABI change.
int (*) () and int (*) (void) have different calling conventions on some
ABIs (e.g., powerpc64le-linux-gnu).  The ABI difference goes away once
the callees are rebuilt, and I think such rebuilt callees are compatible
with either calling convention.

But still, if C2X forces such a silent ABI change, that's kind of
troublesome.  On the other hand, it addresses a potential
interoperability trap with C++ code.

Thanks,
Florian

Reply via email to