mirror of
				https://github.com/libsdl-org/SDL.git
				synced 2025-11-04 01:34:38 +00:00 
			
		
		
		
	include: Move SDL_HAS_BUILTIN to SDL_begin_code.h, document it.
This macro fits better here, since most of the other macros in this file are for testing similar compiler/target features, etc.
This commit is contained in:
		@@ -262,10 +262,31 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
#define SDL_RESTRICT __restrict__
 | 
					#define SDL_RESTRICT __restrict__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Check if the compiler supports a given builtin functionality.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This allows preprocessor checks for things that otherwise might fail
 | 
				
			||||||
 | 
					 * to compile.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Supported by virtually all clang versions and more-recent GCCs. Use this
 | 
				
			||||||
 | 
					 * instead of checking the clang version if possible.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * On compilers without has_builtin support, this is defined to 0 (always false).
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * \since This macro is available since SDL 3.1.3.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define SDL_HAS_BUILTIN(x) __has_builtin(x)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* end of wiki documentation section. */
 | 
					/* end of wiki documentation section. */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef SDL_HAS_BUILTIN
 | 
				
			||||||
 | 
					#ifdef __has_builtin
 | 
				
			||||||
 | 
					#define SDL_HAS_BUILTIN(x) __has_builtin(x)
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					#define SDL_HAS_BUILTIN(x) 0
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef SDL_DEPRECATED
 | 
					#ifndef SDL_DEPRECATED
 | 
				
			||||||
#  if defined(__GNUC__) && (__GNUC__ >= 4)  /* technically, this arrived in gcc 3.1, but oh well. */
 | 
					#  if defined(__GNUC__) && (__GNUC__ >= 4)  /* technically, this arrived in gcc 3.1, but oh well. */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -147,17 +147,6 @@ void *alloca(size_t);
 | 
				
			|||||||
       typedef int SDL_compile_time_assert_ ## name[(x) * 2 - 1]
 | 
					       typedef int SDL_compile_time_assert_ ## name[(x) * 2 - 1]
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * Check if the compiler supports a given builtin.
 | 
					 | 
				
			||||||
 * Supported by virtually all clang versions and recent gcc. Use this
 | 
					 | 
				
			||||||
 * instead of checking the clang version if possible.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
#ifdef __has_builtin
 | 
					 | 
				
			||||||
#define SDL_HAS_BUILTIN(x) __has_builtin(x)
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
#define SDL_HAS_BUILTIN(x) 0
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * The number of elements in a static array.
 | 
					 * The number of elements in a static array.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user