A compile-time assertion.
Defined in <SDL3/SDL_stdinc.h>
#define SDL_COMPILE_TIME_ASSERT(name, x) FailToCompileIf_x_IsFalse(x)
name | a unique identifier for this assertion. |
x | the value to test. Must be a boolean value. |
This can check constant values known to the compiler at build time for correctness, and end the compile with the error if they fail.
Often times these are used to verify basic truths, like the size of a datatype is what is expected:
sizeof(Uint32) == 4); SDL_COMPILE_TIME_ASSERT(uint32_size,
The name
parameter must be a valid C symbol, and must be unique across all compile-time asserts in the same compilation unit (one run of the compiler), or the build might fail with cryptic errors on some targets. This is used with a C language trick that works on older compilers that don't support better assertion techniques.
If you need an assertion that operates at runtime, on variable data, you should try SDL_assert instead.
This macro doesn't generate any code to run.
This macro is available since SDL 3.1.3.