diff --git a/polymer/eduke32/Android.mk b/polymer/eduke32/Android.mk index 9d7ecc3a9..364c04702 100644 --- a/polymer/eduke32/Android.mk +++ b/polymer/eduke32/Android.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := duke3d COMMONFLAGS := -x c++ -std=gnu++11 -fvisibility=hidden -fPIC -funsigned-char -fno-strict-aliasing -pthread \ -W -Wall -Wextra -Wpointer-arith -Wno-char-subscripts -Wno-missing-braces -Wwrite-strings -Wuninitialized \ -Wno-attributes -Wno-strict-overflow -Wno-unused-result -Wlogical-op -Wcast-qual \ + -Wno-unknown-warning-option -Wno-deprecated-register -Werror=return-type \ -DHAVE_SDL -DHAVE_VORBIS -DHAVE_JWZGLES -DHAVE_ANDROID -DRENDERTYPESDL=1 -DUSE_OPENGL -DNETCODE_DISABLE -DUSE_LIBVPX \ -DHAVE_INTTYPES -D_GNU_SOURCE=1 -D_REENTRANT @@ -16,8 +17,11 @@ LOCAL_ARM_NEON = true ifeq ($(NDK_DEBUG), 1) COMMONFLAGS += -O0 -ggdb -fno-omit-frame-pointer -fno-stack-protector -D_FORTIFY_SOURCE=0 -DDEBUGGINGAIDS=0 else - COMMONFLAGS += -O2 -DNDEBUG -DUSING_LTO -flto -D_FORTIFY_SOURCE=2 - LOCAL_LDFLAGS += -flto + COMMONFLAGS += -O2 -DNDEBUG -D_FORTIFY_SOURCE=2 + ifeq ($(findstring clang,$(NDK_TOOLCHAIN_VERSION)),) + COMMONFLAGS += -DUSING_LTO -flto + LOCAL_LDFLAGS += -flto + endif endif LOCAL_CFLAGS = $(COMMONFLAGS) diff --git a/polymer/eduke32/build/src/sdlayer.c b/polymer/eduke32/build/src/sdlayer.c index 9d1a2dd13..c7f8ee2b2 100644 --- a/polymer/eduke32/build/src/sdlayer.c +++ b/polymer/eduke32/build/src/sdlayer.c @@ -387,11 +387,17 @@ void eduke32_exit_return(int retval) { eduke32_return_value = retval; longjmp(eduke32_exit_jmp_buf, 1); + EDUKE32_UNREACHABLE_SECTION(return); } #endif #ifdef _WIN32 int32_t WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int32_t nCmdShow) +#elif defined __ANDROID__ +# ifdef __cplusplus +extern "C" int eduke32_android_main(int argc, char const *argv[]); +# endif +int eduke32_android_main(int argc, char const *argv[]) #else int32_t main(int32_t argc, char *argv[]) #endif diff --git a/polymer/eduke32/source/android/etcpak/Math.hpp b/polymer/eduke32/source/android/etcpak/Math.hpp index b42605cf8..3945605f5 100644 --- a/polymer/eduke32/source/android/etcpak/Math.hpp +++ b/polymer/eduke32/source/android/etcpak/Math.hpp @@ -1,7 +1,14 @@ #ifndef DARKRL__MATH_HPP__ #define DARKRL__MATH_HPP__ +#if defined __GNUC__ +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wunused-parameter" +#endif #include +#if defined __GNUC__ +# pragma GCC diagnostic pop +#endif #include "Types.hpp" diff --git a/polymer/eduke32/source/gamedef.c b/polymer/eduke32/source/gamedef.c index 61bfe7f91..790a2913c 100644 --- a/polymer/eduke32/source/gamedef.c +++ b/polymer/eduke32/source/gamedef.c @@ -1674,7 +1674,7 @@ static void C_GetNextVarType(int32_t type) #endif return; } - else if ((*textptr == '-')/* && !isdigit(*(textptr+1))*/) + else if (*textptr == '-'/* && !isdigit(*(textptr+1))*/) { if (EDUKE32_PREDICT_FALSE(type)) { @@ -1701,7 +1701,7 @@ static void C_GetNextVarType(int32_t type) } C_SkipComments(); //skip comments and whitespace - if ((*textptr == '[')) //read of array as a gamevar + if (*textptr == '[') //read of array as a gamevar { int32_t lLabelID = -1;