Subject: Re: gcc4 status
To: None <tech-toolchain@NetBSD.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: tech-toolchain
Date: 05/23/2006 02:05:26
mrg@eterna.com.au wrote:

> 	- mips vs. packed attribute.  see the discusion here.

I got the following warning on sys/dev/ic/com.c for cobalt:
---
cc1: warnings being treated as errors
../../../../dev/ic/com.c: In function 'com_common_putc':
../../../../dev/ic/com.c:2371: warning: \
left-hand operand of comma expression has no effect
---
This is caused by bus_space_barrier(9) macro:

>> #define bus_space_barrier(t, h, o, l, f)	\
>> 	((void)((void)(t), (void)(h), (void)(o), (void)(l), (void)(f)),	\
>> 	 wbflush())

What is a good way to appease gcc4 for this?
Just putting wbflush() at left-hand?

> 	- m68k Xserver fails to build with:
> 
> xfree/xc/programs/Xserver/mfb/mfbfillsp.c:813: \
> warning: matching constraint does not allow a register

FASTGETBITS() in xfree/xc/programs/Xserver/mfb/maskbit.h?
I also see the same warnings around __cpu_simple_lock() and
__cpu_simple_lock_try() in sys/arch/mips/include/lock.h.

It seems gcc4 rejects registers for memory operand constrains
("m" or "o"). Is it okay to use constraints "p" instead?
---
Izumi Tsutsui