5chmidti wrote: > Another compiler error after transformation: > > It made this constexpr: > > ```c++ > PUGI_IMPL_FN constexpr bool is_nan(double value) > { > #if defined(PUGI_IMPL_MSVC_CRT_VERSION) || defined(__BORLANDC__) > return !!_isnan(value); > #elif defined(fpclassify) && defined(FP_NAN) > return fpclassify(value) == FP_NAN; > #else > // fallback > const volatile double v = value; > return v != v; > #endif > } > ``` > > But then: > > ``` > /Users/sean/external/VTK/ThirdParty/pugixml/vtkpugixml/src/pugixml.cpp:8413:30: > error: constexpr function never produces a constant expression > [-Winvalid-constexpr] > 8413 | PUGI_IMPL_FN constexpr bool is_nan(double value) > | ^~~~~~ > /Users/sean/external/VTK/ThirdParty/pugixml/vtkpugixml/src/pugixml.cpp:8422:15: > note: read of volatile-qualified type 'const volatile double' is not allowed > in a constant expression > 8422 | return v != v; > | ^ > ```
I'll take a look https://github.com/llvm/llvm-project/pull/146553 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits