Vulkan-Hpp icon indicating copy to clipboard operation
Vulkan-Hpp copied to clipboard

Warning during build - <ciso646> is deprecated in C++17

Open heitbaum opened this issue 11 months ago • 2 comments

Ref: https://en.cppreference.com/w/cpp/header/ciso646 Log:

$ g++ -v
gcc version 15.0.0 20250105 (experimental) (GCC)

…
[5/8] Building CXX object cube/CMakeFiles/vkcubepp.dir/cube.cpp.o
In file included from /var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-13.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/include/vulkan/vulkan_hpp_macros.hpp:35,
                 from /var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-13.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/include/vulkan/vulkan.hpp:11,
                 from ../cube/cube.cpp:51:
/var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-13.0-devel/toolchain/x86_64-libreelec-linux-gnu/include/c++/15.0.0/ciso646:46:4: warning: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Wcpp]
   46 | #  warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros"
      |    ^~~~~~~

heitbaum avatar Jan 06 '25 22:01 heitbaum

This looks to be a Vulkan-Hpp issue, rather than with the C++ Vulkan Header usage cube.cpp does. Moving accordingly.

charles-lunarg avatar Jan 06 '25 23:01 charles-lunarg

@heitbaum as your link above tells us, ciso646 is removed with C++20. It doesn't tell anything about a deprecation warning. The replacing header version is available with C++20 (https://en.cppreference.com/w/cpp/header/version) And with C++20, Vulkan-Hpp uses that version header:

// include headers holding feature-test macros
#if 20 <= VULKAN_HPP_CPP_VERSION
#  include <version>
#else
#  include <ciso646>
#endif

asuessenbach avatar Jan 07 '25 07:01 asuessenbach

Closing this issue, assuming it is resolved. Please re-open otherwise.

asuessenbach avatar Apr 28 '25 09:04 asuessenbach