This is the mail archive of the gcc-help@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: evaluation order of expressions in gcc


laura_rand@women-at-work.org writes:

> > laura_rand@women-at-work.org 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 Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]