qualify isnan() with std namespace by guijan · Pull Request #565 · epezent/implot

@guijan

When a program that depends on implot includes <implot.h>, we have this
sequence of includes:
<implot.h> -> <implot_internal.h> -> <imgui_internal.h> -> <math.h>

Inside <implot_internal.h>'s source code, there's an unqualified call to
isnan(). By doing so, it relies on <imgui_internal.h> having isnan() in
the global namespace, which <math.h> is guaranteed to do. However, it's
possible that implot's user included <cmath> first, which is not
guaranteed to put isnan() in the global namespace, and may prevent a
later <math.h> from putting isnan() in the global namespace.

On NetBSD 10.0 i386, <cmath> doesn't put isnan() in the global
namespace and prevents <math.h> from doing so, causing a compile error.

Qualify the call to fix it.

added a commit to guijan/dolphin that referenced this pull request

Apr 22, 2024
The NetBSD port will only work after
epezent/implot#565 is merged and Dolphin updates
to a version with the fix. In the meantime, you can apply the fix
yourself to a Dolphin checkout.

guijan added a commit to guijan/dolphin that referenced this pull request

Apr 22, 2024
The NetBSD port will only work after
epezent/implot#565 is merged and Dolphin updates
to a version with the fix. In the meantime, you can apply the fix
yourself to a Dolphin checkout.

JoshuaVandaele added a commit to JoshuaVandaele/dolphin that referenced this pull request

Dec 9, 2025

JoshuaVandaele added a commit to JoshuaVandaele/dolphin that referenced this pull request

Dec 9, 2025

JoshuaVandaele added a commit to JoshuaVandaele/dolphin that referenced this pull request

Dec 9, 2025

JoshuaVandaele added a commit to JoshuaVandaele/dolphin that referenced this pull request

Dec 9, 2025

brenocq

@brenocq