This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

ICE in rtx_equal_for_memref_p for inline assembler


Hi,

I get the following ICE for alias handling of inline assembly during compiling
WINE with the current GCC headbranch.

  gcc -c -I. -I. -I../include -I../include  -g -O2 -Wall -mpreferred-stack-boundary=2 -fPIC -D__WINE__ -DBINDIR="\"/usr/local/bin\"" -D_REENTRANT -I/usr/X11R6/include -o client.o client.c
  fmt[i] is |s|
  rtl for x:
  (asm_operands:SI (".byte 0x64
	  movl (0x18),%0") ("=r") 0[ ]
      [ ]  ("../include/winnt.h") 1803)
  rtl for y:
  (asm_operands:SI (".byte 0x64
	  movl (0x18),%0") ("=r") 0[ ]
      [ ]  ("../include/winnt.h") 1803)
  client.c: In function `CLIENT_InitThread':
  client.c:684: Internal compiler error in rtx_equal_for_memref_p, at alias.c:1112


[I added debug output of the rtl for x and y and fmt[i] to alias.c.]

Why is fmt[i] marking a string? And why does it get there at all with
assembler?

client.i.gz attached, gcc -O2 -c client.i exhibits the problem, gcc -v:
  Reading specs from /games/egcsbin/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.1/specs
  Configured with: /games/egcs/configure --prefix=/games/egcsbin/ : (reconfigured) 
  Thread model: single
  gcc version 3.1 20010430 (experimental)

Ciao, Marcus

client.i.gz


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]