Eric Lewis
028c0f9082
Merge d02ea31410 into 5f25ce9282
2026-05-31 20:47:16 +02:00
Sam Lantinga
f432937f9c
Updated copyright for 2026
2026-01-01 09:51:07 -08:00
krnl32
9859c05178
Added a default case to the switch statement in the HEADER FILE to prevent compiler warnings about missing defaults. This change helps avoid compilation breaks when warnings are treated as errors.
2025-09-16 17:16:50 -07:00
Wes Lord
2eb5bff91a
Add missing parameters and return types to SDL2 header docs ( #13162 )
2025-09-13 07:37:33 -07:00
Ozkan Sezer
157f894d5d
don't prototype strdup() for __clang_analyzer__ case in windows builds.
...
Fixes: https://github.com/libsdl-org/SDL/issues/12948 .
(cherry picked from commit 17bba029ba )
2025-05-04 20:47:28 +03:00
Sam Lantinga
2b5b8fdbd5
Updated copyright for 2025
2025-01-01 07:47:53 -08:00
Zack Middleton
761ea32b74
Fix SDL_PRIs64 to use standard PRId64
...
PRIs64 doesn't exist in C standards.
(cherry picked from commit 8a2cac7aaa )
2024-11-08 12:40:50 +03:00
Ryan C. Gordon
67b537cef4
.wikiheader-options: Treat SDL int types (Uint64, etc) as API prefixes.
...
This makes any reference to them in the docs link to their wiki pages.
Also fixup the integer type documentation, so the SDL2 wiki _has_ actual
pages for them. :)
2024-11-01 23:52:03 -04:00
Ozkan Sezer
a976f7f71b
SDL_stdinc.h: provide a prototype for strdup for __clang_analyzer__ case
...
Because strdup is not ANSI but POSIX, and its prototype might be hidden..
Reference issue: https://github.com/libsdl-org/SDL/issues/11219 .
(cherry picked from commit 3ebfdb04be )
2024-10-16 22:03:50 +03:00
Sam Clegg
3deb07ea39
[emscripten] Fixes for data addresses above 2gb
...
This includes both wasm64 and wasm32 when addressing more than 2gb of
memory.
Fixes : #9052
2024-10-08 16:35:58 -04:00
Ozkan Sezer
86b4d035db
SDL_stdinc.h (SDL_COMPILE_TIME_ASSERT): Keep C++ case alone (after PR/10331)
...
Some versions of gcc will define __STDC_VERSION__ even when compiling in C++ mode.
Reference issue: https://github.com/libsdl-org/SDL/issues/6078 which was fixed by
f6b81125b3
(cherry picked from commit 70c1012e8c )
2024-07-22 16:02:00 +03:00
Anonymous Maarten
5d606eaae2
stdinc: c23 deprecated _Static_assert in favor of static_assert
...
(cherry picked from commit 22bfbdbc02 )
2024-07-21 21:55:10 +03:00
Ryan C. Gordon
b2b2369414
Moved function pointer params to typedefs, etc, for latest wikiheaders.
2024-06-12 19:29:21 -04:00
Ozkan Sezer
863670c0a8
always define PRI?64 using 'I64' when targeting windows
...
avoids -Wformat warnings from mingw toolchains -- e.g.:
src/test/SDL_test_harness.c:581:37: warning: unknown conversion type character 'l' in format [-Wformat=]
(cherry picked from commit 49b6c24722 )
2024-06-01 22:37:50 +03:00
Ryan C. Gordon
1c3a1e1139
wikiheaders: Updated to latest, cleaned up category documentation a little.
...
This documentation needs a LOT of work--maybe someday--but it's definitely not
_broken_ right now, which is good enough for now.
2024-05-16 11:49:21 -04:00
Ryan C. Gordon
0805990668
wikiheaders: Automatically categorize API symbols by subsystem.
2024-05-14 10:50:37 -04:00
Ryan C. Gordon
8b4e389ad0
wikiheaders: updated from SDL3, plus fixes to headers to deal with that.
2024-05-02 13:00:03 -04:00
Ryan C. Gordon
e03ad30a57
docs: heavy editing to make this happy with latest wikibridge.
...
The public headers saw lots of cleanups, backporting from SDL3 docs, and
merging with the wiki.
The markdown files in docs/README-*.md were converted to Unix endlines.
2024-04-23 14:21:54 -04:00
Eric Lewis
b2d11783da
initial playdate support
2024-04-21 22:09:18 -04:00
Anonymous Maarten
9216b7a5ee
stdinc: modify default alloca prototype
...
For compatibilty with TinyCC.
Backport of 06758685a5
2024-04-10 10:05:08 +02:00
Ozkan Sezer
4d91f0e796
SDL_stdinc.h: Android passes sizeof(ENUM) == sizeof(int) assertion
...
Reference issue: https://github.com/libsdl-org/SDL/issues/9392 .
(cherry picked from commit 6cf71ca9a9 )
2024-03-28 21:10:00 +03:00
Sam Lantinga
0fc3574464
Updated copyright for 2024
2024-01-01 13:19:49 -08:00
Anonymous Maarten
5abcfdb93e
SDL_stdinc.h: fix compile warning when using SDL_PR[iux]64 on Android
2023-11-23 03:38:59 +01:00
Ozkan Sezer
2222f44c94
use format string attributes for functions accepting va_list params, too
2023-11-17 15:56:10 +03:00
Sam Lantinga
4c2eb6b95d
Use the default UCS2/UCS4 conversion rather than non-portable INTERNAL encoding
...
Fxies https://github.com/libsdl-org/SDL/issues/1497
(cherry picked from commit d07a264a9b )
2023-11-04 12:02:18 -07:00
Ryan C. Gordon
32587bd7de
Sync wiki -> header
2023-10-10 10:19:51 -04:00
Eddy Jansson
2660da6f5c
Always allocate zt in output of SDL_iconv_string()
...
Before this, the function could not be used on buffers,
as it would not account for the zero-termination unless
it was included in the input.
(cherry picked from commit 5f5abb6805 )
2023-06-04 05:17:15 -07:00
Ozkan Sezer
9dea06f5b5
fix mingw build failures in CI with clang-tidy.
...
(cherry-picked from commit a8a72de6fb )
2023-05-26 23:55:04 +03:00
Sam Lantinga
707e9397ca
Removed memset_pattern4() from SDL headers
...
This requires including string.h, which isn't always done, so this commit simplifies dependencies on macOS
Fixes https://github.com/libsdl-org/SDL/issues/3657
2023-04-30 21:38:29 -07:00
Pierre Wendling
0081174689
Fix clang-tidy error on LLVM 16.
...
Starting LLVM 16, clang-diagnostic-implicit-function-declaration is
treated as an error.
(cherry picked from commit ea093378a2 )
2023-03-27 12:51:21 +03:00
Knightly
a23d1af0ac
Guard against _USE_MATH_DEFINES redefinition
2023-02-12 20:47:00 +03:00
Sam Lantinga
0479df53ca
Updated copyright for 2023
2023-01-09 09:48:21 -08:00
Sam Lantinga
297ecb706d
Added SDL_strcasestr() for a case insensitive version of SDL_strstr()
2022-11-05 15:58:30 -07:00
Sam Lantinga
c6e8961979
Define _USE_MATH_DEFINES for Visual Studio (thanks @pionere!)
...
Fixes https://github.com/libsdl-org/SDL/issues/3790
2022-10-19 08:05:47 -07:00
Pierre Wendling
655275378d
N3DS port (squashed)
...
A dedicated renderer using Citro3D would likely allow for better
much better graphical performances.
2022-10-10 08:50:59 -07:00
Sam Lantinga
f6b81125b3
Always define SDL_COMPILE_TIME_ASSERT as static_assert() in C++
...
Apparently some versions of gcc will define __STDC_VERSION__ even when compiling in C++ mode.
Fixes https://github.com/libsdl-org/SDL/issues/6078
2022-08-18 16:06:42 -07:00
Sam Lantinga
b4c4dd84c2
Added SDL_crc16() to be used in joystick GUIDs after 2.24.0
2022-08-11 09:53:25 -07:00
Sam Lantinga
cbd0187475
Removed the limit on the size of the SDL error message
...
Also added SDL_GetOriginalMemoryFunctions()
Fixes https://github.com/libsdl-org/SDL/issues/5795
2022-06-27 16:59:50 -07:00
chalonverse
3b191580c3
Windows GDK Support ( #5830 )
...
* Added GDK
* Simplfied checks in SDL_config_wingdk.h
* Added testgdk sample
* Added GDK readme
* Fixed error in merge of SDL_windows.h
* Additional GDK fixes
* OpenWatcom should not export _SDL_GDKGetTaskQueue
* Formatting fixes
* Moved initialization code into SDL_GDKRunApp
2022-06-27 10:19:39 -07:00
Sam Lantinga
adc6875870
Added SDL_copyp to avoid size mismatch when copying values (thanks @1bsyl!)
...
Closes https://github.com/libsdl-org/SDL/pull/5811
2022-06-17 10:22:28 -07:00
Guldoman
74bcc5a0a3
stdlib: Add SDL_utf8strnlen
2022-06-09 15:18:50 -07:00
Cameron Cawley
0cca71a846
Use SDLCALL for callbacks in public APIs
2022-05-18 15:01:27 -07:00
Simon McVittie
8ab3ae98f0
stdinc: Add a comment to clarify why inline functions are needed here
...
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-10 06:50:54 -07:00
Simon McVittie
f661654fad
stdinc: Add overflow-checking add and multiply for size_t
...
This can be used to check whether untrusted sizes would cause overflow
when used to calculate how much memory is needed.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-09 21:31:39 -07:00
Ozkan Sezer
e9ff4fdd49
add SDL_bsearch
2022-04-26 04:03:25 +03:00
Eddy Jansson
00feca27b0
Add SDL_FLT_EPSILON.
2022-04-20 08:38:53 -07:00
Ryan C. Gordon
3425e9950e
stdinc: SDL_COMPILE_TIME_ASSERT defines shouldn't have a semicolon.
2022-03-30 10:13:47 -04:00
Ozkan Sezer
f0d2747df1
use _Static_assert for SDL_COMPILE_TIME_ASSERT(), when available
2022-03-17 08:43:27 -07:00
Sam Lantinga
120c76c84b
Updated copyright for 2022
2022-01-03 09:40:21 -08:00
Misa
3bf7994fe2
Add and use SDL_FALLTHROUGH for fallthroughs
...
Case fallthrough warnings can be suppressed using the __fallthrough__
compiler attribute. Unfortunately, not all compilers have this
attribute, or even have __has_attribute to check if they have the
__fallthrough__ attribute. [[fallthrough]] is also available in C++17
and the next C2x, but not everyone uses C++17 or C2x.
So define the SDL_FALLTHROUGH macro to deal with those problems - if we
are using C++17 or C2x, it expands to [[fallthrough]]; else if the
compiler has __has_attribute and has the __fallthrough__ attribute, then
it expands to __attribute__((__fallthrough__)); else it expands to an
empty statement, with a /* fallthrough */ comment (it's a do {} while
(0) statement, because users of this macro need to use a semicolon,
because [[fallthrough]] and __attribute__((__fallthrough__)) require a
semicolon).
Clang before Clang 10 and GCC before GCC 7 have problems with using
__attribute__ as a sole statement and warn about a "declaration not
declaring anything", so fall back to using the /* fallthrough */ comment
if we are using those older compiler versions.
Applications using SDL are also free to use this macro (because it is
defined in begin_code.h).
All existing /* fallthrough */ comments have been replaced with this
macro. Some of them were unnecessary because they were the last case in
a switch; using SDL_FALLTHROUGH in those cases would result in a compile
error on compilers that support __fallthrough__, for having a
__attribute__((__fallthrough__)) statement that didn't immediately
precede a case label.
2021-11-12 07:26:14 +03:00