bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fix, GDL2, EOQualifier (getKey()): args


From: David Ayers
Subject: Re: Fix, GDL2, EOQualifier (getKey()): args
Date: Wed, 23 Apr 2008 13:34:28 +0200
User-agent: Mozilla-Thunderbird 2.0.0.9 (X11/20080110)

Hello Georg,

Georg Fleischmann schrieb:

> this is addressing changes in EOQualifier getKey(), made on March 30.
> 
>> 2008-03-30  Matt Rice  <ratmice@gmail.com>
>>
>>    (getKey): Don't use a pointer to a va_list. See
>>    http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14557
> 
> This doesn't work without a pointer to args (I am using Mac OS 10.4 with
> Intel CPU). It will just stick with the first argument, so obviously the
> pointer incremented in the use of va_arg() will not return.
> Quote from the discussion on bugzilla:
> 
>> I don't see anything wrong with using "va_list *". The standard even
> says:
>>
>>     It is permitted to create a pointer to a va_list and pass that
>>     pointer to another function, in which case the original function
>>     may make further use of the original list after the other
>>     function returns.
>>
>> About passing by value it says:
>>
>>     The object ap may be passed as an argument to another function;
>>     if that function invokes the va_arg macro with parameter ap, the
>>     value of ap in the calling function is indeterminate and shall be
>>     passed to the va_end macro prior to any further reference to ap

Thanks for the report and the patch!  The change was provoked by issues
compiling on x86_64.  I don't suppose you can test it there?  What would
be great is if we could extract the relevant code into a simple test
case for gcc to insure that our approach is portable.

We are looking into this a time permits.  Maybe you could open a bug
report for this?

Thanks,
David




reply via email to

[Prev in Thread] Current Thread [Next in Thread]