Re: evaluation order of expressions in gcc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



laura_rand@xxxxxxxxxxxxxxxxx writes:

> > laura_rand@xxxxxxxxxxxxxxxxx writes:
> > 
> > > hi, all
> > > 
> > > i could not find an answer to this question on the net so i'm posting it
> > > here.
> > > 
> > > as far as i know, the Ansi C standard does not specify the order of
> > > evaluation of expression arguments. so if i wrote:
> > > 
> > > x = f() + g()
> > > 
> > > it would be up to the compiler whether f() or g() would be called
> > > first.
> > [snip]
> > 
> > There is no order you can depend on. It can vary by platform, and
> >     according to optimization flags.
> 
> that was my question. which optimization flags does it depend on, and how? 
> platform is intel x86.

I don't know. I can only refer to Ian's answer; experiment, and look
    at the generated assembly. The catch is that the order may not be
    predictable on the optimization flags.


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux