On 22 November 2012 21:03, Jonathan Wakely wrote: > On 22 November 2012 15:44, LAMOME Julien CS-SI > <julien.lamome-cs-si@xxxxxxx> 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; }