__declspec(selectany)
Dan Kegel
dank at kegel.com
Wed Aug 6 00:14:12 CDT 2003
Dimitrie O. Paun wrote:
> On August 6, 2003 12:12 am, Dan Kegel wrote:
>
>
>>Silly me. For some reason I thought the builtin declarations were
>>magic. Here's a little demo that might show the basic idea.
>
>
> winegcc already defines these things:
>
> gcc_argv[i++] = "-D__stdcall=__attribute__((__stdcall__))";
> gcc_argv[i++] = "-D__cdecl=__attribute__((__cdecl__))";
> gcc_argv[i++] = "-D__fastcall=__attribute__((__fastcall__))";
> gcc_argv[i++] = "-D_stdcall=__attribute__((__stdcall__))";
> gcc_argv[i++] = "-D_cdecl=__attribute__((__cdecl__))";
> gcc_argv[i++] = "-D_fastcall=__attribute__((__fastcall__))";
> gcc_argv[i++] = "-D__declspec(x)=__attribute__((x))";
I looked at
http://cvs.winehq.com/cvsweb/wine/tools/winegcc.c?rev=1.16
and see you don't have
#define selectany weak
Without that, you get compilation errors on my demo (and presumably
on the original poster's source code):
[dank at krunch dank]$ gcc -include msextensions.h bar.c foo.c
bar.c:3: warning: `selectany' attribute directive ignored
foo.c:1: warning: `selectany' attribute directive ignored
/tmp/ccFjkSf7.o(.data+0x0): multiple definition of `x'
/tmp/ccDWXV71.o(.data+0x0): first defined here
collect2: ld returned 1 exit status
Think winegcc should do -Dselectany=weak?
- Dan
--
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045
More information about the wine-devel
mailing list