[C++] anonymous struct linkage

Jonathan Wakely jwakely.gcc@gmail.com
Thu Nov 22 21:06:00 GMT 2012


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;
}



More information about the Gcc-help mailing list