https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121936

--- Comment #30 from Iain Sandoe <iains at gcc dot gnu.org> ---
and, I guess an addendum.

There's a grey area here too - we want (and our uses expect) that compilers
claiming to support the same ABI (let's say Itanium on Linux) will interoperate
even when there are aspects of that interoperability that are not written in
either the standard or the ABI.  Of course, if they don't we have a "get out of
jail free" card in pointing to the standard and the ABI .. but that does not
make happy users.

----

unspecified as you say means "whatever the implementation does", but from my
understanding that means "and the implementation does not have to declare it or
even do it the same each time".

I.e that's _not_ the same as "implementation defined" which is documented and
consistent behaviour.

So, for example, in this specific case, I believe it would be conforming for
GCC to keep the textual ordering of function arguments at -O0 and provide a
more efficient ordering at -O1.
(which would mean that potentially even the GCC-GCC case was not reliable, and
I'm pretty sure we try to avoid such things).

Reply via email to