diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-06-09 10:06:35 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-06-09 09:11:47 +0000 |
commit | e25ed8d09b67a0b67dee4239513c00a6b7e701a4 (patch) | |
tree | e145da42c4e0cc1d2a40e24c313bc34d5de51817 /sources/shiboken2/libshiboken/autodecref.h | |
parent | 8dd21fcb2c9f0366b3d298781c8a852363a4df22 (diff) |
libshiboken: Fix/Silence some MSVC warnings
autodecref.h(110): warning C4522: 'Shiboken::AutoDecRef': multiple assignment operators specified
autodecref.h(78): warning C4800: 'PyObject *const ': forcing value to bool 'true' or 'false' (performance warning)
conversions.h(282): warning C4800: 'long': forcing value to bool 'true' or 'false' (performance warning)
basewrapper.cpp(625): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
basewrapper.cpp(654): warning C4800: 'SpecialCastFunction': forcing value to bool 'true' or 'false' (performance warning)
basewrapper.cpp(1014): warning C4800: 'Shiboken::ParentInfo *': forcing value to bool 'true' or 'false' (performance warning)
basewrapper.cpp(1044): warning C4800: 'void *': forcing value to bool 'true' or 'false' (performance warning)
helper.cpp(56): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data
shibokenbuffer.cpp(46): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
Change-Id: If1517fde8e7670f258a56f6d845a66ebb3d82141
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken2/libshiboken/autodecref.h')
-rw-r--r-- | sources/shiboken2/libshiboken/autodecref.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sources/shiboken2/libshiboken/autodecref.h b/sources/shiboken2/libshiboken/autodecref.h index 1fefcc259..a82bbb35c 100644 --- a/sources/shiboken2/libshiboken/autodecref.h +++ b/sources/shiboken2/libshiboken/autodecref.h @@ -43,6 +43,11 @@ #include "sbkpython.h" #include "basewrapper.h" +#ifdef _MSC_VER +__pragma(warning(push)) +__pragma(warning(disable:4522)) // warning: C4522: 'Shiboken::AutoDecRef': multiple assignment operators specified +#endif + struct SbkObject; namespace Shiboken { @@ -75,7 +80,7 @@ public: inline PyObject* object() { return m_pyObj; } inline operator PyObject*() { return m_pyObj; } inline operator PyTupleObject*() { return reinterpret_cast<PyTupleObject*>(m_pyObj); } - inline operator bool() const { return m_pyObj; } + inline operator bool() const { return m_pyObj != 0; } inline PyObject* operator->() { return m_pyObj; } template<typename T> @@ -111,5 +116,9 @@ private: } // namespace Shiboken +#ifdef _MSC_VER +__pragma(warning(pop)) +#endif + #endif // AUTODECREF_H |