Anonymous Maarten
965c164537
cmake: let cmake test script make use of the installed cmake scripts
2022-06-23 14:17:38 +02:00
Anonymous Maarten
3e1021239a
cmake: also add the recently-added include folder to the public interface
2022-06-22 17:04:58 +02:00
Sam Lantinga
9065897514
Added test for digit count in sscanf, e.g. "%1x"
2022-06-18 06:53:05 -07:00
Sam Lantinga
28ecdc6bc7
No need to cast from char* to const char*
2022-06-18 06:52:46 -07:00
Sam Lantinga
5d5488ca71
Fixed test/versioning.sh on macOS
2022-06-16 12:41:31 -07:00
Francisco Javier Trujillo Mata
580416d3c8
Initial CMake configuration
2022-06-15 15:15:26 -07:00
Pierre Wendling
6bd3e0b189
Test: Check sqrt and atan against the epsilon.
...
On i686-linux, the `sqrt_regularCases` and `atan_limitCases` tests would
fail as the result was not precise enough.
2022-06-15 23:32:40 +03:00
Pierre Wendling
cee47a9ebe
Test: Use inexact helper for log10 regular cases.
...
On ARMv6, the result is not precise enough for this function.
2022-06-15 12:05:30 -07:00
Pierre Wendling
a52b8580f0
Test: Tidy up test descriptions and documentation.
...
Test function documentation now lists the input(s) and expected output(s).
Descriptions in TestCaseReference were updated.
2022-06-15 12:05:30 -07:00
Pierre Wendling
4d7f12f6bd
Test: Add Atan2 tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
8ebe640a36
Test: Change inexact tests to use an epsilon.
...
Instead of using `trunc` to check the first ten digits, inexact test now
relies on an epsilon defining an acceptable range for the expected
result to be in.
2022-06-15 12:05:30 -07:00
Pierre Wendling
62fd6aad39
Test: Add Atan tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
6a6e93bc29
Test: Add +/-0.0 tests to Acos.
2022-06-15 12:05:30 -07:00
Pierre Wendling
6b4b6d8e59
Test: Add Asin tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
43f6983a24
Test: Add Acos tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
95f6edb9a5
Test: Refactor trigonometric tests into a helper.
...
The precision test of these functions need a special helper, it can also
be used for their arc functions down the line.
2022-06-15 12:05:30 -07:00
Pierre Wendling
3b9f47b85f
Test: Remove early return in pow test.
2022-06-15 12:05:30 -07:00
Pierre Wendling
6be430c7f7
Test: Add Tan tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
af79b46f9e
Test: Add Sin tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
b06eda55e9
Test: Fix math suite build on Win32.
...
The cosine precision test now uses an array of double and the result
gets truncated instead of casted to signed int64.
2022-06-15 12:05:30 -07:00
Pierre Wendling
adb445eafb
Test: Add Cos tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
a864180cf3
Test: Add float header for FLT_RADIX definition.
2022-06-15 12:05:30 -07:00
Pierre Wendling
7a55fa4e56
Test: Add Scalbn tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
afd812374f
Test: Add Sqrt tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
c389c32d30
Test: Change assertion type in range tests.
...
Changes SDLTest_AssertPass(...) to SDLTest_AssertCheck(SDL_FALSE, ...)
for failed assertions so the internal counter gets updated properly.
2022-06-15 12:05:30 -07:00
Pierre Wendling
5ecc75a4fc
Test: Add Pow tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
6349ad7319
Test: Add Log10 tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
7041bbaf00
Test: Add Log tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
dd30ff2e31
Test: Add Exp tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
aacb5e1774
Test: Extract range test parameters into defines.
2022-06-15 12:05:30 -07:00
Pierre Wendling
75b9aab6c1
Test: Add Fmod tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
0dbdf90e7b
Test: Use SDLCALL in typedefs instead of ifdefs.
...
Thanks to @sezero for the tip.
2022-06-15 12:05:30 -07:00
Pierre Wendling
2ec48b36ba
Test: Fix OS/2 compilation in math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
43c22e5d1e
Test: Refactor math suite duplicate code.
...
Many tests were using the same underlying routine, as such three helper
functions were added:
- A wrapper to test double -> double functions.
- A wrapper to test (double, double) -> double functions,
- A wrapper for range tests on double -> double functions.
2022-06-15 12:05:30 -07:00
Pierre Wendling
3d720ba381
Test: Refactor math suites edge cases.
...
Split infinity and zero checks in their own functions.
The result of NAN tests is now logged.
The SDL_TestCaseReference structure were renamed to be more explicit.
2022-06-15 12:05:30 -07:00
Pierre Wendling
a530fc9199
Test: Add Copysign tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
48a406db4d
Test: Add Fabs tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
2130dff0fc
Test: Add Round tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
324b96153f
Test: Add Trunc tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
b09266a4ef
Test: Add Ceil tests to math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
9eb09d2392
Test: Refactored and formatted math test suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
0f630e9177
Test: fix indentation in Makefile.in.
2022-06-15 12:05:30 -07:00
Pierre Wendling
4e3a26e271
Test: Add math test suite to autotools.
2022-06-15 12:05:30 -07:00
Pierre Wendling
e64acb619a
Test: Fix for-loop for OS/2 in math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
a3a852e912
Test: Unrolled the array of cases in math suite.
...
On OS/2, `INFINITY` is a `const double` which cannot be used to
instantiate an array.
2022-06-15 12:05:30 -07:00
Pierre Wendling
c23216bf46
Test: Removed static from local variables (Math).
...
Static would break compilation on OS/2.
2022-06-15 12:05:30 -07:00
Pierre Wendling
6646edf692
Test: Fix Windows build for math suite.
2022-06-15 12:05:30 -07:00
Pierre Wendling
d9ff6380ae
Test: Add math test suite to Watcom Makefile.
2022-06-15 12:05:30 -07:00
Pierre Wendling
7389eba943
Test: Fix C89 declaration and math include.
2022-06-15 12:05:30 -07:00
Pierre Wendling
b3faebb8a8
Test: Add Floor tests to math.
2022-06-15 12:05:30 -07:00
Pierre Wendling
b72b5d0f99
Test: Add math automation test suite.
2022-06-15 12:05:30 -07:00
Anonymous Maarten
97711e99fe
cmake: no need to explicitly add a depency (target_link_libraries does this implicitly)
2022-06-15 11:11:49 -07:00
Anonymous Maarten
ad21c70408
cmake: fix CMP0072 warning by prefering GLVND
2022-06-15 11:11:49 -07:00
Ozkan Sezer
163f669745
minor tidy-up to configury.
2022-06-15 17:00:02 +03:00
Simon McVittie
e974985998
test: Add test coverage for surface size overflows
...
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-06-13 11:53:53 -07:00
Simon McVittie
63b3b9a558
Fix some typos in diagnostic messages
...
Detected by Debian's packaging QA tool, Lintian.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-06-13 08:33:27 -07:00
Eric Wasylishen
2830895740
testgles2.c: refresh cached SDL_GL_GetDrawableSize() on SDL_WINDOWEVENT_SIZE_CHANGED, not SDL_WINDOWEVENT_RESIZED
...
Fixes bug with viewport not updating when moving window between monitors with different scale
factors on Windows (this should also fix the same issue on other OS'es, though untested)
2022-06-11 14:19:01 -07:00
Eric Wasylishen
df36f926fc
testautomation: add video_setWindowCenteredOnDisplay test
2022-06-11 14:19:01 -07:00
Sam Lantinga
51d6d60f11
Updated to autoconf 2.71
2022-06-08 10:14:36 -07:00
Sam Lantinga
30cf26e089
Show the firmware version in testgamecontroller
2022-06-06 06:59:54 -07:00
Christoph Reichenbach
46624b4e1d
Removed two distracting gcc-11 warnings
2022-06-05 14:11:10 +03:00
Christoph Reichenbach
3a20274ddf
Refactoring: move GUID operations out of Joystick
...
- SDL_JoystickGUID -> SDL_GUID (though we retain a type alias)
- Operations for GUID <-> String ops are now in
src/SDL_guid.c and include/SDL_guid.h
- The corresponding Joystick operations delegate to SDL_guid.c
- Added test/testguid.c
2022-06-04 17:22:13 -07:00
Christoph Reichenbach
4e07d4722d
Build warning fixes for gcc-11.3
2022-06-04 17:41:00 +03:00
Sam Lantinga
345efdcb10
Wait for all the threads to actually finish before exiting
...
Fixes https://github.com/libsdl-org/SDL/issues/5748
2022-06-03 08:46:08 -07:00
Cameron Cawley
4c711d2d43
testcustomcursor: Allow running without custom or system cursors
2022-05-25 14:25:54 -07:00
Simon McVittie
a95f5a792c
test: Use install(1) more portably
...
I had assumed that only Linux users would be interested in GNOME-style
installed-tests, but in principle there's no reason why they can't be
used on non-Linux.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-20 22:22:20 +03:00
Ozkan Sezer
848d2008c6
test/Makefile.w32: fix minor typo
2022-05-20 21:10:56 +03:00
Cameron Cawley
83ae1b4987
Convert the test executables to AIF in RISC OS CMake builds
2022-05-19 15:26:13 -07:00
Cameron Cawley
d2b5965894
Remove extra path separator in GetNearbyFilename
2022-05-19 15:25:49 -07:00
Cameron Cawley
aa51a9791a
Run tests with OpenWatcom on CI
2022-05-19 20:11:10 +03:00
Cameron Cawley
9dfa000bc0
Initial support for building for Windows with OpenWatcom
2022-05-19 20:11:10 +03:00
Cameron Cawley
5ef36ead08
Add some missing tests to Watcom builds
2022-05-19 20:11:10 +03:00
Cameron Cawley
3066873126
Split the common code in test/Makefile.os2 into a separate file
2022-05-19 20:11:10 +03:00
Cameron Cawley
0cca71a846
Use SDLCALL for callbacks in public APIs
2022-05-18 15:01:27 -07:00
Sam Lantinga
0ffd985972
Check to see if the file exists in the base path before returning it
2022-05-18 10:10:51 -07:00
pionere
c4cf63f812
improve test-configuration
...
- testkeys 'NEEDS_DISPLAY'
- 'disable' relevant tests in case DUMMY audio/video is disabled
2022-05-18 09:06:56 -07:00
pionere
ea15253220
fix GetNearbyFilename
...
- fix memory leak due to variable 'base'
- fix usage of uninitialized variable (path)
2022-05-18 08:30:34 -07:00
Ryan C. Gordon
a12ffbd532
testcustomcursor: Log the current cursor type as it changes.
...
So you know what you're looking at.
2022-05-17 12:49:36 -04:00
Sam Lantinga
1f2a241688
Add new virtual joysticks to the end of the list
...
This guarantees that the device index that's returned is stable, as long as no joystick hotplug events occur.
2022-05-16 09:02:35 -07:00
Sam Lantinga
3c3ccb1d48
Fixed crash if a virtual joystick was disconnected
2022-05-16 08:56:17 -07:00
Sam Lantinga
f0bc5c9cbf
Added effects support for virtual controllers
2022-05-16 07:21:28 -07:00
Sam Lantinga
e3fd8feae6
Fixed getting the controller index when specifying --virtual (thanks @zturtleman)
2022-05-16 06:17:23 -07:00
Sam Lantinga
94eeb587c1
First pass at extending virtual controller functionality
...
Added the ability to specify a name and the product VID/PID for a virtual controller
Also added a test case to testgamecontroller, if you pass --virtual as a parameter
2022-05-15 20:01:12 -07:00
Simon McVittie
d15f6e379c
test: Add a unit test for overflow detection
...
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-09 21:31:39 -07:00
Cameron Cawley
c71ee68b8a
Fix enabling tests on platforms without testnative support
2022-05-08 17:38:48 -07:00
Cameron Cawley
318b5577f9
Delete gcc-fat.sh
2022-05-08 17:38:22 -07:00
Ozkan Sezer
db36664f26
configure.ac: remove unnecessary AC_SUBST's added by commit 38ef678990
2022-05-05 18:55:02 +03:00
Simon McVittie
ce502054ad
test: Install GNOME-style installed-tests metadata
...
This allows these tests to be discovered and run by
gnome-desktop-test-runner.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
38ef678990
test: Add a `make install` target for the tests
...
This makes it more convenient to compile them alongside SDL, install
them in an optional package and use them as smoke-tests or diagnostic
tools. The default installation directory is taken from GNOME's
installed-tests, which seems as good a convention as any other:
https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
76a7b629bf
test: Add some common code to load test resources
...
As well as reducing duplication, this lets the tests load their resources
from the SDL_GetBasePath() on platforms that support it, which is useful
if the tests are compiled along with the rest of SDL and installed below
/usr as manual tests, similar to GNOME's installed-tests convention.
Thanks to Ozkan Sezer for the OS/2 build glue.
Co-authored-by: Ozkan Sezer <sezeroz@gmail.com>
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
40bef98f8b
test: Add a mode to skip tests that involve arbitrary delays
...
This can be used as a quick acceptance test for CI workflows.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
7d2808e30b
test: Run selected noninteractive tests at build-time
...
In Autotools, these are run by `make -C ${builddir}/test check`.
In CMake, they're run by `make -C ${builddir} test` or
`ninja -C ${builddir} test` or `ctest --test-dir ${builddir}`.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
b299f74d05
test: Make testevdev succeed if the feature is disabled
...
"Not applicable" is more like success than it is like failure.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
6fc7aa28e7
cmake: Add some missing test-cases
...
These were built by Autotools but not by CMake.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie
2a8297e427
workflows: Add a test to assert that all the version numbers agree
...
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 09:55:35 -07:00
Cameron Cawley
b398a847be
Add SDL_FLOATWORDORDER for older ARM toolchains
2022-05-04 09:52:11 -07:00
Susko3
f25a78eede
Enable `SDL_TEXTEDITING_EXT` events in `checkkeys` test
2022-05-02 15:50:39 -07:00
Sam Lantinga
0687128c96
Reduce CPU usage in testgamecontroller
2022-04-29 20:57:17 -07:00
Eddy Jansson
5c1f5a7306
test: Correct invalid enum length.
...
Ensure that they can't break like this again.
2022-04-28 12:58:27 -07:00
Ryan C. Gordon
7d7ec9c951
x11: Remove XVidMode and Xinerama support.
...
Fixes #1782 .
2022-04-26 23:17:13 -04:00
Sam Lantinga
e551384a99
Added functions to get the platform dependent name for a joystick or game controller
2022-04-26 14:54:14 -07:00
Eddy Jansson
5bc2933425
test: Basic tests for SDL_FRectEquals
...
Based on the integer version. These tests mostly check that input
isn't mangled and that invalid input gives the expected negative
result.
2022-04-20 08:38:53 -07:00
Simon McVittie
68b6fff245
test: Copy utf8.txt to build directory
...
testiconv wants this.
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-04-12 11:01:20 -04:00
Simon McVittie
b4256d03e9
testevdev: Adapt to a broader definition of keyboards
...
At the time I contributed this unit test, SDL had a relatively narrow
definition of what is a keyboard, approximately matching udev
ID_INPUT_KEYBOARD. Now it uses the equivalent of udev ID_INPUT_KEY,
which matches anything with keyboard keys, and not just reasonably
complete alphanumeric keyboards.
Fixes: 040bd7a9
"Fix udev not detecting ID_INPUT_KEY devices when udev is not running"
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-04-12 10:59:53 -04:00
Simon McVittie
c2946902fa
testevdev: Recognise touchpads as such
...
At the time I contributed this unit test, SDL didn't understand Linux
touchpads, but now it does.
Fixes: 373216ae
"Added support for touchpads in the Linux evdev code"
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-04-12 10:59:53 -04:00
capehill
006a5a9e03
testgles2: Fix buffer object sizes
2022-04-05 13:05:51 -04:00
Christoph Reichenbach
6cd444f0fa
Visualise scroll wheel events in testmouse
2022-04-02 20:50:21 -07:00
capehill
0dcfa92e4c
testgles2: Call correct function to get shader info log and add link status checking
2022-03-27 09:44:48 -07:00
Ryan C. Gordon
beecae31f6
testshader: use SDL_malloc instead of SDL_stack_alloc.
2022-03-26 08:42:09 -04:00
capehill
d6122704e8
Initialize compile status variable and check also program link status
2022-03-26 08:38:42 -04:00
Sylvain
7f1feee02a
Fixed bug #2426 - SDL_RenderReadPixels result is unspecified and fails testautomation
...
Call SDL_RenderPresent after calling SDL_RenderReadPixels.
From "include/SDL_render.h":
"If you're using this on the main rendering target, it should be called after rendering and before SDL_RenderPresent()."
2022-03-21 10:20:04 +01:00
Ozkan Sezer
01663238dc
testplatform.c: move static asserts out of TestTypes().
2022-03-17 08:43:27 -07:00
Sylvain
c44966b78b
Fixed bug #2691 - re-enable surface_testCompleteSurfaceConversion for ARGB2101010
2022-03-15 17:48:38 +01:00
IOBYTE
13756b5c72
Add X1 and X2 button support to mouse test
2022-03-04 12:09:08 -05:00
Sam Lantinga
18032979d8
Added the hint SDL_HINT_JOYSTICK_ROG_CHAKRAM to control whether ROG Chakram mice show up as joysticks
...
This hint defaults off, but when it is enabled the mice will have a game controller mapping set up for Profile 3 (set in the Armoury Crate software)
2022-02-15 13:07:51 -08:00
Wouter Wijsman
4cb6181808
Do not build loadso test eboot for PSP
2022-02-10 19:01:15 +01:00
Sylvain
94e5c3f30e
testgesture: display device name with SDL_GetTouchName()
2022-02-08 11:40:39 +01:00
Ryan C. Gordon
ca22b30e46
testgles2: Use vertex buffer objects instead of client-side arrays.
...
GLES2 always has them, and they work without hacks on Emscripten, unlike
client-side arrays.
I cleaned it up slightly, but this patch was mostly written by @bing2008.
Fixes #5258 .
2022-01-24 22:41:41 -05:00
Ozkan Sezer
836a4ec7b1
updates to os/2 build
2022-01-08 22:35:02 +03:00
Ozkan Sezer
93cab32db3
minor update to test/Makefile.os2
2022-01-08 14:40:20 +03:00
Wouter Wijsman
e0c5399119
Don't make psp eboot for testoffscreen
2022-01-06 13:33:17 -08:00
Wouter Wijsman
eca198d519
Don't build an eboot for testgesture for PSP
2022-01-05 08:30:28 -08:00
Wouter Wijsman
cd6cb959c0
Only copy resources to PSP eboot directory if it exists
2022-01-05 08:30:28 -08:00
Wouter Wijsman
9d0b4d85fc
Don't build EBOOT files for all tests for PSP
2022-01-05 08:30:28 -08:00
Wouter Wijsman
b2ca62f23a
Make sure all tests have the resources they need
2022-01-05 08:30:28 -08:00
Wouter Wijsman
fcb638ff90
Copy test resources to correct directory on PSP
2022-01-03 10:39:15 -08:00
Wouter Wijsman
5e84f6384f
Rename test directories for PSP and only build PRX if asked
2022-01-03 10:39:15 -08:00
Wouter Wijsman
bf2336078c
Make tests build for PSP and make them able to launch
2022-01-03 10:39:15 -08:00
Sam Lantinga
120c76c84b
Updated copyright for 2022
2022-01-03 09:40:21 -08:00
Ozkan Sezer
563ef2aeb2
regenerated configure scripts.
2021-12-01 01:56:50 +03:00
Ozkan Sezer
efa1aa9a8f
initial attempt at adding os2 support to autotools
2021-12-01 01:55:56 +03:00
Sam Lantinga
4b571c624c
Added an option to map the touchpad button for Sony controllers
2021-11-29 09:00:26 -08:00
Ozkan Sezer
ede73b4cfc
testnativeos2.c: make its code style to match SDL2.
2021-11-28 23:02:02 +03:00
Sam Lantinga
f1c15aa324
Tests cover the latest SDL features
2021-11-28 08:56:25 -08:00
Nate River
6c25aed419
added hint for joysticks to stablize sixaxis & dualshock controllers ( #5007 )
2021-11-27 11:01:18 -08:00
Ozkan Sezer
d2871a348b
testhaptic.c, testjoystick.c: fixed -Wshadow warnings.
2021-11-23 15:10:50 +03:00
Sam Lantinga
e6a4230de9
Revert testevdev libc changes
...
This file uses internal SDL headers as a hack, without actually being built as part of SDL, so we should use normal C functions here.
2021-11-23 03:51:32 -08:00
Ozkan Sezer
3eaa80bb0b
testgamecontroller.c: fixed -Wshadow warnings.
2021-11-23 14:22:02 +03:00
Ozkan Sezer
370b8318af
testmouse.c: fixed -Wshadow warnings.
2021-11-23 14:01:10 +03:00
Sylvain
f1582f549b
Fix comment
2021-11-22 08:38:46 -08:00
Sylvain
d31251b014
use SDL's functions version inplace of libc version
2021-11-22 08:38:46 -08:00
Ozkan Sezer
fadf41fc6e
remove excess whitespace
2021-11-20 21:55:20 +03:00
Ryan C. Gordon
e86d4bde54
test: Makefile should copy unifont file, for testime.c to use.
2021-11-20 13:35:56 -05:00
Ozkan Sezer
495ee42a83
testcustomcursor.c: replaced libc sscanf with SDL_sscanf
2021-11-20 01:15:20 +03:00
Ozkan Sezer
990fb668f7
tests: several -Wwrite-strings fixes.
2021-11-20 01:02:02 +03:00
Cameron Gutman
eb98ff4740
testmessage: Fix overread of stack variable
2021-11-13 13:05:02 -06:00
Ozkan Sezer
62b41f61d4
fix build of testmouse.c
2021-11-13 21:29:50 +03:00
Cameron Gutman
f124259e59
testautomation: fix use-after-free when restoring hint value
2021-11-12 17:25:24 -06:00
Ozkan Sezer
e688a95ba4
updated os2 makefile for tests
2021-11-12 23:55:40 +03: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