Subject: Re: gcc4 status
To: Izumi Tsutsui <email@example.com>
From: Wolfgang Solfrank <Wolfgang@Solfrank.net>
Date: 05/25/2006 01:14:41
>>I don't know about the rest of it, but it seems to me that this has
>>order-of-evaluation problems: it evaluates its arguments *after*
>>performing the write barrier, not *before*. (This usually won't
>>matter, but if one of the arguments is, for example, a function call
>>that does a significant amount of work, it may.)
> Hmm. Someone may have bus_space_barrier(t,h,bus_space_read_1(t,h,o),l,f)?
Hmm, I'm not sure what you are trying to achieve here.
All bus_space* functions are explicitly allowed (by the manual) to be
implemented as macros. Which in my world means that the user is not
allowed to rely on arguments with side effects to be evaluated. Or
for that matter, to be evaluated only once.
So IMHO usage like the above would simply be a bug.
Wolfgang@Solfrank.net Wolfgang Solfrank