World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
attributes.h
См. документацию.
1
/*
2
* copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
26
#ifndef AVUTIL_ATTRIBUTES_H
27
#define AVUTIL_ATTRIBUTES_H
28
29
#ifdef __GNUC__
30
# define AV_GCC_VERSION_AT_LEAST(x,y) (__GNUC__ > (x) || __GNUC__ == (x) && __GNUC_MINOR__ >= (y))
31
# define AV_GCC_VERSION_AT_MOST(x,y) (__GNUC__ < (x) || __GNUC__ == (x) && __GNUC_MINOR__ <= (y))
32
#else
33
# define AV_GCC_VERSION_AT_LEAST(x,y) 0
34
# define AV_GCC_VERSION_AT_MOST(x,y) 0
35
#endif
36
37
#ifndef av_always_inline
38
#if AV_GCC_VERSION_AT_LEAST(3,1)
39
# define av_always_inline __attribute__((always_inline)) inline
40
#elif defined(_MSC_VER)
41
# define av_always_inline __forceinline
42
#else
43
# define av_always_inline inline
44
#endif
45
#endif
46
47
#ifndef av_extern_inline
48
#if defined(__ICL) && __ICL >= 1210 || defined(__GNUC_STDC_INLINE__)
49
# define av_extern_inline extern inline
50
#else
51
# define av_extern_inline inline
52
#endif
53
#endif
54
55
#if AV_GCC_VERSION_AT_LEAST(3,4)
56
# define av_warn_unused_result __attribute__((warn_unused_result))
57
#else
58
# define av_warn_unused_result
59
#endif
60
61
#if AV_GCC_VERSION_AT_LEAST(3,1)
62
# define av_noinline __attribute__((noinline))
63
#elif defined(_MSC_VER)
64
# define av_noinline __declspec(noinline)
65
#else
66
# define av_noinline
67
#endif
68
69
#if AV_GCC_VERSION_AT_LEAST(3,1) || defined(__clang__)
70
# define av_pure __attribute__((pure))
71
#else
72
# define av_pure
73
#endif
74
75
#if AV_GCC_VERSION_AT_LEAST(2,6) || defined(__clang__)
76
# define av_const __attribute__((const))
77
#else
78
# define av_const
79
#endif
80
81
#if AV_GCC_VERSION_AT_LEAST(4,3) || defined(__clang__)
82
# define av_cold __attribute__((cold))
83
#else
84
# define av_cold
85
#endif
86
87
#if AV_GCC_VERSION_AT_LEAST(4,1) && !defined(__llvm__)
88
# define av_flatten __attribute__((flatten))
89
#else
90
# define av_flatten
91
#endif
92
93
#if AV_GCC_VERSION_AT_LEAST(3,1)
94
# define attribute_deprecated __attribute__((deprecated))
95
#elif defined(_MSC_VER)
96
# define attribute_deprecated __declspec(deprecated)
97
#else
98
# define attribute_deprecated
99
#endif
100
106
#ifndef AV_NOWARN_DEPRECATED
107
#if AV_GCC_VERSION_AT_LEAST(4,6)
108
# define AV_NOWARN_DEPRECATED(code) \
109
_Pragma("GCC diagnostic push") \
110
_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
111
code \
112
_Pragma("GCC diagnostic pop")
113
#elif defined(_MSC_VER)
114
# define AV_NOWARN_DEPRECATED(code) \
115
__pragma(warning(push)) \
116
__pragma(warning(disable : 4996)) \
117
code; \
118
__pragma(warning(pop))
119
#else
120
# define AV_NOWARN_DEPRECATED(code) code
121
#endif
122
#endif
123
124
#if defined(__GNUC__) || defined(__clang__)
125
# define av_unused __attribute__((unused))
126
#else
127
# define av_unused
128
#endif
129
135
#if AV_GCC_VERSION_AT_LEAST(3,1) || defined(__clang__)
136
# define av_used __attribute__((used))
137
#else
138
# define av_used
139
#endif
140
141
#if AV_GCC_VERSION_AT_LEAST(3,3) || defined(__clang__)
142
# define av_alias __attribute__((may_alias))
143
#else
144
# define av_alias
145
#endif
146
147
#if (defined(__GNUC__) || defined(__clang__)) && !defined(__INTEL_COMPILER)
148
# define av_uninit(x) x=x
149
#else
150
# define av_uninit(x) x
151
#endif
152
153
#if defined(__GNUC__) || defined(__clang__)
154
# define av_builtin_constant_p __builtin_constant_p
155
# define av_printf_format(fmtpos, attrpos) __attribute__((__format__(__printf__, fmtpos, attrpos)))
156
#else
157
# define av_builtin_constant_p(x) 0
158
# define av_printf_format(fmtpos, attrpos)
159
#endif
160
161
#if AV_GCC_VERSION_AT_LEAST(2,5) || defined(__clang__)
162
# define av_noreturn __attribute__((noreturn))
163
#else
164
# define av_noreturn
165
#endif
166
167
#endif
/* AVUTIL_ATTRIBUTES_H */
lib
win32
x86
ffmpeg-4.2.2
include
libavutil
attributes.h
Документация по World of Might and Magic. Последние изменения: Вт 7 Апр 2020 22:03:38. Создано системой
1.8.17