Commit 68d7be3949ed28f3af44abf13cce88dedb8bbde6

Sam Lantinga 2016-12-06T00:40:09

Fixed bug 3508 - variably modified ?SDL_dummy_size? at file scope in test/testatomic.c Ciro Santilli GCC 6, Ubuntu 16.10, cd test; ./configure; make /bin/sh config.status Makefile config.status: creating Makefile gcc -o loopwave loopwave.c -g -O2 -D_REENTRANT -I/usr/include/SDL2 -DHAVE_OPENGLES2 -DHAVE_OPENGL -DHAVE_SDL_TTF -g -lSDL2_test -lSDL2 gcc -o testatomic testatomic.c -g -O2 -D_REENTRANT -I/usr/include/SDL2 -DHAVE_OPENGLES2 -DHAVE_OPENGL -DHAVE_SDL_TTF -g -lSDL2_test -lSDL2 In file included from /usr/include/SDL2/SDL_main.h:25:0, from /usr/include/SDL2/SDL.h:32, from testatomic.c:14: /usr/include/SDL2/SDL_stdinc.h:261:20: error: variably modified ?SDL_dummy_size? at file scope typedef int SDL_dummy_ ## name[(x) * 2 - 1] ^ testatomic.c:106:1: note: in expansion of macro ?SDL_COMPILE_TIME_ASSERT? SDL_COMPILE_TIME_ASSERT(size, CountTo>0); /* check for rollover */ ^~~~~~~~~~~~~~~~~~~~~~~ Makefile:114: recipe for target 'testatomic' failed make: *** [testatomic] Error 1 If I remove the line SDL_COMPILE_TIME_ASSERT(size, CountTo>0); /* check for rollover */ it works, lazy to figure out the best way to do this.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
diff --git a/test/testatomic.c b/test/testatomic.c
index d371ef3..50e004f 100644
--- a/test/testatomic.c
+++ b/test/testatomic.c
@@ -103,7 +103,10 @@ void RunBasicTest()
 #define NInter (CountTo/CountInc/NThreads)
 #define Expect (CountTo-NInter*CountInc*NThreads)
 
-SDL_COMPILE_TIME_ASSERT(size, CountTo>0); /* check for rollover */
+enum {
+   CountTo_GreaterThanZero = CountTo > 0,
+};
+SDL_COMPILE_TIME_ASSERT(size, CountTo_GreaterThanZero); /* check for rollover */
 
 static SDL_atomic_t good = { 42 };