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]

Re: What is acceptable for -ffast-math? (Was: associative law in combine)


On Jul 30, 2001, Joern Rennecke <amylaar@redhat.com> wrote:

>> But we could use new tokens, say (( )) and ((( ))) to mark expressions
>> the preprocessor and the compiler shouldn't muck up with.  It would

> It's hard to distinguish an opening (( from two opening (s that
> are closes separately, e.g.:

> a*((b+c)*d)

Indeed.  That's why I suggested to only mark such duplicate
parentheses as optimization barriers, at the end of my message.  We'd
still see two different tokens, but if the opening and closing
parentheses of an expression of the form '(' expression ')' are both
marked as optimization barriers, we generate the expression tree
inside an optimization barrier.  The lexer/preprocessor would have to
mark all '('s but the first in a sequence, and all ')'s but the last
in a sequence, as candidate markers of optimization barriers.

> OTOH, you could re-use (abuse) statement expressions for this purpose:

> ({a+b;})*c

Yeah, but this won't compile with compilers other than GCC.  OTOH, it
might already do what we want in older releases of GCC.  Does it?

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist    *Please* write to mailing lists, not to me


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