From 675e7a641a67eae2a27e5754e876d08d395c5da8 Mon Sep 17 00:00:00 2001 From: Tim Angus Date: Fri, 21 Oct 2011 22:48:53 +0000 Subject: [PATCH] * clang support --- Makefile | 2 +- code/asm/snapvector.c | 6 +++--- code/botlib/be_ai_chat.c | 2 +- code/game/g_cmds.c | 2 +- code/qcommon/common.c | 3 +++ code/qcommon/q_platform.h | 5 +++++ code/qcommon/unzip.c | 2 +- code/renderer/tr_model_iqm.c | 9 +++------ code/renderer/tr_scene.c | 2 +- 9 files changed, 19 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index 3bec5771..d0d3ba93 100644 --- a/Makefile +++ b/Makefile @@ -276,7 +276,7 @@ ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu")) endif BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \ - -pipe -DUSE_ICON + -Wno-self-assign -pipe -DUSE_ICON CLIENT_CFLAGS += $(SDL_CFLAGS) OPTIMIZEVM = -O3 -funroll-loops -fomit-frame-pointer diff --git a/code/asm/snapvector.c b/code/asm/snapvector.c index a70a1069..2ba248df 100644 --- a/code/asm/snapvector.c +++ b/code/asm/snapvector.c @@ -55,9 +55,9 @@ void qsnapvectorsse(vec3_t vec) #define QROUNDX87(src) \ "flds " src "\n" \ - "fistp " src "\n" \ - "fild " src "\n" \ - "fstp " src "\n" + "fistpl " src "\n" \ + "fildl " src "\n" \ + "fstpl " src "\n" void qsnapvectorx87(vec3_t vec) { diff --git a/code/botlib/be_ai_chat.c b/code/botlib/be_ai_chat.c index 10950e9d..cc489d55 100644 --- a/code/botlib/be_ai_chat.c +++ b/code/botlib/be_ai_chat.c @@ -1173,7 +1173,7 @@ bot_matchpiece_t *BotLoadMatchPieces(source_t *source, char *endtoken) { if (token.type == TT_NUMBER && (token.subtype & TT_INTEGER)) { - if (token.intvalue < 0 || token.intvalue >= MAX_MATCHVARIABLES) + if (token.intvalue >= MAX_MATCHVARIABLES) { SourceError(source, "can't have more than %d match variables\n", MAX_MATCHVARIABLES); FreeSource(source); diff --git a/code/game/g_cmds.c b/code/game/g_cmds.c index 2b86b66c..9d6794ea 100644 --- a/code/game/g_cmds.c +++ b/code/game/g_cmds.c @@ -954,7 +954,7 @@ static void G_VoiceTo( gentity_t *ent, gentity_t *other, int mode, const char *i return; } // no chatting to players in tournements - if ( (g_gametype.integer == GT_TOURNAMENT )) { + if ( g_gametype.integer == GT_TOURNAMENT ) { return; } diff --git a/code/qcommon/common.c b/code/qcommon/common.c index 2e39731c..4f9abfca 100644 --- a/code/qcommon/common.c +++ b/code/qcommon/common.c @@ -2329,7 +2329,10 @@ A way to force a bus error for development reasons ================= */ static void Com_Crash_f( void ) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wnull-dereference" * ( int * ) 0 = 0x12345678; +#pragma clang diagnostic pop } /* diff --git a/code/qcommon/q_platform.h b/code/qcommon/q_platform.h index 8bc2984c..f2baf1c7 100644 --- a/code/qcommon/q_platform.h +++ b/code/qcommon/q_platform.h @@ -179,7 +179,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define OS_STRING "kFreeBSD" #endif +#ifdef __clang__ +#define ID_INLINE static inline +#else #define ID_INLINE inline +#endif + #define PATH_SEP '/' #if defined __i386__ diff --git a/code/qcommon/unzip.c b/code/qcommon/unzip.c index b307e98d..128502ce 100644 --- a/code/qcommon/unzip.c +++ b/code/qcommon/unzip.c @@ -1250,7 +1250,7 @@ extern int ZEXPORT unzReadCurrentFile (file, buf, len) return UNZ_PARAMERROR; - if ((pfile_in_zip_read_info->read_buffer == NULL)) + if (pfile_in_zip_read_info->read_buffer == NULL) return UNZ_END_OF_LIST_OF_FILE; if (len==0) return 0; diff --git a/code/renderer/tr_model_iqm.c b/code/renderer/tr_model_iqm.c index cad3aa6f..98517d55 100644 --- a/code/renderer/tr_model_iqm.c +++ b/code/renderer/tr_model_iqm.c @@ -284,9 +284,9 @@ qboolean R_LoadIQM( model_t *mod, void *buffer, int filesize, const char *mod_na LL( triangle->vertex[1] ); LL( triangle->vertex[2] ); - if( triangle->vertex[0] < 0 || triangle->vertex[0] > header->num_vertexes || - triangle->vertex[1] < 0 || triangle->vertex[1] > header->num_vertexes || - triangle->vertex[2] < 0 || triangle->vertex[2] > header->num_vertexes ) { + if( triangle->vertex[0] > header->num_vertexes || + triangle->vertex[1] > header->num_vertexes || + triangle->vertex[2] > header->num_vertexes ) { return qfalse; } } @@ -323,9 +323,7 @@ qboolean R_LoadIQM( model_t *mod, void *buffer, int filesize, const char *mod_na mesh->first_vertex + mesh->num_vertexes > header->num_vertexes || mesh->first_triangle >= header->num_triangles || mesh->first_triangle + mesh->num_triangles > header->num_triangles || - mesh->name < 0 || mesh->name >= header->num_text || - mesh->material < 0 || mesh->material >= header->num_text ) { return qfalse; } @@ -354,7 +352,6 @@ qboolean R_LoadIQM( model_t *mod, void *buffer, int filesize, const char *mod_na if( joint->parent < -1 || joint->parent >= (int)header->num_joints || - joint->name < 0 || joint->name >= (int)header->num_text ) { return qfalse; } diff --git a/code/renderer/tr_scene.c b/code/renderer/tr_scene.c index 34e4141d..94910d61 100644 --- a/code/renderer/tr_scene.c +++ b/code/renderer/tr_scene.c @@ -219,7 +219,7 @@ void RE_AddRefEntityToScene( const refEntity_t *ent ) { } return; } - if ( ent->reType < 0 || ent->reType >= RT_MAX_REF_ENTITY_TYPE ) { + if ( (int)ent->reType < 0 || ent->reType >= RT_MAX_REF_ENTITY_TYPE ) { ri.Error( ERR_DROP, "RE_AddRefEntityToScene: bad reType %i", ent->reType ); }