This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: [C++] anonymous struct linkage
On 22 November 2012 21:03, Jonathan Wakely wrote:
> On 22 November 2012 15:44, LAMOME Julien CS-SI
> <julien.lamome-cs-si@irsn.fr> wrote:
>> Hi,
>> we have a code mixing C++ and Fortran 77. In fortran, we have some COMMON like :
>> COMMON / DEMOF/VARIABLE
>> Which are include in fortran source file like this :
>> #include <demof.include>
>>
>> We link with C++ code like this :
>> struct { double variable}demof ;
>>
>> The problem is :
>> Between gcc 4.3 and gcc 4.6, the linkage of demof (in C++) change from global to local. This breaks the link between C++ and fortran.
>>
>> How can I restore the global linkage in gcc 4.6 ?
>
> Give the type a name:
>
> struct D { double variable; } demof;
>
> Problem solved.
Alternatively, give it C language linkage:
extern "C" {
struct { double d; } demof;
}