Patrik Stridvall <ps(a)leissner.se> writes:
All of the forms:
(1) void WINAPI (*foo)(void); (2) void (* WINAPI foo)(void); (3) void (WINAPI *foo)(void);
Seems to work with gcc. Even with gcc 2.7.x.
I believe the problems were rather with g++. In my 2.95.4 version, case (2) still doesn't work (well it compiles but generates wrong code). Case (3) works though, so that sounds like the way to go, I'll apply your patch. -- Alexandre Julliard julliard(a)winehq.com
On 31 Jan 2002, Alexandre Julliard wrote:
Patrik Stridvall <ps(a)leissner.se> writes:
All of the forms:
(1) void WINAPI (*foo)(void); (2) void (* WINAPI foo)(void); (3) void (WINAPI *foo)(void);
Seems to work with gcc. Even with gcc 2.7.x.
I believe the problems were rather with g++. In my 2.95.4 version, case (2) still doesn't work (well it compiles but generates wrong code). Case (3) works though, so that sounds like the way to go, I'll apply your patch.
Yes, g++ is the culprit here. IIRC I did some changes about one year ago because of g++ (maybe going to 1 or 2). But in any case I would consider it a bug with g++, hopefully they will fix it (either in 2.95.5 or 3.0.x). -- Francois Gouget fgouget(a)free.fr http://fgouget.free.fr/ Avoid the Gates of Hell - use Linux.
participants (2)
-
Alexandre Julliard -
Francois Gouget