--- Comment #2 from _deepfire at feelingofgreen dot ru 2008-02-23 11:56
---
I think this is correct CPP behavior.
it only evaluates one level of _ .
Interesting, reading the CPP manual[1] gives me an impression that there is
at least intent to support nested expansions:
You might
--- Comment #3 from joseph at codesourcery dot com 2008-02-23 13:47 ---
Subject: Re: Function macro nesting depth appears
to be uncomfortably limited.
I think GCC aims to implement the version of the rescanning rules
described in X3J11/86-196, as posted in Dave Prosser's message
--- Comment #4 from neil at gcc dot gnu dot org 2008-02-23 14:03 ---
To be honest this isn't even a disputed case from what I can see. I doubt you
can find a serious C implementation (i.e. tcc etc. doesn't count) that will do
what you expect.
--
neil at gcc dot gnu dot org changed:
--- Comment #1 from pinskia at gcc dot gnu dot org 2008-02-23 03:45 ---
I think this is correct CPP behavior.
it only evaluates one level of _ .
Think of:
#define a b
#define b a
b
a
What does that do?
it just does:
b
a
Instead of causing an infinite loop.
Once we try to revaluate _