Hey Greg,

thanks for picking up the release so quickly. I haven't seen this issue
with any of the CI compilers.
Would there be a way to reproduce that in a docker container?

Cheers
Johannes

On Sun, 8 Feb 2026, 18:32 Greg Troxel, <[email protected]> wrote:

> Johannes Demel <[email protected]> writes:
>
> > I just tagged the VOLK v3.3.0 release! We want to thank all
> > contributors. This release wouldn't have been possible without them.
>
> Thanks - I am trying to update the pkgsrc entry, and running into a
> problem that's awkward to patch.
>
> In include/volk/volk_common.h, there is frequent usage of
>
>   isnan
>   isinf
>
> If the heaader is included by a C program, this is fine.
>
> If it is included by a C++ program, then it appears to mean std::isnan,
> but it is not specified if C++ compilers have to allow bare isnan to
> refer to std::isnan or not.  gcc 10 on NetBSD does not allow this, and
> many other projects have fixed isnan to std::isnan (in a C++ context).
>
> The difficulty here is that the header, while marked c++ for emacs mode,
> is trying to be both C and C++.
>
> Perhaps the fix is to #if on cpluslus and define our_isnan to
> std::isnan and if not to isnan, but I hope somebod who understands C++
> better than I do knows a nicer way.
>
>
>
> => Bootstrap dependency digest>=20211023: found digest-20220214
> ===> Checking for vulnerabilities in volk-3.3.0
> ===> Building for volk-3.3.0
> [1/10] Building CXX object lib/CMakeFiles/volk_test_all.dir/testqa.cc.o
> FAILED: [code=1] lib/CMakeFiles/volk_test_all.dir/testqa.cc.o
> /tmp/work/math/volk/work/.cwrapper/bin/c++ -DFMT_SHARED -DHAVE_CPUID_H
> -DHAVE_DLFCN_H -DHAVE_FENV_H -D_GLIBCXX_USE_CXX11_ABI=1
> -I/tmp/work/math/volk/work/.buildlink/include/orc-0.4
> -I/tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include
> -I/tmp/work/math/volk/work/volk-3.3.0/include
> -I/tmp/work/math/volk/work/volk-3.3.0/kernels -isystem
> /tmp/work/math/volk/work/.buildlink/include -O2 -I/usr/include
> -I/usr/pkg/include/python3.13 -I/usr/pkg/include -Wall -fvisibility=hidden
> -DNDEBUG -std=c++17 -MD -MT lib/CMakeFiles/volk_test_all.dir/testqa.cc.o
> -MF lib/CMakeFiles/volk_test_all.dir/testqa.cc.o.d -o
> lib/CMakeFiles/volk_test_all.dir/testqa.cc.o -c
> /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc
> In file included from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h: In
> function 'float log2f_non_ieee(float)':
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:161:9:
> error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
>   161 |     if (isnan(result))
>       |         ^~~~~
>       |         std::isnan
> In file included from /usr/include/g++/complex:44,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /usr/include/g++/cmath:632:5: note: 'std::isnan' declared here
>   632 |     isnan(_Tp __x)
>       |     ^~~~~
> In file included from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:164:12:
> error: 'isinf' was not declared in this scope; did you mean 'std::isinf'?
>   164 |     return isinf(result) ? copysignf(127.0f, result) : result;
>       |            ^~~~~
>       |            std::isinf
> In file included from /usr/include/g++/complex:44,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /usr/include/g++/cmath:605:5: note: 'std::isinf' declared here
>   605 |     isinf(_Tp __x)
>       |     ^~~~~
> In file included from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h: In
> function 'float volk_arctan(float)':
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:308:9:
> error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
>   308 |     if (isnan(x)) {
>       |         ^~~~~
>       |         std::isnan
> In file included from /usr/include/g++/complex:44,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /usr/include/g++/cmath:632:5: note: 'std::isnan' declared here
>   632 |     isnan(_Tp __x)
>       |     ^~~~~
> In file included from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:313:9:
> error: 'isinf' was not declared in this scope; did you mean 'std::isinf'?
>   313 |     if (isinf(x)) {
>       |         ^~~~~
>       |         std::isinf
> In file included from /usr/include/g++/complex:44,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /usr/include/g++/cmath:605:5: note: 'std::isinf' declared here
>   605 |     isinf(_Tp __x)
>       |     ^~~~~
> In file included from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h: In
> function 'float volk_atan2(float, float)':
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:341:9:
> error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
>   341 |     if (isnan(x) || isnan(y)) {
>       |         ^~~~~
>       |         std::isnan
> In file included from /usr/include/g++/complex:44,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /usr/include/g++/cmath:632:5: note: 'std::isnan' declared here
>   632 |     isnan(_Tp __x)
>       |     ^~~~~
> In file included from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:346:9:
> error: 'isinf' was not declared in this scope; did you mean 'std::isinf'?
>   346 |     if (isinf(y)) {
>       |         ^~~~~
>       |         std::isinf
> In file included from /usr/include/g++/complex:44,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /usr/include/g++/cmath:605:5: note: 'std::isinf' declared here
>   605 |     isinf(_Tp __x)
>       |     ^~~~~
> In file included from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:356:9:
> error: 'isinf' was not declared in this scope; did you mean 'std::isinf'?
>   356 |     if (isinf(x)) {
>       |         ^~~~~
>       |         std::isinf
> In file included from /usr/include/g++/complex:44,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /usr/include/g++/cmath:605:5: note: 'std::isinf' declared here
>   605 |     isinf(_Tp __x)
>       |     ^~~~~
> In file included from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:369:9:
> error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
>   369 |     if (isnan(input)) {
>       |         ^~~~~
>       |         std::isnan
> In file included from /usr/include/g++/complex:44,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
>                  from
> /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
>                  from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
> /usr/include/g++/cmath:632:5: note: 'std::isnan' declared here
>   632 |     isnan(_Tp __x)
>       |     ^~~~~
> ninja: build stopped: subcommand failed.
> *** Error code 1
>
> Stop.
> make[1]: stopped in /n0/gdt/pkgsrc-current/pkgsrc/math/volk
> *** Error code 1
>
> Stop.
> make: stopped in /usr/pkgsrc/math/volk
>

Reply via email to