Add some support for C++17-23#1719
Conversation
71dad14 to
825fa3d
Compare
.appveyor.yml
Outdated
| set CFLAGS=/Wv:19.29.30037 | ||
|
|
||
| set CXXFLAGS=/Wv:19.29.30037 | ||
| set CXXFLAGS=/Wv:19.29.30037 /Zc:__cplusplus |
There was a problem hiding this comment.
Did we lost it or do we set it too late to be useful?
- 7a6863a — cmake: tell MSVC to properly report __cplusplus
From:
There was a problem hiding this comment.
I think the CI's not picking it up for some reason.
src/common/CPPStandard.h
Outdated
| #define CPP_14_FEATURES | ||
| #define CPP_17_FEATURES | ||
| #define CPP_20_FEATURES | ||
| #define CPP_23_FEATURES |
There was a problem hiding this comment.
We may name them like DAEMON_CPP_23_FEATURES like we do with other Dæmon-specific defines.
slipher
left a comment
There was a problem hiding this comment.
What do we need from C++20 or C++23?
Daemon-vulkan currently specifically uses designated initializers, concepts, |
slipher
left a comment
There was a problem hiding this comment.
Commit message should be updated
Add `CPPStandard.h` for checking C++ features support through feature test macros, replace deprecated `std::result_of` with a custom template.
|
LGTM |
Add
CPPStandard.hfor checking C++ features support by version, replace deprecatedstd::result_ofon >= C++17. Use the/Zc:__cplusplusfor MSVC CI so it will get the correct version inCPPStandard.