diff --git a/code/nel/include/nel/misc/hierarchical_timer.h b/code/nel/include/nel/misc/hierarchical_timer.h index 10f9b461e..1c1818c69 100644 --- a/code/nel/include/nel/misc/hierarchical_timer.h +++ b/code/nel/include/nel/misc/hierarchical_timer.h @@ -74,7 +74,7 @@ namespace NLMISC { -#ifdef NL_OS_WINDOWS +#ifdef NL_COMP_VC // Visual C++ warning : ebp maybe modified # pragma warning(disable:4731) #endif diff --git a/code/nel/include/nel/misc/types_nl.h b/code/nel/include/nel/misc/types_nl.h index 388505bd9..a6d718b98 100644 --- a/code/nel/include/nel/misc/types_nl.h +++ b/code/nel/include/nel/misc/types_nl.h @@ -152,7 +152,7 @@ // // NL_ISO_TEMPLATE_SPEC can be used in front of an instanciated class-template member data definition, // because sometimes MSVC++ 6 produces an error C2908 with a definition with template <>. -#if defined(NL_OS_WINDOWS) || (defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ <= 3))) +#if defined(NL_COMP_VC) || (defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ <= 3))) # define NL_ISO_SYNTAX 0 # define NL_ISO_TEMPLATE_SPEC #else @@ -398,8 +398,8 @@ typedef uint16 ucchar; // To define a 64bits constant; ie: UINT64_CONSTANT(0x123456781234) -#ifdef NL_OS_WINDOWS -# if defined(NL_COMP_VC) && (NL_COMP_VC_VERSION >= 80) +#ifdef NL_COMP_VC +# if (NL_COMP_VC_VERSION >= 80) # define INT64_CONSTANT(c) (c##LL) # define SINT64_CONSTANT(c) (c##LL) # define UINT64_CONSTANT(c) (c##LL) diff --git a/code/nel/src/misc/mem_displayer.cpp b/code/nel/src/misc/mem_displayer.cpp index 6c6d51d43..fbc0c0236 100644 --- a/code/nel/src/misc/mem_displayer.cpp +++ b/code/nel/src/misc/mem_displayer.cpp @@ -150,7 +150,11 @@ static string getSourceInfo (DWORD_TYPE addr) return str; } -static uintptr_t __stdcall GetModuleBase(HANDLE hProcess, uintptr_t dwReturnAddress) +#ifdef NL_OS_WIN64 +static DWORD64 __stdcall GetModuleBase(HANDLE hProcess, DWORD64 dwReturnAddress) +#else +static DWORD __stdcall GetModuleBase(HANDLE hProcess, DWORD dwReturnAddress) +#endif { IMAGEHLP_MODULE moduleInfo; @@ -291,12 +295,13 @@ static void displayCallStack (CLog *log) #ifdef NL_OS_WIN64 MachineType = IMAGE_FILE_MACHINE_AMD64; + BOOL res = StackWalk64(MachineType, GetCurrentProcess(), GetCurrentThread(), &callStack, + NULL, NULL, SymFunctionTableAccess, GetModuleBase, NULL); #else MachineType = IMAGE_FILE_MACHINE_I386; -#endif - - BOOL res = StackWalk (MachineType, GetCurrentProcess(), GetCurrentThread(), &callStack, + BOOL res = StackWalk(MachineType, GetCurrentProcess(), GetCurrentThread(), &callStack, NULL, NULL, SymFunctionTableAccess, GetModuleBase, NULL); +#endif /* if (res == FALSE) { diff --git a/code/ryzom/common/src/game_share/mirror_prop_value.h b/code/ryzom/common/src/game_share/mirror_prop_value.h index 1deb06f03..cbc251be2 100644 --- a/code/ryzom/common/src/game_share/mirror_prop_value.h +++ b/code/ryzom/common/src/game_share/mirror_prop_value.h @@ -1150,7 +1150,7 @@ public: typedef _CMirrorPropValueListIterator iterator; typedef _CCMirrorPropValueListIterator const_iterator; -#ifdef NL_OS_WINDOWS +#ifdef NL_COMP_VC friend iterator; // MSVC friend const_iterator; #else @@ -1192,7 +1192,7 @@ public: // If changing this struct, don't forget to change the places where it is initialized TSharedListRow Next; T Value; -#ifdef NL_OS_WINDOWS +#ifdef NL_COMP_VC }; #else } __attribute__((packed)); @@ -1237,7 +1237,7 @@ public: typedef _CMirrorPropValueListIterator iterator; typedef _CCMirrorPropValueListIterator const_iterator; -#ifdef NL_OS_WINDOWS +#ifdef NL_COMP_VC friend iterator; // MSVC friend const_iterator; #else @@ -1280,7 +1280,7 @@ public: // If changing this struct, don't forget to change the places where it is initialized TSharedListRow Next; uint64 Value; -#ifdef NL_OS_WINDOWS +#ifdef NL_COMP_VC }; #else } __attribute__((packed)); diff --git a/code/ryzom/server/src/ai_service/ai_entity_physical.h b/code/ryzom/server/src/ai_service/ai_entity_physical.h index c3a8fa966..5eb30b34f 100644 --- a/code/ryzom/server/src/ai_service/ai_entity_physical.h +++ b/code/ryzom/server/src/ai_service/ai_entity_physical.h @@ -55,7 +55,9 @@ template class CTargetable { #ifdef NL_OS_WINDOWS - friend class CTargetable; +# ifndef NL_COMP_MINGW + friend class CTargetable; +# endif #endif public: typedef NLMISC::CDbgPtr TPtr; diff --git a/code/ryzom/server/src/ai_service/ai_grp_npc.cpp b/code/ryzom/server/src/ai_service/ai_grp_npc.cpp index 937a6f421..056293a25 100644 --- a/code/ryzom/server/src/ai_service/ai_grp_npc.cpp +++ b/code/ryzom/server/src/ai_service/ai_grp_npc.cpp @@ -59,7 +59,7 @@ CSpawnGroupNpc::CSpawnGroupNpc(CPersistent& owner) _LastUpdate = (randomVal>=0)?randomVal:CTimeInterface::gameCycle(); _LastBotUpdate = CTimeInterface::gameCycle(); activityProfile().setAIProfile(new CGrpProfileNormal(this)); - _BotUpdateTimer.set((CAIS::rand32(40)+((long)this>>2))%20); // start with a random value. + _BotUpdateTimer.set((CAIS::rand32(40)+((intptr_t)this>>2))%20); // start with a random value. resetSlowUpdateCycle(); _DespawnBotsWhenNoMoreHandleTimerActive = false; } diff --git a/code/ryzom/server/src/ai_service/service_main.cpp b/code/ryzom/server/src/ai_service/service_main.cpp index 4bdb2c766..130ea1acb 100644 --- a/code/ryzom/server/src/ai_service/service_main.cpp +++ b/code/ryzom/server/src/ai_service/service_main.cpp @@ -38,7 +38,9 @@ #include "ais_user_models.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/ai_service/stdpch.h b/code/ryzom/server/src/ai_service/stdpch.h index d0978b2f7..5ad1d5f28 100644 --- a/code/ryzom/server/src/ai_service/stdpch.h +++ b/code/ryzom/server/src/ai_service/stdpch.h @@ -191,7 +191,9 @@ namespace MULTI_LINE_FORMATER { #include "ai_share/world_map.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/backup_service/backup_service.cpp b/code/ryzom/server/src/backup_service/backup_service.cpp index 698cbc02f..aed50a32c 100644 --- a/code/ryzom/server/src/backup_service/backup_service.cpp +++ b/code/ryzom/server/src/backup_service/backup_service.cpp @@ -30,7 +30,9 @@ #include "web_connection.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/entities_game_service/CMakeLists.txt b/code/ryzom/server/src/entities_game_service/CMakeLists.txt index d57ff9302..15e7794a4 100644 --- a/code/ryzom/server/src/entities_game_service/CMakeLists.txt +++ b/code/ryzom/server/src/entities_game_service/CMakeLists.txt @@ -111,8 +111,8 @@ NL_ADD_RUNTIME_FLAGS(ryzom_entities_game_service) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) -IF(WITH_PCH) +IF(WITH_PCH AND NOT MINGW) # FIXME: PCH too large (> 130MB), crashes cc1plus under MinGW ADD_NATIVE_PRECOMPILED_HEADER(ryzom_entities_game_service ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.h ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.cpp) -ENDIF(WITH_PCH) +ENDIF(WITH_PCH AND NOT MINGW) INSTALL(TARGETS ryzom_entities_game_service RUNTIME DESTINATION sbin COMPONENT services) diff --git a/code/ryzom/server/src/entities_game_service/entities_game_service.cpp b/code/ryzom/server/src/entities_game_service/entities_game_service.cpp index 085d67aae..8ca025870 100644 --- a/code/ryzom/server/src/entities_game_service/entities_game_service.cpp +++ b/code/ryzom/server/src/entities_game_service/entities_game_service.cpp @@ -127,7 +127,9 @@ #include "server_share/stl_allocator_checker.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/frontend_service/fe_receive_task.cpp b/code/ryzom/server/src/frontend_service/fe_receive_task.cpp index 4eb85134a..3c958f461 100644 --- a/code/ryzom/server/src/frontend_service/fe_receive_task.cpp +++ b/code/ryzom/server/src/frontend_service/fe_receive_task.cpp @@ -22,7 +22,9 @@ #include "fe_types.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #elif defined NL_OS_UNIX diff --git a/code/ryzom/server/src/frontend_service/frontend_service.cpp b/code/ryzom/server/src/frontend_service/frontend_service.cpp index e43b9ccce..cbf4a5610 100644 --- a/code/ryzom/server/src/frontend_service/frontend_service.cpp +++ b/code/ryzom/server/src/frontend_service/frontend_service.cpp @@ -57,7 +57,9 @@ #include "uid_impulsions.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/frontend_service/module_manager.cpp b/code/ryzom/server/src/frontend_service/module_manager.cpp index 24def9d18..f0d3e0514 100644 --- a/code/ryzom/server/src/frontend_service/module_manager.cpp +++ b/code/ryzom/server/src/frontend_service/module_manager.cpp @@ -178,7 +178,7 @@ void CModuleManager::addModule(uint id, TModuleExecCallback cb) { nlassert(id < _MaxModules); nlassert(cb != NULL); - nldebug("FEMMAN: [%s] Added module %d (Cb=%p) to stack", _StackName.c_str(), id, cb); + nldebug("FEMMAN: [%s] Added module %d (Cb=%p) to stack", _StackName.c_str(), id, (void *)cb); _ExecutionStack.push_back(CExecutionItem()); @@ -372,7 +372,7 @@ void CModuleManager::executeStack() nlwarning("FEMMAN: Unexpected ExecutionItem type (%d) at item %d of the execution stack %s", item.Type, i, _StackName.c_str()); uint j; for (j=0; j<_ExecutionStack.size(); ++j) - nlwarning("FEMMAN: > %d [%s] Id=%d Cb=%p", j, (item.Type == Module) ? "MOD" : (item.Type == Wait) ? "WAIT" : "ERR", item.Id, item.Cb); + nlwarning("FEMMAN: > %d [%s] Id=%d Cb=%p", j, (item.Type == Module) ? "MOD" : (item.Type == Wait) ? "WAIT" : "ERR", item.Id, (void *)item.Cb); nlerror("FEMMAN: Error in execution stack %s", _StackName.c_str()); } } diff --git a/code/ryzom/server/src/general_utilities_service/service_main.cpp b/code/ryzom/server/src/general_utilities_service/service_main.cpp index 7a19d90b7..af61c4c71 100644 --- a/code/ryzom/server/src/general_utilities_service/service_main.cpp +++ b/code/ryzom/server/src/general_utilities_service/service_main.cpp @@ -34,7 +34,9 @@ #include "service_main.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/gpm_service/gpm_service.cpp b/code/ryzom/server/src/gpm_service/gpm_service.cpp index 0756f641e..f6011fc82 100644 --- a/code/ryzom/server/src/gpm_service/gpm_service.cpp +++ b/code/ryzom/server/src/gpm_service/gpm_service.cpp @@ -50,7 +50,9 @@ #include "sheets.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/input_output_service/input_output_service.cpp b/code/ryzom/server/src/input_output_service/input_output_service.cpp index d58de20a4..de3d73458 100644 --- a/code/ryzom/server/src/input_output_service/input_output_service.cpp +++ b/code/ryzom/server/src/input_output_service/input_output_service.cpp @@ -47,7 +47,9 @@ */ #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/log_analyser_service/log_analyser_service.cpp b/code/ryzom/server/src/log_analyser_service/log_analyser_service.cpp index 3725299d6..823a8d1e4 100644 --- a/code/ryzom/server/src/log_analyser_service/log_analyser_service.cpp +++ b/code/ryzom/server/src/log_analyser_service/log_analyser_service.cpp @@ -20,7 +20,9 @@ #include #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/logger_service/logger_service.cpp b/code/ryzom/server/src/logger_service/logger_service.cpp index dba4cae57..cb51c6a6d 100644 --- a/code/ryzom/server/src/logger_service/logger_service.cpp +++ b/code/ryzom/server/src/logger_service/logger_service.cpp @@ -36,7 +36,9 @@ #include "log_storage.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/mail_forum_service/mail_forum_service.cpp b/code/ryzom/server/src/mail_forum_service/mail_forum_service.cpp index 20c32173e..f902251e9 100644 --- a/code/ryzom/server/src/mail_forum_service/mail_forum_service.cpp +++ b/code/ryzom/server/src/mail_forum_service/mail_forum_service.cpp @@ -25,7 +25,9 @@ #include "hof_generator.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/mirror_service/data_set_ms.h b/code/ryzom/server/src/mirror_service/data_set_ms.h index 4e40557ad..4fc9a4bfc 100644 --- a/code/ryzom/server/src/mirror_service/data_set_ms.h +++ b/code/ryzom/server/src/mirror_service/data_set_ms.h @@ -338,7 +338,7 @@ public: // If changing this struct, don't forget to change the places where it is initialized TSharedListRow Next; T Value; -#ifdef NL_OS_WINDOWS +#ifdef NL_COMP_VC }; #else } __attribute__((packed)); @@ -409,7 +409,7 @@ void push_front( const NLMISC::CEntityId& value ); // If changing this struct, don't forget to change the places where it is initialized TSharedListRow Next; uint64 Value; -#ifdef NL_OS_WINDOWS +#ifdef NL_COMP_VC }; #else } __attribute__((packed)); diff --git a/code/ryzom/server/src/mirror_service/mirror_service.cpp b/code/ryzom/server/src/mirror_service/mirror_service.cpp index 9d1952cc7..d29ca4f3d 100644 --- a/code/ryzom/server/src/mirror_service/mirror_service.cpp +++ b/code/ryzom/server/src/mirror_service/mirror_service.cpp @@ -25,7 +25,9 @@ #include #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/monitor_service/service_main.cpp b/code/ryzom/server/src/monitor_service/service_main.cpp index 0ad027d86..a0e577269 100644 --- a/code/ryzom/server/src/monitor_service/service_main.cpp +++ b/code/ryzom/server/src/monitor_service/service_main.cpp @@ -28,7 +28,9 @@ #include "messages.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include # include typedef unsigned long ulong; diff --git a/code/ryzom/server/src/patchman_service/service_main.cpp b/code/ryzom/server/src/patchman_service/service_main.cpp index c26ac0924..8bf99a275 100644 --- a/code/ryzom/server/src/patchman_service/service_main.cpp +++ b/code/ryzom/server/src/patchman_service/service_main.cpp @@ -36,8 +36,10 @@ #include "patchman_tester.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX -# include +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif +# include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/pd_reference_builder/reference_builder_service.cpp b/code/ryzom/server/src/pd_reference_builder/reference_builder_service.cpp index 6bb687e8e..20eda6c18 100644 --- a/code/ryzom/server/src/pd_reference_builder/reference_builder_service.cpp +++ b/code/ryzom/server/src/pd_reference_builder/reference_builder_service.cpp @@ -21,7 +21,9 @@ #include "delta_builder_task.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/pd_support_service/service_main.cpp b/code/ryzom/server/src/pd_support_service/service_main.cpp index 81bb66f94..447f8f2c4 100644 --- a/code/ryzom/server/src/pd_support_service/service_main.cpp +++ b/code/ryzom/server/src/pd_support_service/service_main.cpp @@ -34,7 +34,9 @@ #include "service_main.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/persistant_data_service/persistant_data_service.cpp b/code/ryzom/server/src/persistant_data_service/persistant_data_service.cpp index 8a7a9cd6a..9fb21d1c9 100644 --- a/code/ryzom/server/src/persistant_data_service/persistant_data_service.cpp +++ b/code/ryzom/server/src/persistant_data_service/persistant_data_service.cpp @@ -19,7 +19,9 @@ #include "db_manager.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/ryzom_admin_service/ryzom_admin_service.cpp b/code/ryzom/server/src/ryzom_admin_service/ryzom_admin_service.cpp index a7c1b6f66..54701aff7 100644 --- a/code/ryzom/server/src/ryzom_admin_service/ryzom_admin_service.cpp +++ b/code/ryzom/server/src/ryzom_admin_service/ryzom_admin_service.cpp @@ -22,7 +22,9 @@ #include "nel/net/service.h" #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/shard_unifier_service/shard_unifier_service.cpp b/code/ryzom/server/src/shard_unifier_service/shard_unifier_service.cpp index d22cf82a9..50b4eb419 100644 --- a/code/ryzom/server/src/shard_unifier_service/shard_unifier_service.cpp +++ b/code/ryzom/server/src/shard_unifier_service/shard_unifier_service.cpp @@ -24,7 +24,9 @@ //#include #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS diff --git a/code/ryzom/server/src/tick_service/tick_service.cpp b/code/ryzom/server/src/tick_service/tick_service.cpp index a25c1c83e..95f609571 100644 --- a/code/ryzom/server/src/tick_service/tick_service.cpp +++ b/code/ryzom/server/src/tick_service/tick_service.cpp @@ -31,7 +31,9 @@ #include #ifdef NL_OS_WINDOWS -# define NOMINMAX +# ifndef NL_COMP_MINGW +# define NOMINMAX +# endif # include #endif // NL_OS_WINDOWS