Fixed bug 1646 - Warnings from clang with -Weverything

This commit is contained in:
Sam Lantinga 2016-11-15 01:30:08 -08:00
parent 0d24495b15
commit 818d1d3e80
7 changed files with 30 additions and 7 deletions

View File

@ -134,6 +134,16 @@
#endif #endif
#endif /* SDL_FORCE_INLINE not defined */ #endif /* SDL_FORCE_INLINE not defined */
#ifndef SDL_NORETURN
#if defined(__GNUC__)
#define SDL_NORETURN __attribute__((noreturn))
#elif defined(_MSC_VER)
#define SDL_NORETURN __declspec(noreturn)
#else
#define SDL_NORETURN
#endif
#endif /* SDL_NORETURN not defined */
/* Apparently this is needed by several Windows compilers */ /* Apparently this is needed by several Windows compilers */
#if !defined(__MACH__) #if !defined(__MACH__)
#ifndef NULL #ifndef NULL

View File

@ -111,7 +111,8 @@ static void SDL_GenerateAssertionReport(void)
} }
} }
static void SDL_ExitProcess(int exitcode)
static SDL_NORETURN void SDL_ExitProcess(int exitcode)
{ {
#ifdef __WIN32__ #ifdef __WIN32__
ExitProcess(exitcode); ExitProcess(exitcode);
@ -120,7 +121,8 @@ static void SDL_ExitProcess(int exitcode)
#endif #endif
} }
static void SDL_AbortAssertion(void)
static SDL_NORETURN void SDL_AbortAssertion(void)
{ {
SDL_Quit(); SDL_Quit();
SDL_ExitProcess(42); SDL_ExitProcess(42);

View File

@ -443,7 +443,7 @@ SDLTest_RandomSint64BoundaryValue(Sint64 boundary1, Sint64 boundary2, SDL_bool v
float float
SDLTest_RandomUnitFloat() SDLTest_RandomUnitFloat()
{ {
return (float) SDLTest_RandomUint32() / UINT_MAX; return SDLTest_RandomUint32() / (float) UINT_MAX;
} }
float float

View File

@ -206,7 +206,7 @@ SDLTest_SetTestTimeout(int timeout, void (*callback)())
/** /**
* \brief Timeout handler. Aborts test run and exits harness process. * \brief Timeout handler. Aborts test run and exits harness process.
*/ */
static void static SDL_NORETURN void
SDLTest_BailOut() SDLTest_BailOut()
{ {
SDLTest_LogError("TestCaseTimeout timer expired. Aborting test run."); SDLTest_LogError("TestCaseTimeout timer expired. Aborting test run.");

View File

@ -26,7 +26,9 @@
*/ */
/* quiet windows compiler warnings */ /* quiet windows compiler warnings */
#define _CRT_SECURE_NO_WARNINGS #if defined(_MSC_VER)
# define _CRT_SECURE_NO_WARNINGS
#endif
#include "SDL_config.h" #include "SDL_config.h"

View File

@ -1113,6 +1113,7 @@ Blit_RGB101010_index8(SDL_BlitInfo * info)
(((*src)&0x0000F800)>>6)| \ (((*src)&0x0000F800)>>6)| \
(((*src)&0x000000F8)>>3)); \ (((*src)&0x000000F8)>>3)); \
} }
#ifndef USE_DUFFS_LOOP
#define RGB888_RGB555_TWO(dst, src) { \ #define RGB888_RGB555_TWO(dst, src) { \
*(Uint32 *)(dst) = (((((src[HI])&0x00F80000)>>9)| \ *(Uint32 *)(dst) = (((((src[HI])&0x00F80000)>>9)| \
(((src[HI])&0x0000F800)>>6)| \ (((src[HI])&0x0000F800)>>6)| \
@ -1121,6 +1122,7 @@ Blit_RGB101010_index8(SDL_BlitInfo * info)
(((src[LO])&0x0000F800)>>6)| \ (((src[LO])&0x0000F800)>>6)| \
(((src[LO])&0x000000F8)>>3); \ (((src[LO])&0x000000F8)>>3); \
} }
#endif
static void static void
Blit_RGB888_RGB555(SDL_BlitInfo * info) Blit_RGB888_RGB555(SDL_BlitInfo * info)
{ {
@ -1237,6 +1239,7 @@ Blit_RGB888_RGB555(SDL_BlitInfo * info)
(((*src)&0x0000FC00)>>5)| \ (((*src)&0x0000FC00)>>5)| \
(((*src)&0x000000F8)>>3)); \ (((*src)&0x000000F8)>>3)); \
} }
#ifndef USE_DUFFS_LOOP
#define RGB888_RGB565_TWO(dst, src) { \ #define RGB888_RGB565_TWO(dst, src) { \
*(Uint32 *)(dst) = (((((src[HI])&0x00F80000)>>8)| \ *(Uint32 *)(dst) = (((((src[HI])&0x00F80000)>>8)| \
(((src[HI])&0x0000FC00)>>5)| \ (((src[HI])&0x0000FC00)>>5)| \
@ -1245,6 +1248,7 @@ Blit_RGB888_RGB555(SDL_BlitInfo * info)
(((src[LO])&0x0000FC00)>>5)| \ (((src[LO])&0x0000FC00)>>5)| \
(((src[LO])&0x000000F8)>>3); \ (((src[LO])&0x000000F8)>>3); \
} }
#endif
static void static void
Blit_RGB888_RGB565(SDL_BlitInfo * info) Blit_RGB888_RGB565(SDL_BlitInfo * info)
{ {
@ -2459,6 +2463,9 @@ BlitNto2101010(SDL_BlitInfo * info)
} }
/* Normal N to N optimized blitters */ /* Normal N to N optimized blitters */
#define NO_ALPHA 1
#define SET_ALPHA 2
#define COPY_ALPHA 4
struct blit_table struct blit_table
{ {
Uint32 srcR, srcG, srcB; Uint32 srcR, srcG, srcB;
@ -2466,8 +2473,7 @@ struct blit_table
Uint32 dstR, dstG, dstB; Uint32 dstR, dstG, dstB;
Uint32 blit_features; Uint32 blit_features;
SDL_BlitFunc blitfunc; SDL_BlitFunc blitfunc;
enum Uint32 alpha; // bitwise NO_ALPHA, SET_ALPHA, COPY_ALPHA
{ NO_ALPHA = 1, SET_ALPHA = 2, COPY_ALPHA = 4 } alpha;
}; };
static const struct blit_table normal_blit_1[] = { static const struct blit_table normal_blit_1[] = {
/* Default for 8-bit RGB source, never optimized */ /* Default for 8-bit RGB source, never optimized */

View File

@ -30,6 +30,9 @@
typedef struct SDL_PrivateGLESData typedef struct SDL_PrivateGLESData
{ {
/* 1401 If the struct-declaration-list contains no named members, the behavior is undefined. */
/* warning: empty struct has size 0 in C, size 1 in C++ [-Wc++-compat] */
int dummy;
} SDL_PrivateGLESData; } SDL_PrivateGLESData;
/* OpenGLES functions */ /* OpenGLES functions */