gm2
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

API change between GCC 12.3.0 and 13.2.0?


From: Philip Munts
Subject: API change between GCC 12.3.0 and 13.2.0?
Date: Tue, 12 Dec 2023 13:22:03 -0800
User-agent: Mozilla Thunderbird

It appears to me that in GCC 12.3.0, externals declared in a C binding module (DEFINITION 
MODULE FOR "C") are not mangled, but in GCC 13.2.0 they *are* mangled, 
prefixing the module name.

Given:

DEFINITION MODULE FOR "C" Foo;

  PROCEDURE Bar;

END FOO;

Linking a program that calls Foo.Bar in 12.3.0 requires the external C function 
to be named Bar while 13.2.0 requires it to be Foo_Bar.

This is a severe pain in the neck, as I have a substantial number of such C 
binding modules that all have to be rewritten for GCC 13, adding EXPORT 
QUALIFIED for every C external.  I opine that external C names should never be 
mangled...

Phil



reply via email to

[Prev in Thread] Current Thread [Next in Thread]