On Mon, 17 Nov 2008, Andrew Pinski wrote:
> I think C99 does allows this optimization (at least according to the
> normative note 112) but C++ does not. I could not find anything in
I don't know what you mean by "normative note" ("In accordance with Part 3
of the ISO/IEC Directives, this foreword, the introduction, notes,
footnotes, and examples are also for information only"), but my view
having read the comp.std.c discussion is that this is clearly not allowed
by C99. It would be if a const-qualified compound literal were being used
instead of a named variable, because of express wording allowing such
compound literals not to designate distinct objects, but each recursive
copy of a named variable with automatic storage duration must be a
distinct object where this can be detected (e.g. through the address being
taken, as here).
--
Joseph S. Myers
[EMAIL PROTECTED]