[Bug 51926] Cannot build wine 6.20 on Slackware Linux 14.2

WineHQ Bugzilla wine-bugs at winehq.org
Mon Nov 1 10:49:02 CDT 2021


https://bugs.winehq.org/show_bug.cgi?id=51926

--- Comment #4 from studiosg at giustetti.net ---
Thanks for the feedback Zebediah,

I added a couple of #pragma directives to your example and can confirm that the
problem only arises when building release 6.20.

In your test and in wine <= 6.19 definitions are expanded as follows:
Your Test / wine 6.19
The value of WIFEXITED(status): ((((__extension__ (((union { __typeof(status)
__in; int __i; }) { .__in = (status) }).__i))) & 0x7f) == 0)
The value of __WAIT_INT (status): (__extension__ (((union { __typeof(status)
__in; int __i; }) { .__in = (status) }).__i))

While in Wine 6.20 they are expanded in:
The value of WIFEXITED(status): ((((__extension__ (((union { __typeof(status) ;
int __i; }) { . = (status) }).__i))) & 0x7f) == 0)
The value of __WAIT_INT (status): (__extension__ (((union { __typeof(status) ;
int __i; }) { . = (status) }).__i))

Please note the missing "__in"s. As far as I can tell, both "__in"s are
replaced by an empty string (Lenght 0) resulting in a wrong definition and a
syntax error. 

Adding line of code: #undef __in before the "start_server" function definition
solves the problem for loader.c, but the very same error arises again later on
when compiling process.c.

__in is defined in "include/sal.h", line 347:
#define __in
This presented no problem before Wine 6.20. As far as I can tell the header is
included where it should not, but I wasn't able to determine where so far.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list