This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: statement expressions and extended asm bug?


On Tue, Mar 16, 2004 at 09:56:00PM +0200, Kai Henningsen wrote:
> gni@gecko.de (Gunther Nikl)  wrote on 15.03.04 in <20040315112744.GA86063@lorien.int.gecko.de>:
> 
> > #define f1() \
> > ({ register int _d0 __asm("d0"); \
> >    __asm volatile ("moveq #11,d0" : "=r" (_d0) : /**/ : "fp0", "fp1", "cc",
> > "memory"); \    _d0; })
> 
> If the problem is the possibility of returning lvalues from statement  
> expressions, what would happen with the following?
> 
> #define f1() \
> ({ register int _d0 __asm("d0"); \
>    __asm volatile ("moveq #11,d0" : "=r" (_d0) : /**/ : "fp0", "fp1", "cc",
> "memory"); \    _d0 + 0; })
> 
> (The only change is at the end.)

  No difference, GCC seems to remove the addition.

  Gunther


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]