Index: ps/trunk/source/lib/external_libraries/suppress_boost_warnings.h =================================================================== --- ps/trunk/source/lib/external_libraries/suppress_boost_warnings.h +++ ps/trunk/source/lib/external_libraries/suppress_boost_warnings.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2018 Wildfire Games. +/* Copyright (C) 2020 Wildfire Games. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -29,7 +29,6 @@ #if MSC_VERSION # pragma warning(disable:4710) // function not inlined -#if _MSC_VER > 1800 # pragma warning(disable:4626) // assignment operator was implicitly defined as deleted because a base class assignment operator is inaccessible or deleted # pragma warning(disable:4625) // copy constructor was implicitly defined as deleted # pragma warning(disable:4668) // 'symbol' is not defined as a preprocessor macro, replacing with '0' for 'directives' @@ -42,7 +41,6 @@ # pragma warning(disable:4514) // unreferenced inlined function has been removed # pragma warning(disable:4571) // Informational: catch(...) semantics changed since Visual C++ 7.1; structured exceptions (SEH) are no longer caught #endif -#endif #if ICC_VERSION # pragma warning(push) # pragma warning(disable:82) // storage class is not first Index: ps/trunk/source/lib/pch/pch_warnings.h =================================================================== --- ps/trunk/source/lib/pch/pch_warnings.h +++ ps/trunk/source/lib/pch/pch_warnings.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2018 Wildfire Games. +/* Copyright (C) 2020 Wildfire Games. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -34,9 +34,6 @@ # pragma warning(disable:4127) // conditional expression is constant; rationale: see STMT in lib.h. # pragma warning(disable:4324) // structure was padded due to __declspec(align()) # pragma warning(disable:4574) // macro is defined to be 0 -#if MSC_VERSION <= 140 -# pragma warning(disable:4351) // yes, default init of array entries is desired -#endif # pragma warning(disable:4355) // 'this' used in base member initializer list # pragma warning(disable:4512) // assignment operator could not be generated # pragma warning(disable:4718) // recursive call has no side effects, deleting @@ -64,9 +61,6 @@ # pragma warning(default:4545 4546 4547 4549) // ill-formed comma expressions; exclude 4548 since _SECURE_SCL triggers it frequently # pragma warning(default:4557) // __assume contains effect //# pragma warning(default:4710) // function not inlined (often happens in STL) -#if MSC_VERSION <= 140 -# pragma warning(default:4836) // local types or unnamed types cannot be used as template arguments -#endif # pragma warning(default:4905) // wide string literal cast to LPSTR # pragma warning(default:4906) // string literal cast to LPWSTR # pragma warning(default:4928) // illegal copy-initialization; more than one user-defined conversion has been implicitly applied Index: ps/trunk/source/lib/precompiled.h =================================================================== --- ps/trunk/source/lib/precompiled.h +++ ps/trunk/source/lib/precompiled.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2019 Wildfire Games. +/* Copyright (C) 2020 Wildfire Games. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -41,6 +41,9 @@ // must come before any STL headers are included #if MSC_VERSION +# if MSC_VERSION < 1900 +# error "Visual Studio 2015 is the minimal supported version" +# endif # ifdef NDEBUG // release: disable all checks # define _HAS_ITERATOR_DEBUGGING 0 # define _SECURE_SCL 0 Index: ps/trunk/source/lib/sysdep/os/win/wdbg_heap.h =================================================================== --- ps/trunk/source/lib/sysdep/os/win/wdbg_heap.h +++ ps/trunk/source/lib/sysdep/os/win/wdbg_heap.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2018 Wildfire Games. +/* Copyright (C) 2020 Wildfire Games. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -28,10 +28,8 @@ #define INCLUDED_WDBG_HEAP #ifdef _MSC_VER -#if _MSC_VER > 1800 # pragma warning(disable:4091) // hides previous local declaration #endif -#endif // this module provides a more convenient interface to the MS CRT's // debug heap checks. it also hooks into allocations to record the Index: ps/trunk/source/lib/sysdep/os/win/wdbg_sym.h =================================================================== --- ps/trunk/source/lib/sysdep/os/win/wdbg_sym.h +++ ps/trunk/source/lib/sysdep/os/win/wdbg_sym.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2018 Wildfire Games. +/* Copyright (C) 2020 Wildfire Games. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -28,10 +28,8 @@ #define INCLUDED_WDBG_SYM #ifdef _MSC_VER -#if _MSC_VER > 1800 # pragma warning(disable:4091) // hides previous local declaration #endif -#endif #include "lib/sysdep/os/win/win.h" // CONTEXT, EXCEPTION_POINTERS Index: ps/trunk/source/lib/sysdep/os/win/wposix/werrno.h =================================================================== --- ps/trunk/source/lib/sysdep/os/win/wposix/werrno.h +++ ps/trunk/source/lib/sysdep/os/win/wposix/werrno.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2010 Wildfire Games. +/* Copyright (C) 2020 Wildfire Games. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -81,7 +81,7 @@ // defined by winsock2 and also Linux (with different values) // (values derived from winsock2 WSA* constants minus WSABASEERR) // update: disabled on newer Boost versions because filesystem drags in boost/cerrno.hpp -#if (!defined(BOOST_VERSION) || BOOST_VERSION <= 103401) && (!MSC_VERSION || MSC_VERSION < 1600) +#if (!defined(BOOST_VERSION) || BOOST_VERSION <= 103401) && !MSC_VERSION #define EWOULDBLOCK 35 #define EINPROGRESS 36 #define EALREADY 37 Index: ps/trunk/source/lib/sysdep/os/win/wutil.h =================================================================== --- ps/trunk/source/lib/sysdep/os/win/wutil.h +++ ps/trunk/source/lib/sysdep/os/win/wutil.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2018 Wildfire Games. +/* Copyright (C) 2020 Wildfire Games. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -28,10 +28,8 @@ #define INCLUDED_WUTIL #ifdef _MSC_VER -#if _MSC_VER > 1800 # pragma warning(disable:4091) // hides previous local declaration #endif -#endif #include "lib/os_path.h" #include "lib/sysdep/os/win/win.h" Index: ps/trunk/source/lib/sysdep/sysdep.h =================================================================== --- ps/trunk/source/lib/sysdep/sysdep.h +++ ps/trunk/source/lib/sysdep/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2018 Wildfire Games. +/* Copyright (C) 2020 Wildfire Games. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -28,10 +28,8 @@ #define INCLUDED_SYSDEP #ifdef _MSC_VER -#if _MSC_VER > 1800 # pragma warning(disable:4091) // hides previous local declaration #endif -#endif #include "lib/debug.h" // ErrorReactionInternal #include "lib/os_path.h" Index: ps/trunk/source/ps/LoaderThunks.h =================================================================== --- ps/trunk/source/ps/LoaderThunks.h +++ ps/trunk/source/ps/LoaderThunks.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2019 Wildfire Games. +/* Copyright (C) 2020 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -18,16 +18,6 @@ #ifndef INCLUDED_LOADERTHUNKS #define INCLUDED_LOADERTHUNKS -// VC7 warns if T::*func is not aligned to its size (4..16 bytes on IA-32). -// this is a bug, since sizeof(void*) would be enough. MS says it won't -// be fixed: see http://www.dotnet247.com/247reference/msgs/1/7782.aspx -// we don't make sure alignment is acceptable because both 12 and 16 bytes -// may be required and padding to LCM(12,16) bytes would be wasteful; -// therefore, just disable the warning. -#if MSC_VERSION -#pragma warning(disable: 4121) -#endif - // does this return code indicate the coroutine yielded and // wasn't yet finished? static inline bool ldr_was_interrupted(int ret) Index: ps/trunk/source/third_party/cppformat/format.h =================================================================== --- ps/trunk/source/third_party/cppformat/format.h +++ ps/trunk/source/third_party/cppformat/format.h @@ -81,7 +81,7 @@ // Variadic templates are available in GCC since version 4.4 // (http://gcc.gnu.org/projects/cxx0x.html) and in Visual C++ // since version 2013. -# if defined(_MSC_VER) && _MSC_VER >= 1800 +# if defined(_MSC_VER) # define FMT_USE_VARIADIC_TEMPLATES 1 # else # define FMT_USE_VARIADIC_TEMPLATES \ @@ -95,7 +95,7 @@ // as the latter doesn't provide std::move. # if defined(FMT_GNUC_LIBSTD_VERSION) && FMT_GNUC_LIBSTD_VERSION <= 402 # define FMT_USE_RVALUE_REFERENCES 0 -# elif defined(_MSC_VER) && _MSC_VER >= 1600 +# elif defined(_MSC_VER) # define FMT_USE_RVALUE_REFERENCES 1 # else # define FMT_USE_RVALUE_REFERENCES \ Index: ps/trunk/source/third_party/cppformat/format.cpp =================================================================== --- ps/trunk/source/third_party/cppformat/format.cpp +++ ps/trunk/source/third_party/cppformat/format.cpp @@ -91,9 +91,7 @@ # pragma warning(push) # pragma warning(disable: 4127) // conditional expression is constant -#if _MSC_VER > 1800 # pragma warning(disable:4456) // hides previous local declaration -#endif inline int getsign(double value) { if (value < 0) return 1; Index: ps/trunk/source/third_party/mikktspace/mikktspace.cpp =================================================================== --- ps/trunk/source/third_party/mikktspace/mikktspace.cpp +++ ps/trunk/source/third_party/mikktspace/mikktspace.cpp @@ -7,9 +7,7 @@ #include "precompiled.h" #ifdef _MSC_VER -#if _MSC_VER > 1800 # pragma warning(disable:4456) // hides previous local declaration -#endif # pragma warning(disable:4189) // local variable is initialized but not referenced #endif Index: ps/trunk/source/third_party/mikktspace/weldmesh.cpp =================================================================== --- ps/trunk/source/third_party/mikktspace/weldmesh.cpp +++ ps/trunk/source/third_party/mikktspace/weldmesh.cpp @@ -6,10 +6,8 @@ #include "precompiled.h" #ifdef _MSC_VER -#if _MSC_VER > 1800 # pragma warning(disable:4456) // hides previous local declaration #endif -#endif /** * Copyright (C) 2011 by Morten S. Mikkelsen Index: ps/trunk/source/third_party/mongoose/mongoose.cpp =================================================================== --- ps/trunk/source/third_party/mongoose/mongoose.cpp +++ ps/trunk/source/third_party/mongoose/mongoose.cpp @@ -20,14 +20,12 @@ # pragma warning(disable:4100) // unreferenced formal parameter # pragma warning(disable:4245) // signed/unsigned mismatch # pragma warning(disable:4505) // unreferenced local function has been removed -#if _MSC_VER > 1800 # pragma warning(disable:4365) // signed unsigned mismatch # pragma warning(disable:4191) // unsafe conversion # pragma warning(disable:4820) // incorrect padding # pragma warning(disable:4668) // macro error # pragma warning(disable:4710) // function not inlined # pragma warning(disable:4711) // selected for automatic inline expansion -#endif # pragma comment(lib, "ws2_32.lib") #endif