This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [Fortran] RFC: Patch to support STDCALL etc. (PR 34112) * PING *
- From: FX <fxcoudert at gmail dot com>
- To: Fortran List <fortran at gcc dot gnu dot org>, gcc-patches at gcc dot gnu dot org, Tobias Burnus <burnus at net-b dot de>, Dennis Wassel <dennis dot wassel at googlemail dot com>
- Date: Fri, 17 Jul 2009 19:36:53 +0200
- Subject: Re: [Fortran] RFC: Patch to support STDCALL etc. (PR 34112) * PING *
Dennis,
I've tried your testcases (from http://gcc.gnu.org/ml/fortran/2009-07/msg00163.html)
on an intel-darwin to mingw cross-compiler, and can confirm the
warnings you're seeing:
$ i586-pc-mingw32-gfortran -W -Wall -c a.f90
$ i586-pc-mingw32-gcc -W -Wall -c b.c
$ i586-pc-mingw32-gfortran -W -Wall a.o b.o
Warning: resolving _stdcall1 by linking to _stdcall1@8
Use --enable-stdcall-fixup to disable these warnings
Use --disable-stdcall-fixup to disable these fixups
Warning: resolving _stdcall2 by linking to _stdcall2@4
The problem is that the symbols are not name-decorated on the Fortran
side:
$ i586-pc-mingw32-nm a.o | egrep '(stdcall|cdecl)'
U _cdecl1
U _cdecl2
U _stdcall1
U _stdcall2
$ i586-pc-mingw32-nm b.o | egrep '(stdcall|cdecl)'
00000000 T _cdecl1
00000012 T _cdecl2
0000001e T _stdcall1@8
00000032 T _stdcall2@4
FX