http://bugs.winehq.org/show_bug.cgi?id=27663
Summary: 32bit gcc fails to compile WINE Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: vincas.miliunas@gmail.com
Created an attachment (id=35379) --> (http://bugs.winehq.org/attachment.cgi?id=35379) A test-case that fails to compile
As discovered by Wylda and posted on wine-devel mailing list, 32bit gcc fails to compile a certain include statement sequence I used for my raw input patch.
Message confirming test-case failure - http://www.winehq.org/pipermail/wine-devel/2011-June/090886.html
I fixed it by applying the following modification: -#include <stdlib.h> +#include "config.h" +#include "wine/port.h" + +#include <assert.h> +#include <stdarg.h> #include <stdio.h>
#include "ntstatus.h" #define WIN32_NO_STATUS #include "windef.h" -#include "winnt.h" -#include "winternl.h" #include "winbase.h" #include "winuser.h" +#include "winternl.h"
Looks like including "winternl.h" before "winbase.h" and "winuser.h" is implicitly incorrect.
http://bugs.winehq.org/show_bug.cgi?id=27663
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source CC| |austinenglish@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=27663
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID
--- Comment #1 from Alexandre Julliard julliard@winehq.org 2011-07-01 07:34:45 CDT --- You need stdarg.h before Windows headers. Your code is broken.
http://bugs.winehq.org/show_bug.cgi?id=27663
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wylda@volny.cz
--- Comment #2 from Wylda wylda@volny.cz 2011-07-01 07:51:22 CDT ---
You need stdarg.h before Windows headers. Your code is broken.
Interesting, that 64bit gcc does not have such problem.
http://bugs.winehq.org/show_bug.cgi?id=27663
--- Comment #3 from Vincas Miliūnas vincas.miliunas@gmail.com 2011-07-01 08:10:34 CDT --- (In reply to comment #1)
You need stdarg.h before Windows headers. Your code is broken.
My goal was to remove unused include statements for compiling (using 64bit gcc), I was not aware that stdarg.h was an implicit dependency for windows include files on 32bit gcc. The recent submitted version has this fixed.
http://bugs.winehq.org/show_bug.cgi?id=27663
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Austin English austinenglish@gmail.com 2011-07-07 16:16:14 CDT --- Closing.