mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
games-fps/worldofpadman: Fix build w/ clang
Closes: https://bugs.gentoo.org/739246 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
152
games-fps/worldofpadman/files/worldofpadman-1.6-clang.patch
Normal file
152
games-fps/worldofpadman/files/worldofpadman-1.6-clang.patch
Normal file
@@ -0,0 +1,152 @@
|
||||
From 675e7a641a67eae2a27e5754e876d08d395c5da8 Mon Sep 17 00:00:00 2001
|
||||
From: Tim Angus <tim@ngus.net>
|
||||
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/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 3bec57714..d0d3ba939 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 a70a1069c..2ba248dfe 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 10950e9d8..cc489d557 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/qcommon/common.c b/code/qcommon/common.c
|
||||
index 2e39731c0..4f9abfcac 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 8bc2984ca..f2baf1c75 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 b307e98d4..128502ce0 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 cad3aa6fd..98517d559 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 34e4141d3..94910d611 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 );
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ DOCS=( id-readme.txt IOQ3-README voip-readme.txt ../XTRAS/{changelog.txt,sounds_
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-gentoo.patch
|
||||
"${WORKDIR}"/${P}-bison-3.patch # bug 921029, in 1.6.1
|
||||
"${FILESDIR}"/${P}-clang.patch # bug 944329, in 1.6.0
|
||||
"${FILESDIR}"/${P}-c23.patch # bug 944329, git main
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user