On Mon, 21 Oct 2013, Florian Weimer wrote:
Hmm. There is no up-front check to return EOVERFLOW in glibc, and the GCC
folder doesn't know about it, either. :-( EOVERFLOW is apparently returned
only if the actually produced string is at least INT_MAX characters long (this
is the fprintf etc. behavior).
Apart from the Austin Group response not really engaging with the conflict
with a case that's fully defined in C99, I don't think there's anything
useful for GCC to know about regarding overflows on printf folding - GCC
can't handle strings longer than host INT_MAX (which in practice will be
the same as target INT_MAX for glibc targets) as it uses "int" to record
the length of a STRING_CST (in general, there are many places in GCC using
"int" to store sizes of target objects, host allocations, etc.).