[mercury-users] Problem compiling 0.12.1 in Fedora 4 (gcc32)

Ralph Becket rafe at cs.mu.OZ.AU
Tue Dec 6 13:29:24 AEDT 2005

Hi Robert,

the problem you observe

> mercury_layout_util.c: In function `MR_generate_proc_name_from_layout':
> mercury_layout_util.c:894: unable to find a register to spill in class `SIREG'
> mercury_layout_util.c:894: this is the insn:
> (insn:QI 113 112 114 (parallel[ 
>             (set (reg:CC 17 flags)
>                 (compare:CC (mem:BLK (reg/f:SI 0 eax [80]) [0 A8])
>                     (mem/s/u:BLK (reg/f:SI 1 edx [81]) [71 S10 A8])))

is a bug in gcc 3.2.3 which we don't seem to have encountered before.
On the "Current Release" web page there is a "What do I need?" section
which includes some details:

	 We recommend GCC 3.4.x.

	 GCC 3.0, 3.3.1 and 4.0 will NOT work. They have bugs which
	 cause internal compiler errors when compiling the C code
	 generated by the Mercury compiler.

	 Avoid GCC 2.96 (distributed with Red Hat Linux 7.x) and other
	 unofficial releases of GCC. Also avoid versions of GCC less
	 than GCC 2.95.X.

We will extend the list of known buggy gcc versions to include 3.2.3.
The best solution is to install a 3.4.x version.  Apologies for the

-- Ralph
mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe

More information about the users mailing list