protobuf/third_party/benchmark/src/internal_macros.h
Go to the documentation of this file.
1 #ifndef BENCHMARK_INTERNAL_MACROS_H_
2 #define BENCHMARK_INTERNAL_MACROS_H_
3 
4 #include "benchmark/benchmark.h"
5 
6 #ifndef __has_feature
7 #define __has_feature(x) 0
8 #endif
9 
10 #if defined(__clang__)
11 #define COMPILER_CLANG
12 #elif defined(_MSC_VER)
13 #define COMPILER_MSVC
14 #elif defined(__GNUC__)
15 #define COMPILER_GCC
16 #endif
17 
18 #if __has_feature(cxx_attributes)
19 #define BENCHMARK_NORETURN [[noreturn]]
20 #elif defined(__GNUC__)
21 #define BENCHMARK_NORETURN __attribute__((noreturn))
22 #elif defined(COMPILER_MSVC)
23 #define BENCHMARK_NORETURN __declspec(noreturn)
24 #else
25 #define BENCHMARK_NORETURN
26 #endif
27 
28 #if defined(__CYGWIN__)
29 #define BENCHMARK_OS_CYGWIN 1
30 #elif defined(_WIN32)
31 #define BENCHMARK_OS_WINDOWS 1
32 #elif defined(__APPLE__)
33 #include "TargetConditionals.h"
34  #if defined(TARGET_OS_MAC)
35  #define BENCHMARK_OS_MACOSX 1
36  #if defined(TARGET_OS_IPHONE)
37  #define BENCHMARK_OS_IOS 1
38  #endif
39  #endif
40 #elif defined(__FreeBSD__)
41 #define BENCHMARK_OS_FREEBSD 1
42 #elif defined(__linux__)
43 #define BENCHMARK_OS_LINUX 1
44 #elif defined(__native_client__)
45 #define BENCHMARK_OS_NACL 1
46 #elif defined(EMSCRIPTEN)
47 #define BENCHMARK_OS_EMSCRIPTEN 1
48 #elif defined(__rtems__)
49 #define BENCHMARK_OS_RTEMS 1
50 #endif
51 
52 #if !__has_feature(cxx_exceptions) && !defined(__cpp_exceptions) \
53  && !defined(__EXCEPTIONS)
54 #define BENCHMARK_HAS_NO_EXCEPTIONS
55 #endif
56 
57 #endif // BENCHMARK_INTERNAL_MACROS_H_


grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:07