Go to the documentation of this file.
31#ifdef SDL_begin_code_h
32#error Nested inclusion of begin_code.h
34#define SDL_begin_code_h
37# if defined(__GNUC__) && (__GNUC__ >= 4)
38# define SDL_DEPRECATED __attribute__((deprecated))
39# elif defined(_MSC_VER)
40# define SDL_DEPRECATED __declspec(deprecated)
42# define SDL_DEPRECATED
48# define SDL_UNUSED __attribute__((unused))
56# if defined(__WIN32__) || defined(__WINRT__) || defined(__CYGWIN__) || defined(__GDK__)
58# define DECLSPEC __declspec(dllexport)
62# elif defined(__OS2__)
64# define DECLSPEC __declspec(dllexport)
69# if defined(__GNUC__) && __GNUC__ >= 4
70# define DECLSPEC __attribute__ ((visibility("default")))
79#if (defined(__WIN32__) || defined(__WINRT__) || defined(__GDK__)) && !defined(__GNUC__)
80#define SDLCALL __cdecl
81#elif defined(__OS2__) || defined(__EMX__)
82#define SDLCALL _System
83# if defined (__GNUC__) && !defined(_System)
102#if defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__)
104#pragma warning(disable: 4103)
107#pragma clang diagnostic ignored "-Wpragma-pack"
122#define SDL_INLINE __inline__
123#elif defined(_MSC_VER) || defined(__BORLANDC__) || \
124 defined(__DMC__) || defined(__SC__) || \
125 defined(__WATCOMC__) || defined(__LCC__) || \
126 defined(__DECC) || defined(__CC_ARM)
127#define SDL_INLINE __inline
129#define __inline__ __inline
132#define SDL_INLINE inline
134#define __inline__ inline
139#ifndef SDL_FORCE_INLINE
141#define SDL_FORCE_INLINE __forceinline
142#elif ( (defined(__GNUC__) && (__GNUC__ >= 4)) || defined(__clang__) )
143#define SDL_FORCE_INLINE __attribute__((always_inline)) static __inline__
145#define SDL_FORCE_INLINE static SDL_INLINE
151#define SDL_NORETURN __attribute__((noreturn))
152#elif defined(_MSC_VER)
153#define SDL_NORETURN __declspec(noreturn)
160#if !defined(__MACH__)
165#define NULL ((void *)0)
170#ifndef SDL_FALLTHROUGH
171#if (defined(__cplusplus) && __cplusplus >= 201703L) || \
172 (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L)
173#define SDL_FALLTHROUGH [[fallthrough]]
175#if defined(__has_attribute)
176#define SDL_HAS_FALLTHROUGH __has_attribute(__fallthrough__)
178#define SDL_HAS_FALLTHROUGH 0
180#if SDL_HAS_FALLTHROUGH && \
181 ((defined(__GNUC__) && __GNUC__ >= 7) || \
182 (defined(__clang_major__) && __clang_major__ >= 10))
183#define SDL_FALLTHROUGH __attribute__((__fallthrough__))
185#define SDL_FALLTHROUGH do {} while (0)
187#undef SDL_HAS_FALLTHROUGH