This is the mail archive of the
mailing list for the GCC project.
Re: Bootstrap failure (Re: [Patch] Java: Prepare for %q, %< and %>in diagnostic messages)
I wonder if it is it legal to declare a va_list which is an array, and
even if it is, why not changing it to an array-within-a-struct.
That would change the ABI.
If you pass va_list by value to say vprintf and the arch in question
doesn't pass structures by reference, it is different if va_list
is an array (in which case you pass its address) or if it is a structure
with array inside (in that case you pass the structure).
Sorry, I omitted an important detail: according to s390.c, "the
specifies that only structures of size 1, 2, 4, or 8 bytes are passed by
value, all other structures (and complex numbers) are passed by
reference". The same in rs6000.c, where it says that "aggregates and
long double are passed by reference".