Sujet : nasty link problem with Gfortran and G++ (C++) ???
De : lynnmcguire5 (at) *nospam* gmail.com (Lynn McGuire)
Groupes : comp.lang.fortranDate : 07. Jan 2025, 22:35:38
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vlk6nb$2cmk4$1@dont-email.me>
User-Agent : Mozilla Thunderbird
I just ran into a nasty problem with GFortran and G++ (C++). Probably not a bug ??? I am using GCC 14.1.
I have a lot of code in C++ (over 100,000 lines). I have 750,000 lines of code in GFortran. I have to extern "C" this code in C++ to make it callable by GFortran code.
I missed declaring a couple of C++ functions as extern "C" which means that they kept their C++ mangled link names. But these C++ functions were declared as integer*8 and external in the GFortran code (old F77 code).
So, the GCC linker did not report to me that it did not have a link for the G++ functions. This may be a bug, I am not sure.
When I ran the program, the C++ functions were not called by the GFortran code. Instead, the GFortran code treated the C++ functions as integer*8 scalar variables.
If needful, I can probably put together a small code sample that exhibits the problem. Maybe. It could be that the size of my code affects the GCC linker.
I removed the Gfortran code "external" keywords, extern "C" the C++ functions, added the C++ function to my module list, and got a working link.
Thanks,
Lynn