Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!ORC.OLIVETTI.COM!lance
From: lance@ORC.OLIVETTI.COM
Newsgroups: gnu.gcc.bug
Subject: 1.36/i386 chokes on 0x80000000?
Message-ID: <8909281700.AA10837@Ricerca>
Date: 28 Sep 89 17:00:15 GMT
Sender: daemon@tut.cis.ohio-state.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 38


This is encountered on a 386 running Mach with CMU's modified
4.3BSD libc.a. We use a slightly modified tm-i386v.h.

main()
{
  unsigned loser1 = 0x80000001;
  unsigned loser2 = 0x80000000;
  unsigned loser3 = 0x7fffffff;
}

/usr/local/src/gcc-1.36/cc1 -quiet -version lose.c

GNU C version 1.36 (80386, ATT syntax) compiled by GNU C version 1.36.
default target switches: -m80387

cat lose.s

        .file   "lose.c"
gcc_compiled.:
.text
        .align 4
.globl main
main:
        pushl %ebp
        movl %esp,%ebp
        subl $12,%esp
        movl $-2147483647,-4(%ebp)
        movl $--./,),(-*,(,-8(%ebp)	<--- Chunder!
        movl $2147483647,-12(%ebp)
.L1:
        leave
        ret

Is this a hallucination?

Lance Berc
lance@orc.olivetti.com