[webkit-dev] std::complex affects isinf(), etc.

Chris Jerdonek cjerdonek at webkit.org
Thu Feb 4 13:26:31 PST 2010


Does this issue have any bearing on the '"using" Statements' section
of the style guidelines?

http://webkit.org/coding/coding-style.html

Would it make sense to adjust them in some way in response to this issue?

--Chris

On Thu, Feb 4, 2010 at 12:01 PM, Sam Weinig <sam.weinig at gmail.com> wrote:
> I would be in favor of fixing the existing uses by using explicit
> std::isinf.
> -Sam
>
> On Wed, Feb 3, 2010 at 5:07 PM, Chris Rogers <crogers at google.com> wrote:
>>
>> Basically, if you include <complex> then it undefines the functions (or
>> macros) for isinf(), isnan(), and others, and then expects you
>> to use std::isinf(), std::isnan() instead.  We use these functions in a
>> number of places, so we'd need to figure out a reasonable solution.
>> Or just go with my original class.
>>
>> On Wed, Feb 3, 2010 at 5:01 PM, Sam Weinig <sam.weinig at gmail.com> wrote:
>>>
>>> What specific errors are you getting? I don't understand why including a
>>> standard header would break other standard functions.
>>> -Sam
>>>
>>> On Wed, Feb 3, 2010 at 3:22 PM, Chris Rogers <crogers at google.com> wrote:
>>>>
>>>> I initially put in a patch for a class for Complex numbers, but people
>>>> preferred that I just use the std::complex version.
>>>> In the process of switching my code over to use std::complex I noticed a
>>>> conflict with isinf(), isnan(), etc.
>>>> The problem is that simply including:
>>>> #include <complex>
>>>> breaks the isinf(), isnan() functions (and some others I think).  So now
>>>> I'm getting compile errors in any header files
>>>> which use these functions, such as WebGLFloatArray.h (which I need to
>>>> include for music visualizer stuff).
>>>> I'm a bit queasy about all the side-effects of simply including
>>>> <complex> and am not even sure how to address the
>>>> current situation, short of switching all of webkit over to using
>>>> std::isinf, std::isnan, etc.
>>>> Now I remember having similar problems with this in other codebases I've
>>>> worked on, as the effects of <complex> seem
>>>> to be viral...
>>>> Anybody have any recommendations?
>>>> Thanks,
>>>> Chris
>>>>
>>>> _______________________________________________
>>>> webkit-dev mailing list
>>>> webkit-dev at lists.webkit.org
>>>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>>>>
>>>
>>
>
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
>


More information about the webkit-dev mailing list