[llvm-commits] [llvm] r97884 - in /llvm/trunk/lib/Target/X86: X86ISelLowering.cpp X86ISelLowering.h X86InstrInfo.td X86RegisterInfo.cpp

Aaron Gray aaronngray.lists at googlemail.com
Tue Apr 13 13:26:27 PDT 2010


On 6 March 2010 20:32, Anton Korobeynikov <asl at math.spbu.ru> wrote:

> Author: asl
> Date: Sat Mar  6 13:32:29 2010
> New Revision: 97884
>
> URL: http://llvm.org/viewvc/llvm-project?rev=97884&view=rev
> Log:
> Lower dynamic stack allocation on mingw32 to separate instruction.
> We cannot use a normal call here since it has extra unmodelled side
> effects (it changes stack pointer). This should fix PR5292.
>
> Modified:
>    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
>    llvm/trunk/lib/Target/X86/X86ISelLowering.h
>    llvm/trunk/lib/Target/X86/X86InstrInfo.td
>    llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp
>
>
Anton,

AFAICT this has broken Cygwin LLVM-GCC in a strange way. I have bisected it
down to this revision change.

Basically some typedef's in stddef.h when
compiling gcc/config/i386/cygming-crtbegin.c are not being parsed properly,
very strange I know.

Would you be able to look in to this please as I don't understand the
ISelection area. Hopefully it is something simple.

~~~~
        /bin/sh /home/ang/svn/llvm-gcc-97884/gcc/mkconfig.sh tconfig.h
/home/ang/build/llvm-gcc-97884/./gcc/xgcc
-B/home/ang/build/llvm-gcc-97884/./gcc
/ -B/home/ang/llvm-gcc-97884/i686-pc-cygwin/bin/
-B/home/ang/llvm-gcc-97884/i686
-pc-cygwin/lib/ -isystem /home/ang/llvm-gcc-97884/i686-pc-cygwin/include
-isyste
m /home/ang/llvm-gcc-97884/i686-pc-cygwin/sys-include -O2 -O2 -g -O2
 -DIN_GCC
  -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-
definition  -isystem ./include  -I. -I. -I/home/ang/svn/llvm-gcc-97884/gcc
-I/ho
me/ang/svn/llvm-gcc-97884/gcc/.
-I/home/ang/svn/llvm-gcc-97884/gcc/../include -I
/home/ang/svn/llvm-gcc-97884/gcc/../libcpp/include
 -I/home/ang/svn/llvm-gcc-978
84/gcc/../libdecnumber -I../libdecnumber
-I/home/ang/build/llvm-97884/include -I
/home/ang/svn/llvm-97884/include  -g0 -finhibit-size-directive
-fno-inline-funct
ions -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder  -c
-o c
rtbegin.o \
        /home/ang/svn/llvm-gcc-97884/gcc/config/i386/cygming-crtbegin.c
In file included from /home/ang/svn/llvm-gcc-97884/gcc/tsystem.h:47,
                 from
/home/ang/svn/llvm-gcc-97884/gcc/config/i386/cygming-crtbegin.c:37:
/home/ang/build/llvm-gcc-97884/./gcc/include/stddef.h:152: error: expected
ident
ifier or '(' before string constant
/home/ang/build/llvm-gcc-97884/./gcc/include/stddef.h:214: error: expected
ident
ifier or '(' before string constant
/home/ang/build/llvm-gcc-97884/./gcc/include/stddef.h:326: error: expected
ident
ifier or '(' before string constant
In file included from /usr/include/sys/_types.h:63,
                 from /usr/include/sys/reent.h:14,
                 from /usr/include/stdio.h:45,
                 from /home/ang/svn/llvm-gcc-97884/gcc/tsystem.h:90,
                 from
/home/ang/svn/llvm-gcc-97884/gcc/config/i386/cygming-crtbe
gin.c:37:
/home/ang/build/llvm-gcc-97884/./gcc/include/stddef.h:355: error: expected
ident
ifier or '(' before string constant
In file included from /usr/include/sys/reent.h:14,
                 from /usr/include/stdio.h:45,
                 from /home/ang/svn/llvm-gcc-97884/gcc/tsystem.h:90,
                 from
/home/ang/svn/llvm-gcc-97884/gcc/config/i386/cygming-crtbe
gin.c:37:
/usr/include/sys/_types.h:72: error: expected specifier-qualifier-list
before 'w
int_t'
In file included from /usr/include/stdio.h:65,
                 from /home/ang/svn/llvm-gcc-97884/gcc/tsystem.h:90,
                 from
/home/ang/svn/llvm-gcc-97884/gcc/config/i386/cygming-crtbe
gin.c:37:
/usr/include/sys/stdio.h:38: error: expected declaration specifiers or '...'
bef
ore 'size_t'
/usr/include/sys/stdio.h:39: error: expected declaration specifiers or '...'
bef
ore 'size_t'
In file included from /home/ang/svn/llvm-gcc-97884/gcc/tsystem.h:90,
                 from
/home/ang/svn/llvm-gcc-97884/gcc/config/i386/cygming-crtbe
gin.c:37:
/usr/include/stdio.h:181: error: expected declaration specifiers or '...'
before
 'size_t'
/usr/include/stdio.h:209: error: expected ',' or ';' before 'fread'
/usr/include/stdio.h:210: error: expected ',' or ';' before 'fwrite'
/usr/include/stdio.h:248: error: expected declaration specifiers or '...'
before
 'size_t'
/usr/include/stdio.h:248: error: format string argument not a string type
/usr/include/stdio.h:250: error: expected declaration specifiers or '...'
before
 'size_t'
/usr/include/stdio.h:250: error: format string argument not a string type
/usr/include/stdio.h:271: error: expected declaration specifiers or '...'
before
 'size_t'
~~~~

If you could give me a yay or nay as soon as is possible as this is a show
stopper for Cygwin getting into the 2.7 release.

Thanks,

Aaron
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100413/bde44828/attachment.html>


More information about the llvm-commits mailing list