Subject: re: gcc4 status
To: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
From: matthew green <mrg@eterna.com.au>
List: tech-toolchain
Date: 05/23/2006 14:32:21
   
   > 	- 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?

hmm, shouldn't this really just be defined as wbflush() and avoid
all those (void) casts?  or are those there to avoid unused argument
warnings?
   
   > 	- 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?


hmmm.  it's been too long for m68k and me, if it works it
probably is OK :-)