This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: [PATCH] Preserve ::is{inf,nan}{f,l} prototypes even for C++11 and later


On 02/10/2016 11:30 AM, Adhemerval Zanella wrote:
> 
> 
> On 09-02-2016 19:54, Carlos O'Donell wrote:
>> On 02/09/2016 12:38 PM, Carlos O'Donell wrote:
>>> On 02/09/2016 12:23 PM, Jonathan Wakely wrote:
>>>> On 03/02/16 16:04 -0200, Adhemerval Zanella wrote:
>>>>>
>>>>>
>>>>> On 03-02-2016 15:40, Mike Frysinger wrote:
>>>>>> On 03 Feb 2016 14:55, Adhemerval Zanella wrote:
>>>>>>> I will quote the email referenced:
>>>>>>>
>>>>>>>> C++11 code using isinf and isnan continues to compile after that
>>>>>>>> change, because the C++11 standard library provides its own versions
>>>>>>>> conforming to the C++11 requirements. However, the C++11 library
>>>>>>>> doesn't provide isinff, isinfl etc. and so code using those
>>>>>>>> (non-standard) functions will no longer compile if they are not
>>>>>>>> declared by glibc.
>>>>>>>
>>>>>>> This was not clear to me, what kind of build issue are you seeing now?
>>>>>>> Using isinf{f,l} by including just <cmath> along with C++11? If it is the
>>>>>>> case please open a bugzilla (or update the original) and please commit
>>>>>>> the fix.
>>>>>>
>>>>>> if the change hasn't seen a release yet, then we can just re-use the
>>>>>> existing bug since it's really just a direct follow up to that ?
>>>>>> -mike
>>>>>>
>>>>>
>>>>> I do not see why not.
>>>>
>>>> Hi, what's the status of this then - do we need to add a testcase or
>>>> can it be committed for 2.23? (or wait for 2.24?)
>>>
>>> Yes, we want always want a test case. It's perfectly fine to use C++
>>> in  tests in glibc, and if the C++ compiler isn't present those tests
>>> should become UNSUPPORTED tests, which is OK (when bootstrapping).
>>>
>>> In summary:
>>> - Add C++ test.
>>> - Use BZ #19439 and provide ChangeLog.
>>> - Post v2
>>
>> v2
>> - Added test case which fails to compile before patch. I saw no easier
>>   way to test a header inclusion issue like this than to fail the entire
>>   testsuite when building that test. Adding a conform test just for this
>>   is overkill and outside the scope of conformtest.
>> - Regression tested on x86_64 with no regressions.
>>
>> I'll commit this ASAP if nobody objects.
>>
>> Adhemerval?
>>
> 
> Sorry for late response.  This is ok for 2.23, thanks!

Committed.

commit 3c47c83a9730c20e602694505b9278c25637b0d0
Author: Carlos O'Donell <carlos@systemhalted.org>
Date:   Sun Feb 14 19:27:06 2016 -0500

    Ensure isinff, isinfl, isnanf, and isnanl are defined (Bug 19439)
    
    In ICO C++11 mode ensure that isinff, isinfl, isnanf, and isnanl
    are defined.  These functions were accidentally removed from the
    header as part of commit d9b965fa56350d6eea9f7f438a0714c7ffbb183f,
    but being GNU extensions, they should have been left in place.

Cheers,
Carlos.


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