Skip to content

Commit

Permalink
Fixed bug 1646 - Warnings from clang with -Weverything
Browse files Browse the repository at this point in the history
  • Loading branch information
slouken committed Nov 15, 2016
1 parent 0d24495 commit 818d1d3
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 7 deletions.
10 changes: 10 additions & 0 deletions include/begin_code.h
Expand Up @@ -134,6 +134,16 @@
#endif
#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 */
#if !defined(__MACH__)
#ifndef NULL
Expand Down
6 changes: 4 additions & 2 deletions src/SDL_assert.c
Expand Up @@ -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__
ExitProcess(exitcode);
Expand All @@ -120,7 +121,8 @@ static void SDL_ExitProcess(int exitcode)
#endif
}

static void SDL_AbortAssertion(void)

static SDL_NORETURN void SDL_AbortAssertion(void)
{
SDL_Quit();
SDL_ExitProcess(42);
Expand Down
2 changes: 1 addition & 1 deletion src/test/SDL_test_fuzzer.c
Expand Up @@ -443,7 +443,7 @@ SDLTest_RandomSint64BoundaryValue(Sint64 boundary1, Sint64 boundary2, SDL_bool v
float
SDLTest_RandomUnitFloat()
{
return (float) SDLTest_RandomUint32() / UINT_MAX;
return SDLTest_RandomUint32() / (float) UINT_MAX;
}

float
Expand Down
2 changes: 1 addition & 1 deletion src/test/SDL_test_harness.c
Expand Up @@ -206,7 +206,7 @@ SDLTest_SetTestTimeout(int timeout, void (*callback)())
/**
* \brief Timeout handler. Aborts test run and exits harness process.
*/
static void
static SDL_NORETURN void
SDLTest_BailOut()
{
SDLTest_LogError("TestCaseTimeout timer expired. Aborting test run.");
Expand Down
4 changes: 3 additions & 1 deletion src/test/SDL_test_log.c
Expand Up @@ -26,7 +26,9 @@
*/

/* quiet windows compiler warnings */
#define _CRT_SECURE_NO_WARNINGS
#if defined(_MSC_VER)
# define _CRT_SECURE_NO_WARNINGS
#endif

#include "SDL_config.h"

Expand Down
10 changes: 8 additions & 2 deletions src/video/SDL_blit_N.c
Expand Up @@ -1113,6 +1113,7 @@ Blit_RGB101010_index8(SDL_BlitInfo * info)
(((*src)&0x0000F800)>>6)| \
(((*src)&0x000000F8)>>3)); \
}
#ifndef USE_DUFFS_LOOP
#define RGB888_RGB555_TWO(dst, src) { \
*(Uint32 *)(dst) = (((((src[HI])&0x00F80000)>>9)| \
(((src[HI])&0x0000F800)>>6)| \
Expand All @@ -1121,6 +1122,7 @@ Blit_RGB101010_index8(SDL_BlitInfo * info)
(((src[LO])&0x0000F800)>>6)| \
(((src[LO])&0x000000F8)>>3); \
}
#endif
static void
Blit_RGB888_RGB555(SDL_BlitInfo * info)
{
Expand Down Expand Up @@ -1237,6 +1239,7 @@ Blit_RGB888_RGB555(SDL_BlitInfo * info)
(((*src)&0x0000FC00)>>5)| \
(((*src)&0x000000F8)>>3)); \
}
#ifndef USE_DUFFS_LOOP
#define RGB888_RGB565_TWO(dst, src) { \
*(Uint32 *)(dst) = (((((src[HI])&0x00F80000)>>8)| \
(((src[HI])&0x0000FC00)>>5)| \
Expand All @@ -1245,6 +1248,7 @@ Blit_RGB888_RGB555(SDL_BlitInfo * info)
(((src[LO])&0x0000FC00)>>5)| \
(((src[LO])&0x000000F8)>>3); \
}
#endif
static void
Blit_RGB888_RGB565(SDL_BlitInfo * info)
{
Expand Down Expand Up @@ -2459,15 +2463,17 @@ BlitNto2101010(SDL_BlitInfo * info)
}

/* Normal N to N optimized blitters */
#define NO_ALPHA 1
#define SET_ALPHA 2
#define COPY_ALPHA 4
struct blit_table
{
Uint32 srcR, srcG, srcB;
int dstbpp;
Uint32 dstR, dstG, dstB;
Uint32 blit_features;
SDL_BlitFunc blitfunc;
enum
{ NO_ALPHA = 1, SET_ALPHA = 2, COPY_ALPHA = 4 } alpha;
Uint32 alpha; // bitwise NO_ALPHA, SET_ALPHA, COPY_ALPHA
};
static const struct blit_table normal_blit_1[] = {
/* Default for 8-bit RGB source, never optimized */
Expand Down
3 changes: 3 additions & 0 deletions src/video/x11/SDL_x11opengles.h
Expand Up @@ -30,6 +30,9 @@

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;

/* OpenGLES functions */
Expand Down

0 comments on commit 818d1d3

Please sign in to comment.