On Tue, Aug 17, 2010 at 2:24 PM, Kai Tietz <ktiet...@googlemail.com> wrote:
> 2010/8/17 Pete Batard <pbat...@gmail.com>:
>> For 32 bit, the current MinGW-w64 winbase has:
>>
>>   LONG InterlockedIncrement(LONG volatile *lpAddend);
>>   LONG InterlockedDecrement(LONG volatile *lpAddend);
>>   LONG InterlockedExchange(LONG volatile *Target,LONG Value);
>>
>> However, MinGW32 uses:
>>
>>   LONG WINAPI InterlockedDecrement(LONG volatile *);
>>   LONG WINAPI InterlockedExchange(LONG volatile *,LONG);
>>   LONG WINAPI InterlockedIncrement(LONG volatile *);
>>
>> The lack of WINAPI qualifier in MinGW-w64 results in MinGW-w64 32 bit
>> objects lacking the __stdcall decoration (eg. '_interlockedexcha...@8'),
>> which means that a 32 bit MinGW-w64 generated library using any of the
>> Interlocked calls above cannot be used with MinGW32 environment.
>>
>> You might also want to note the following from the MinGW32 header
>> regarding the Interlocked API section:
>>
>> /* CAREFUL: These are exported from ntoskrnl.exe and declared in
>> winddk.h as __fastcall functions, but are exported from kernel32.dll as
>> __stdcall */
>>
>> Regards,
>>
>> /Pete
>
> Thank you Pete for noticing that. We are aware of this and we solved
> things here a bit different, but

AFAIR, they aren't specifically marked as WINAPI in ms headers
(well, maybe their mistake?..)

>   maybe we could add here the stdcall
> decoration, too. Our Interlocked API is treated in our libmingwex and
> has here (as intrinsic) the __cdecl decoration.

If we change into __stdcall we will be doing an api change within
ourselves. This needs careful adjustments

>  Therefore it shouldn't
> produce for you in general issues.
> Do you have here found issues while building?
>
> Regards,
> Kai
>

--
Ozkan

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to