mirror of
https://github.com/reactos/CMake.git
synced 2024-12-14 07:09:22 +00:00
5fa414594e
Code extracted from: https://gitlab.kitware.com/utils/kwsys.git at commit fa1ab7b8d790498359ab1b1bff522a7401a918fc (master). Upstream Shortlog ----------------- Brad King (1): 1b09cf0d Configure: Add KWSYS_FALLTHROUGH macro for C++ code
54 lines
2.1 KiB
C++
54 lines
2.1 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file Copyright.txt or https://cmake.org/licensing#kwsys for details. */
|
|
#ifndef @KWSYS_NAMESPACE@_Configure_hxx
|
|
#define @KWSYS_NAMESPACE@_Configure_hxx
|
|
|
|
/* Include C configuration. */
|
|
#include <@KWSYS_NAMESPACE@/Configure.h>
|
|
|
|
/* Whether wstring is available. */
|
|
#define @KWSYS_NAMESPACE@_STL_HAS_WSTRING @KWSYS_STL_HAS_WSTRING@
|
|
/* Whether <ext/stdio_filebuf.h> is available. */
|
|
#define @KWSYS_NAMESPACE@_CXX_HAS_EXT_STDIO_FILEBUF_H \
|
|
@KWSYS_CXX_HAS_EXT_STDIO_FILEBUF_H@
|
|
|
|
#if defined(__SUNPRO_CC) && __SUNPRO_CC > 0x5130 && defined(__has_attribute)
|
|
#define @KWSYS_NAMESPACE@__has_cpp_attribute(x) __has_attribute(x)
|
|
#elif defined(__has_cpp_attribute)
|
|
#define @KWSYS_NAMESPACE@__has_cpp_attribute(x) __has_cpp_attribute(x)
|
|
#else
|
|
#define @KWSYS_NAMESPACE@__has_cpp_attribute(x) 0
|
|
#endif
|
|
|
|
#ifndef @KWSYS_NAMESPACE@_FALLTHROUGH
|
|
#if __cplusplus >= 201703L && @KWSYS_NAMESPACE@__has_cpp_attribute(fallthrough)
|
|
#define @KWSYS_NAMESPACE@_FALLTHROUGH [[fallthrough]]
|
|
#elif __cplusplus >= 201103L && \
|
|
@KWSYS_NAMESPACE@__has_cpp_attribute(gnu::fallthrough)
|
|
#define @KWSYS_NAMESPACE@_FALLTHROUGH [[gnu::fallthrough]]
|
|
#elif __cplusplus >= 201103L && \
|
|
@KWSYS_NAMESPACE@__has_cpp_attribute(clang::fallthrough)
|
|
#define @KWSYS_NAMESPACE@_FALLTHROUGH [[clang::fallthrough]]
|
|
#endif
|
|
#endif
|
|
#ifndef @KWSYS_NAMESPACE@_FALLTHROUGH
|
|
#define @KWSYS_NAMESPACE@_FALLTHROUGH static_cast<void>(0)
|
|
#endif
|
|
|
|
#undef @KWSYS_NAMESPACE@__has_cpp_attribute
|
|
|
|
/* If building a C++ file in kwsys itself, give the source file
|
|
access to the macros without a configured namespace. */
|
|
#if defined(KWSYS_NAMESPACE)
|
|
#if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
|
|
#define kwsys @KWSYS_NAMESPACE@
|
|
#endif
|
|
#define KWSYS_NAME_IS_KWSYS @KWSYS_NAMESPACE@_NAME_IS_KWSYS
|
|
#define KWSYS_STL_HAS_WSTRING @KWSYS_NAMESPACE@_STL_HAS_WSTRING
|
|
#define KWSYS_CXX_HAS_EXT_STDIO_FILEBUF_H \
|
|
@KWSYS_NAMESPACE@_CXX_HAS_EXT_STDIO_FILEBUF_H
|
|
#define KWSYS_FALLTHROUGH @KWSYS_NAMESPACE@_FALLTHROUGH
|
|
#endif
|
|
|
|
#endif
|