|
2 | 2 | * Contains general defines about the language. |
3 | 3 | * @file Defines.hpp |
4 | 4 | * @author qucals |
5 | | - * @version 0.0.7 24/08/21 |
| 5 | + * @version 0.0.8 24/08/21 |
6 | 6 | */ |
7 | 7 |
|
8 | 8 | #ifndef VKAPI_DEFINES_HPP |
|
35 | 35 | #endif // (__cplusplus >= 202002L) |
36 | 36 |
|
37 | 37 | #ifdef __CPLUSPLUS_OVER_11 |
38 | | -#ifndef _VKAPI_OVERRIDE |
39 | | -#define _VKAPI_OVERRIDE override |
40 | | -#endif // _VKAPI_OVERRIDE |
| 38 | +#define _VKAPI_OVERRIDE override |
| 39 | +#define _VKAPI_FINAL final |
| 40 | +#define _VKAPI_NOEXCEPT noexcept |
| 41 | +#define _VKAPI_EXPLICIT explicit |
| 42 | +#define _VKAPI_CONSTEXPR constexpr |
41 | 43 |
|
42 | | -#ifndef _VKAPI_FINAL |
43 | | -#define _VKAPI_FINAL final |
44 | | -#endif // _VKAPI_FINAL |
45 | | - |
46 | | -#ifndef _VKAPI_NOEXCEPT |
47 | | -#define _VKAPI_NOEXCEPT noexcept |
48 | | -#endif // _VKAPI_NOEXCEPT |
49 | | - |
50 | | -#ifndef _VKAPI_EXPLICIT |
51 | | -#define _VKAPI_EXPLICIT explicit |
52 | | -#endif // _VKAPI_EXPLICIT |
53 | | - |
54 | | -#ifndef _VKAPI_MOVE |
55 | 44 | #include <utility> |
56 | | -#define _VKAPI_MOVE(x) std::move(x) |
57 | | -#endif // _VKAPI_MOVE(x) |
| 45 | +#define _VKAPI_MOVE(x) std::move(x) |
58 | 46 | #else |
59 | | -#ifndef _VKAPI_OVERRIDE |
60 | 47 | #define _VKAPI_OVERRIDE |
61 | | -#endif // _VKAPI_OVERRIDE |
62 | | - |
63 | | -#ifndef _VKAPI_FINAL |
64 | 48 | #define _VKAPI_FINAL |
65 | | -#endif // _VKAPI_FINAL |
66 | | - |
67 | | -#ifndef _VKAPI_NOEXCEPT |
68 | 49 | #define _VKAPI_NOEXCEPT |
69 | | -#endif // _VKAPI_NOEXCEPT |
70 | | - |
71 | | -#ifndef _VKAPI_EXPLICIT |
72 | 50 | #define _VKAPI_EXPLICIT |
73 | | -#endif // _VKAPI_EXPLICIT |
74 | | - |
75 | | -#ifndef _VKAPI_MOVE |
76 | | -#define _VKAPI_MOVE(x) x |
77 | | -#endif // _VKAPI_MOVE |
| 51 | +#define _VKAPI_CONSTEXPR |
| 52 | +#define _VKAPI_MOVE(x) x |
78 | 53 | #endif |
79 | 54 |
|
80 | | -#ifndef _VKAPI_VIRTUAL |
81 | | -#define _VKAPI_VIRTUAL virtual |
82 | | -#endif // _VKAPI_VIRTUAL |
| 55 | +#define _VKAPI_VIRTUAL virtual |
| 56 | +#define _VKAPI_INLINE inline |
83 | 57 |
|
84 | | -#ifndef _VKAPI_INLINE |
85 | | -#define _VKAPI_INLINE inline |
86 | | -#endif // _VKAPI_INLINE |
87 | | - |
88 | | -#ifndef _VKAPI_UNUSED |
89 | 58 | #define _VKAPI_UNUSED(x) (void)(x) |
90 | | -#endif // _VKAPI_UNUSED |
91 | 59 |
|
92 | 60 | #if defined(_MSC_VER) |
| 61 | +#define _VKAPI_MSVC 1 |
| 62 | + |
93 | 63 | #define __DISABLE_WARNING_PUSH __pragma(warning(push)) |
94 | 64 | #define __DISABLE_WARNING_POP __pragma(warning(pop)) |
95 | 65 | #define __DISABLE_WARNING(warningNumber) __pragma(warning(disable : warningNumber)) |
96 | 66 | #elif defined(__GNUC__) || defined(__clang__) |
| 67 | +#define _VKAPI_CLANG 1 |
| 68 | + |
97 | 69 | #define __DO_PRAGMA(X) _Pragma(#X) |
98 | 70 | #define __DISABLE_WARNING_PUSH __DO_PRAGMA("GCC diagnostic push") |
99 | 71 | #define __DISABLE_WARNING_POP __DO_PRAGMA("GCC diagnostic pop") |
|
104 | 76 | #define __DISABLE_WARNING |
105 | 77 | #endif |
106 | 78 |
|
| 79 | +#ifndef _VKAPI_MSVC |
| 80 | +#define _VKAPI_MSVC 0 |
| 81 | +#endif // _VKAPI_MSVC |
| 82 | + |
| 83 | +#ifndef _VKAPI_CLANG |
| 84 | +#define _VKAPI_CLANG 0 |
| 85 | +#endif // _VKAPI_CLANG |
| 86 | + |
| 87 | +#if _VKAPI_MSVC |
| 88 | +#define _VKAPI_UNUSED_FOR_ANALYZER |
| 89 | +#elif _VKAPI_CLANG |
| 90 | +#define _VKAPI_UNUSED_FOR_ANALYZER __attribute__((unused)) |
| 91 | +#endif |
| 92 | + |
| 93 | +#ifndef _VKAPI_DEBUG_PRINT |
| 94 | +#if __DEBUG__ |
| 95 | +#define _VKAPI_DEBUG_STDCERR(x) (std::cerr << (x)) |
| 96 | +#define _VKAPI_DEBUG_STDCOUT(x) (std::cout << (x)) |
| 97 | +#else |
| 98 | +#define _VKAPI_DEBUG_STDCERR(x) |
| 99 | +#define _VKAPI_DEBUG_STDCOUT(x) |
| 100 | +#endif // __DEBUG__ |
| 101 | +#endif // _VKAPI_DEBUG_PRINT |
| 102 | + |
107 | 103 | #ifndef __VKAPI_VERSION_ADDED_OPTIONAL |
108 | 104 | #define __VKAPI_VERSION_ADDED_OPTIONAL __VKAPI_VERSION_NUM(0, 0, 7) |
109 | 105 | #endif // __VKAPI_VERSION_ADDED_OPTIONAL |
110 | 106 |
|
111 | | -// TODO(#14): Write defines for disable complexity warnings |
112 | | -#define _VKAPI_COMPLEXITY_FUNCTION |
113 | | - |
114 | 107 | #endif //VKAPI_DEFINES_HPP |
0 commit comments