This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Bootstrap failure (Re: [Patch] Java: Prepare for %q, %< and %> in diagnostic messages)


On Tue, 5 Oct 2004 22:10:26 +0200 (CEST), Ulrich Weigand
<weigand@i1.informatik.uni-erlangen.de> wrote:
> Hello,
> 
> this causes bootstrap failure on s390(x) and presumably all other
> platforms where va_list is an array type.
> 
> Note that if va_list is an array type, it decays to a pointer
> when used a formal parameter like here:
> >@@ -3141,7 +3143,7 @@ issue_warning_error_from_context (
> >+                                const char *msgid, va_list ap)
> 
> and thus &ap does *not* have type va_list *, so this assignment
> >+  text.args_ptr = &ap;
> fails due to type mismatch.

Uh, can you do this?  Take an address of a va_list object?  Wouldn't it be more
"correct" to have text.args_ptr be of type va_list and use va_copy
instead?  From reading the standard I find neither information that it
should work your way, nor that it shouldn't.  But I thought va_list
objects are very special and try to refrain from using them anyways
not explicitly ok'ed by the standard.

Just my thoughts,
Richard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]