This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Preserve ::is{inf,nan}{f,l} prototypes even for C++11 and later
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>, Jonathan Wakely <jwakely at redhat dot com>
- Cc: Jakub Jelinek <jakub at redhat dot com>, libc-alpha at sourceware dot org
- Date: Sun, 14 Feb 2016 20:20:48 -0500
- Subject: Re: [PATCH] Preserve ::is{inf,nan}{f,l} prototypes even for C++11 and later
- Authentication-results: sourceware.org; auth=none
- References: <20160201162152 dot GH3017 at tucnak dot redhat dot com> <20160201163400 dot GH3471 at redhat dot com> <56B23119 dot 3050605 at linaro dot org> <20160203174027 dot GK7732 at vapier dot lan> <56B2413D dot 1070309 at linaro dot org> <20160209172356 dot GC8441 at redhat dot com> <56BA240E dot 2080405 at redhat dot com> <56BA602E dot 5090009 at redhat dot com> <56BB65AB dot 9000308 at linaro dot org>
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.
- References:
- [PATCH] Preserve ::is{inf,nan}{f,l} prototypes even for C++11 and later
- Re: [PATCH] Preserve ::is{inf,nan}{f,l} prototypes even for C++11 and later
- Re: [PATCH] Preserve ::is{inf,nan}{f,l} prototypes even for C++11 and later
- Re: [PATCH] Preserve ::is{inf,nan}{f,l} prototypes even for C++11 and later
- Re: [PATCH] Preserve ::is{inf,nan}{f,l} prototypes even for C++11 and later
- Re: [PATCH] Preserve ::is{inf,nan}{f,l} prototypes even for C++11 and later
- Re: [PATCH] Preserve ::is{inf,nan}{f,l} prototypes even for C++11 and later
- Re: [PATCH] Preserve ::is{inf,nan}{f,l} prototypes even for C++11 and later
- Re: [PATCH] Preserve ::is{inf,nan}{f,l} prototypes even for C++11 and later