From 0060dab892cbac0c09145e583fa47919297a331d Mon Sep 17 00:00:00 2001 From: Randy Heit Date: Wed, 8 Apr 2009 04:47:44 +0000 Subject: [PATCH] - Last was incomplete commit. SVN r1528 (trunk) --- src/CMakeLists.txt | 34 +++++++++++++++++----------------- src/v_text.cpp | 2 +- zdoom.vcproj | 8 ++++---- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d8025b3b4..064bdd118 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,6 +4,7 @@ if( COMMAND cmake_policy ) cmake_policy( SET CMP0003 NEW ) endif( COMMAND cmake_policy ) +include( CheckCXXSourceCompiles ) include( CheckFunctionExists ) include( FindPkgConfig ) @@ -151,23 +152,6 @@ else( WIN32 ) include_directories( ${FPU_CONTROL_DIR} ) add_definitions( -DHAVE_FPU_CONTROL ) endif( FPU_CONTROL_DIR ) - - include( CheckCXXSourceCompiles ) - CHECK_CXX_SOURCE_COMPILES( - "#include - int main() { va_list list1, list2; va_copy(list1, list2); return 0; }" - HAS_VA_COPY ) - if( NOT HAS_VA_COPY ) - CHECK_CXX_SOURCE_COMPILES( - "#include - int main() { va_list list1, list2; __va_copy(list1, list2); return 0; }" - HAS___VA_COPY ) - if( HAS___VA_COPY ) - add_definitions( -Dva_copy=__va_copy ) - else( HAS___VA_COPY ) - message( SEND_ERROR "Compiler does not support va_copy or __va_copy" ) - endif( HAS___VA_COPY ) - endif( NOT HAS_VA_COPY ) endif( WIN32 ) # Decide on the name of the FMOD library we want to use. @@ -369,6 +353,22 @@ if( UNIX ) endif( NOT CLOCK_GETTIME_IN_RT ) endif( UNIX ) +CHECK_CXX_SOURCE_COMPILES( + "#include + int main() { va_list list1, list2; va_copy(list1, list2); return 0; }" + HAS_VA_COPY ) +if( NOT HAS_VA_COPY ) + CHECK_CXX_SOURCE_COMPILES( + "#include + int main() { va_list list1, list2; __va_copy(list1, list2); return 0; }" + HAS___VA_COPY ) + if( HAS___VA_COPY ) + add_definitions( -Dva_copy=__va_copy ) + else( HAS___VA_COPY ) + add_definitions( -DNO_VA_COPY ) + endif( HAS___VA_COPY ) +endif( NOT HAS_VA_COPY ) + # Update svnrevision.h add_custom_target( revision_check ALL diff --git a/src/v_text.cpp b/src/v_text.cpp index 6e7d96b46..2c758d5fa 100644 --- a/src/v_text.cpp +++ b/src/v_text.cpp @@ -136,7 +136,7 @@ void STACK_ARGS DCanvas::DrawText (FFont *font, int normalcolor, int x, int y, c case TAG_MORE: more_p = va_arg (tags, va_list*); va_end (tags); -#ifdef __GNUC__ +#ifndef NO_VA_COPY va_copy (tags, *more_p); #else tags = *more_p; diff --git a/zdoom.vcproj b/zdoom.vcproj index 6fb652b8a..33a9cb130 100644 --- a/zdoom.vcproj +++ b/zdoom.vcproj @@ -57,7 +57,7 @@ OmitFramePointers="true" WholeProgramOptimization="false" AdditionalIncludeDirectories="src\win32;src\sound;src;zlib;src\g_shared;src\g_doom;src\g_raven;src\g_heretic;src\g_hexen;src\g_strife;"jpeg-6b";snes_spc\snes_spc;gdtoa;bzip2;lzma\C" - PreprocessorDefinitions="NDEBUG,WIN32,_WIN32,_WINDOWS,HAVE_STRUPR,HAVE_FILELENGTH" + PreprocessorDefinitions="NDEBUG,WIN32,_WIN32,_WINDOWS,HAVE_STRUPR,HAVE_FILELENGTH;NO_VA_COPY" StringPooling="true" ExceptionHandling="1" RuntimeLibrary="0" @@ -178,7 +178,7 @@ FavorSizeOrSpeed="1" OmitFramePointers="true" AdditionalIncludeDirectories="src\win32;src\sound;src;zlib;src\g_shared;src\g_doom;src\g_raven;src\g_heretic;src\g_hexen;src\g_strife;"jpeg-6b";snes_spc\snes_spc;gdtoa;bzip2;lzma\C" - PreprocessorDefinitions="NDEBUG,WIN32,_WIN32,_WINDOWS,HAVE_STRUPR,HAVE_FILELENGTH" + PreprocessorDefinitions="NDEBUG,WIN32,_WIN32,_WINDOWS,HAVE_STRUPR,HAVE_FILELENGTH;NO_VA_COPY" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="false" @@ -287,7 +287,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="src\win32;src\sound;src;zlib;src\g_shared;src\g_doom;src\g_raven;src\g_heretic;src\g_hexen;src\g_strife;"jpeg-6b";snes_spc\snes_spc;gdtoa;bzip2;lzma\C" - PreprocessorDefinitions="WIN32,_DEBUG,_WIN32,_WINDOWS,_CRTDBG_MAP_ALLOC,HAVE_STRUPR,HAVE_FILELENGTH" + PreprocessorDefinitions="WIN32,_DEBUG,_WIN32,_WINDOWS,_CRTDBG_MAP_ALLOC,HAVE_STRUPR,HAVE_FILELENGTH;NO_VA_COPY" MinimalRebuild="true" RuntimeLibrary="1" EnableFunctionLevelLinking="true" @@ -393,7 +393,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="src\win32;src\sound;src;zlib;src\g_shared;src\g_doom;src\g_raven;src\g_heretic;src\g_hexen;src\g_strife;"jpeg-6b";snes_spc\snes_spc;gdtoa;bzip2;lzma\C" - PreprocessorDefinitions="WIN32,_DEBUG,_WIN32,_WINDOWS,_CRTDBG_MAP_ALLOC,HAVE_STRUPR,HAVE_FILELENGTH" + PreprocessorDefinitions="WIN32,_DEBUG,_WIN32,_WINDOWS,_CRTDBG_MAP_ALLOC,HAVE_STRUPR,HAVE_FILELENGTH;NO_VA_COPY" MinimalRebuild="true" RuntimeLibrary="1" EnableFunctionLevelLinking="true"