[Bug c/63818] unexpected/incorrect behavior
blaine at blainebell dot org
gcc-bugzilla@gcc.gnu.org
Tue Nov 11 17:50:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63818
--- Comment #5 from Blaine Bell <blaine at blainebell dot org> ---
> There is no sequence point between the pre-increments of i as common inside a
> function call is not a sequence point. So the order of which arguments are evaluated
> is not defined in the standard which is why you get different behavior between two
> different compilers.
Ah, ok. I see. The problem is that the spec is trying to provide "flexibility"
for asynchronous execution, when in-fact, it adds to the ambiguity and
confusion of the language. This makes sense on why this is a problem, but this
is a serious flaw in how the language was defined. Asynchronously and
performance should be addressed separately, not at the same time as trying to
express logic of a program.
More information about the Gcc-bugs
mailing list