[Bug target/56807] mingw32: Conflict between stack realignment and stack probe destroys function argument in EAX

achurch+gcc at achurch dot org gcc-bugzilla@gcc.gnu.org
Wed Dec 11 06:09:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56807

Andrew Church <achurch+gcc at achurch dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---

--- Comment #13 from Andrew Church <achurch+gcc at achurch dot org> ---
FYI, the 4.7 branch no longer builds for me:

/tmp/gcc47-svn/gcc/config/i386/i386.c: In function 'ix86_expand_prologue':
/tmp/gcc47-svn/gcc/config/i386/i386.c:10434:4: warning: passing argument 1 of
'plus_constant' makes pointer from integer without a cast [enabled by default]
In file included from /tmp/gcc47-svn/gcc/config/i386/i386.c:26:0:
/tmp/gcc47-svn/gcc/rtl.h:1646:12: note: expected 'rtx' but argument is of type
'int'
/tmp/gcc47-svn/gcc/config/i386/i386.c:10434:4: warning: passing argument 2 of
'plus_constant' makes integer from pointer without a cast [enabled by default]
In file included from /tmp/gcc47-svn/gcc/config/i386/i386.c:26:0:
/tmp/gcc47-svn/gcc/rtl.h:1646:12: note: expected 'long int' but argument is of
type 'rtx'
/tmp/gcc47-svn/gcc/config/i386/i386.c:10434:4: error: too many arguments to
function 'plus_constant'
In file included from /tmp/gcc47-svn/gcc/config/i386/i386.c:26:0:
/tmp/gcc47-svn/gcc/rtl.h:1646:12: note: declared here

plus a couple more sets of the same errors for the other plus_constant() calls.

If I remove the "Pmode" argument, the resulting compiler seems to do the right
thing and the test case passes.



More information about the Gcc-bugs mailing list