mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-20 21:28:23 -05:00
Simplify CM_FALLTHROUGH implementation
Use the macro now provided by KWSys instead of using `try_compile` checks. It will no longer consider the `__attribute__((fallthrough))` variant, but compilers that don't have one of the modern attributes shouldn't warn about not using one anyway.
This commit is contained in:
@@ -1,11 +0,0 @@
|
|||||||
int main(int argc, char* [])
|
|
||||||
{
|
|
||||||
int i = 3;
|
|
||||||
switch (argc) {
|
|
||||||
case 1:
|
|
||||||
i = 0;
|
|
||||||
__attribute__((fallthrough));
|
|
||||||
default:
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
int main(int argc, char* [])
|
|
||||||
{
|
|
||||||
int i = 3;
|
|
||||||
switch (argc) {
|
|
||||||
case 1:
|
|
||||||
i = 0;
|
|
||||||
[[fallthrough]];
|
|
||||||
default:
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -41,13 +41,6 @@ function(cm_check_cxx_feature name)
|
|||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
cm_check_cxx_feature(fallthrough)
|
|
||||||
if(NOT CMake_HAVE_CXX_FALLTHROUGH)
|
|
||||||
cm_check_cxx_feature(gnu_fallthrough)
|
|
||||||
if(NOT CMake_HAVE_CXX_GNU_FALLTHROUGH)
|
|
||||||
cm_check_cxx_feature(attribute_fallthrough)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
cm_check_cxx_feature(make_unique)
|
cm_check_cxx_feature(make_unique)
|
||||||
if(CMake_HAVE_CXX_MAKE_UNIQUE)
|
if(CMake_HAVE_CXX_MAKE_UNIQUE)
|
||||||
set(CMake_HAVE_CXX_UNIQUE_PTR 1)
|
set(CMake_HAVE_CXX_UNIQUE_PTR 1)
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
int main(int argc, char* [])
|
|
||||||
{
|
|
||||||
int i = 3;
|
|
||||||
switch (argc) {
|
|
||||||
case 1:
|
|
||||||
i = 0;
|
|
||||||
[[gnu::fallthrough]];
|
|
||||||
default:
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -19,22 +19,11 @@
|
|||||||
#cmakedefine HAVE_UNSETENV
|
#cmakedefine HAVE_UNSETENV
|
||||||
#cmakedefine CMAKE_USE_ELF_PARSER
|
#cmakedefine CMAKE_USE_ELF_PARSER
|
||||||
#cmakedefine CMAKE_USE_MACH_PARSER
|
#cmakedefine CMAKE_USE_MACH_PARSER
|
||||||
#cmakedefine CMake_HAVE_CXX_FALLTHROUGH
|
|
||||||
#cmakedefine CMake_HAVE_CXX_GNU_FALLTHROUGH
|
|
||||||
#cmakedefine CMake_HAVE_CXX_ATTRIBUTE_FALLTHROUGH
|
|
||||||
#cmakedefine CMake_HAVE_CXX_MAKE_UNIQUE
|
#cmakedefine CMake_HAVE_CXX_MAKE_UNIQUE
|
||||||
#define CMAKE_BIN_DIR "/@CMAKE_BIN_DIR@"
|
#define CMAKE_BIN_DIR "/@CMAKE_BIN_DIR@"
|
||||||
#define CMAKE_DATA_DIR "/@CMAKE_DATA_DIR@"
|
#define CMAKE_DATA_DIR "/@CMAKE_DATA_DIR@"
|
||||||
|
|
||||||
#if defined(CMake_HAVE_CXX_FALLTHROUGH)
|
#define CM_FALLTHROUGH cmsys_FALLTHROUGH
|
||||||
#define CM_FALLTHROUGH [[fallthrough]]
|
|
||||||
#elif defined(CMake_HAVE_CXX_GNU_FALLTHROUGH)
|
|
||||||
#define CM_FALLTHROUGH [[gnu::fallthrough]]
|
|
||||||
#elif defined(CMake_HAVE_CXX_ATTRIBUTE_FALLTHROUGH)
|
|
||||||
#define CM_FALLTHROUGH __attribute__((fallthrough))
|
|
||||||
#else
|
|
||||||
#define CM_FALLTHROUGH
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define CM_DISABLE_COPY(Class) \
|
#define CM_DISABLE_COPY(Class) \
|
||||||
Class(Class const&) = delete; \
|
Class(Class const&) = delete; \
|
||||||
|
|||||||
Reference in New Issue
Block a user