summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorTor Lillqvist <tlillqvist@suse.com>2012-12-02 11:17:06 +0200
committerTor Lillqvist <tlillqvist@suse.com>2012-12-02 11:17:06 +0200
commit018278c51ea514fe8ab96a7061d10fa67754d6a1 (patch)
tree1ecd1e110f35b628c93fd6cb104f1647beb4bfdb /solenv
parent09849846eec9531bc48fa547b5c24c550b777734 (diff)
Document the warnings we disable
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/platform/com_MSC_defs.mk138
1 files changed, 136 insertions, 2 deletions
diff --git a/solenv/gbuild/platform/com_MSC_defs.mk b/solenv/gbuild/platform/com_MSC_defs.mk
index e867e98aa57c..3d96cd3e3ad7 100644
--- a/solenv/gbuild/platform/com_MSC_defs.mk
+++ b/solenv/gbuild/platform/com_MSC_defs.mk
@@ -69,6 +69,140 @@ gb_RCFLAGS := \
gb_AFLAGS := /c /Cp
+# Do we really need to disable to many warnings? It seems to me that
+# many of these warnings are for custructs that we have been actively
+# cleaning away from the code, to avoid warnings when building with
+# gcc or Clang and -Wall -Werror.
+
+# C4005: 'identifier' : macro redefinition
+
+# C4061: enumerator 'identifier' in switch of enum 'enumeration' is
+# not explicitly handled by a case label
+
+# C4127: conditional expression is constant
+
+# C4180: qualifier applied to function type has no meaning; ignored
+
+# C4189: 'identifier' : local variable is initialized but not referenced
+
+# C4191: 'operator/operation' : unsafe conversion from 'type of
+# expression' to 'type required'
+
+# C4217: 'operator' : member template functions cannot be used for
+# copy-assignment or copy-construction. FIXME: This warning is not
+# listed for VS2008 or later.
+
+# C4242: 'identifier' : conversion from 'type1' to 'type2', possible
+# loss of data
+
+# C4244: nonstandard extension used : formal parameter 'identifier'
+# was previously defined as a type
+
+# C4245: 'conversion' : conversion from 'type1' to 'type2',
+# signed/unsigned mismatch
+
+# C4250: 'class1' : inherits 'class2::member' via dominance
+
+# C4251: 'identifier' : class 'type' needs to have dll-interface to be
+# used by clients of class 'type2'
+
+# C4255: 'function' : no function prototype given: converting '()' to
+# '(void)'
+
+# C4265: 'class' : class has virtual functions, but destructor is not
+# virtual
+
+# C4275: non – DLL-interface classkey 'identifier' used as base for
+# DLL-interface classkey 'identifier'
+
+# C4290: C++ exception specification ignored except to indicate a
+# function is not __declspec(nothrow)
+
+# C4294: FIXME: not documented at all
+
+# C4350: behavior change: 'member1' called instead of 'member2'
+
+# C4355: 'this' : used in base member initializer list
+
+# C4351: new behavior: elements of array 'array' will be default
+# initialized
+
+# C4355: 'this' : used in base member initializer list
+
+# C4365: 'action' : conversion from 'type_1' to 'type_2',
+# signed/unsigned mismatch
+
+# C4373: FIXME: not documented at all
+
+# C4435: FIXME: not documented at all
+
+# C4503: 'identifier' : decorated name length exceeded, name was
+# truncated
+
+# C4505: 'function' : unreferenced local function has been removed
+
+# C4511: 'class' : copy constructor could not be generated
+
+# C4512: 'class' : assignment operator could not be generated
+
+# C4514: 'function' : unreferenced inline function has been removed
+
+# C4555: expression has no effect; expected expression with
+# side-effect
+
+# C4611: interaction between 'function' and C++ object destruction is
+# non-portable
+
+# C4619: #pragma warning : there is no warning number 'number'
+
+# C4625: 'derived class' : copy constructor could not be generated
+# because a base class copy constructor is inaccessible
+
+# C4626: 'derived class' : assignment operator could not be generated
+# because a base class assignment operator is inaccessible
+
+# C4628: digraphs not supported with -Ze. Character sequence 'digraph'
+# not interpreted as alternate token for 'char'
+
+# C4640: 'instance' : construction of local static object is not thread-safe
+
+# C4668: 'symbol' is not defined as a preprocessor macro, replacing
+# with '0' for 'directives'
+
+# C4675: 'function' : resolved overload was found by
+# argument-dependent lookup. FIXME: This warning is not listed for
+# VS2008 or later.
+
+# C4686: ' user-defined type ' : possible change in behavior, change
+# in UDT return calling convention
+
+# C4692: 'function': signature of non-private member contains assembly
+# private native type 'native_type'
+
+# C4706: assignment within conditional expression
+
+# C4710: 'function' : function not inlined
+
+# C4711: function 'function' selected for inline expansion
+
+# C4738: storing 32-bit float result in memory, possible loss of
+# performance
+
+# C4786: FIXME: Not in supported compiler versions
+
+# C4800: 'type' : forcing value to bool 'true' or 'false' (performance
+# warning)
+
+# C4820: 'bytes' bytes padding added after construct 'member_name'
+
+# C4826: Conversion from 'type1 ' to 'type_2' is sign-extended. This
+# may cause unexpected runtime behavior.
+
+# C4917: 'declarator' : a GUID can only be associated with a class,
+# interface or namespace
+
+# C4996: 'function': was declared deprecated
+
gb_CFLAGS := \
-Gd \
-GR \
@@ -96,6 +230,7 @@ gb_CFLAGS := \
-wd4350 \
-wd4355 \
-wd4365 \
+ -wd4373 \
-wd4503 \
-wd4505 \
-wd4511 \
@@ -114,7 +249,6 @@ gb_CFLAGS := \
-wd4706 \
-wd4710 \
-wd4711 \
- -wd4373 \
-wd4738 \
-wd4786 \
-wd4800 \
@@ -153,6 +287,7 @@ gb_CXXFLAGS := \
-wd4351 \
-wd4355 \
-wd4365 \
+ -wd4373 \
-wd4435 \
-wd4503 \
-wd4505 \
@@ -173,7 +308,6 @@ gb_CXXFLAGS := \
-wd4706 \
-wd4710 \
-wd4711 \
- -wd4373 \
-wd4738 \
-wd4786 \
-wd4800 \