[Scummvm-cvs-logs] SF.net SVN: scummvm:[47259] scummvm/trunk/tools/create_msvc/create_msvc.cpp

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Mon Jan 11 22:45:48 CET 2010


Revision: 47259
          http://scummvm.svn.sourceforge.net/scummvm/?rev=47259&view=rev
Author:   fingolfin
Date:     2010-01-11 21:45:48 +0000 (Mon, 11 Jan 2010)

Log Message:
-----------
Patch from tracker item #2909981 which documents the various MSVC warnings we disabled, and why

Modified Paths:
--------------
    scummvm/trunk/tools/create_msvc/create_msvc.cpp

Modified: scummvm/trunk/tools/create_msvc/create_msvc.cpp
===================================================================
--- scummvm/trunk/tools/create_msvc/create_msvc.cpp	2010-01-11 20:41:07 UTC (rev 47258)
+++ scummvm/trunk/tools/create_msvc/create_msvc.cpp	2010-01-11 21:45:48 UTC (rev 47259)
@@ -495,7 +495,66 @@
 	std::string globalWarnings;
 	std::map<std::string, std::string> projectWarnings;
 
+	////////////////////////////////////////////////////////////////////////////
 	// Initialize global & project-specific warnings
+	//
+	// Tracker reference:
+	// https://sourceforge.net/tracker/?func=detail&aid=2909981&group_id=37116&atid=418822
+	//
+	////////////////////////////////////////////////////////////////////////////
+	//
+	// 4068 (unknown pragma)
+	//   only used in scumm engine to mark code sections
+	//
+	// 4100 (unreferenced formal parameter)
+	//
+	// 4103 (alignment changed after including header, may be due to missing #pragma pack(pop))
+	//   used by pack-start / pack-end
+	//
+	// 4127 (conditional expression is constant)
+	//   used in a lot of engines
+	//
+	// 4244 ('conversion' conversion from 'type1' to 'type2', possible loss of data)
+	//   throws tons and tons of warnings, most of them false positives
+	//
+	// 4250 ('class1' : inherits 'class2::member' via dominance)
+	//   two or more members have the same name. Should be harmless
+	//
+	// 4310 (cast truncates constant value)
+	//   used in some engines
+	//
+	// 4351 (new behavior: elements of array 'array' will be default initialized)
+	//   a change in behavior in Visual Studio 2005. We want the new behavior, so it can be disabled
+	//
+	// 4512 ('class' : assignment operator could not be generated)
+	//   some classes use const items and the default assignment operator cannot be generated
+	//
+	// 4702 (unreachable code)
+	//   mostly thrown after error() calls (marked as NORETURN)
+	//
+	// 4706 (assignment within conditional expression)
+	//   used in a lot of engines
+	//
+	// 4800 ('type' : forcing value to bool 'true' or 'false' (performance warning))
+	//
+	// 4996 ('function': was declared deprecated)
+	//   disabling it removes all the non-standard unsafe functions warnings (strcpy_s, etc.)
+	//
+	////////////////////////////////////////////////////////////////////////////
+	//
+	// 4189 (local variable is initialized but not referenced)
+	//   false positive in lure engine
+	//
+	// 4355 ('this' : used in base member initializer list)
+	//   only disabled for specific engines where it is used in a safe way
+	//
+	// 4510 ('class' : default constructor could not be generated)
+	//
+	// 4610 (object 'class' can never be instantiated - user-defined constructor required)
+	//   "correct" but harmless (as is 4510)
+	//
+	////////////////////////////////////////////////////////////////////////////
+
 	globalWarnings = "4068;4100;4103;4127;4244;4250;4310;4351;4512;4702;4706;4800;4996";
 
 	projectWarnings["agi"] = "4510;4610";


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list