Do C dialect options -std=* affect the ABI?

Florian Weimer fweimer@redhat.com
Tue May 8 12:29:00 GMT 2018


On 05/08/2018 07:32 AM, Sebastian Huber wrote:
> For example can I safely link objects produced with different C++ 
> standard versions to produce an executable?

In general, no.  A lot of header files enable and disable features based 
on the standards version, and that usually has an ABI impact.

I think for C, the inlining behavior changes significantly, which has 
ABI implications.  See the -fgnu89-inline option (whose documentation 
apparently was not updated for C11).  I'm not even sure that you can 
assume that if the code still links, it has the same behavior.

Thanks,
Florian



More information about the Gcc-help mailing list