williamr@2: /* This header turns off warnings that STLport headers generate for compiled williamr@2: * user code. williamr@2: */ williamr@2: williamr@2: #if defined (_STLP_MSVC) williamr@2: # if (_STLP_MSVC > 1000) williamr@2: # if defined (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND) williamr@2: /* williamr@2: * 31/07/2004: dums - now that we do not export the basic_string class anymore but only a base class williamr@2: * we have to disable this warning as the string are used as data members type of many iostream classes. williamr@2: */ williamr@2: # pragma warning ( disable : 4251 ) // ignore template classes being exported in .dll's williamr@2: # endif williamr@2: williamr@2: # if (_STLP_MSVC < 1200) // VC5 and earlier williamr@2: # pragma warning( disable : 4389 ) // '==' : signed/unsigned mismatch williamr@2: // multiple copy constructors/assignment operators specified, williamr@2: // with member templates are bogus... williamr@2: # pragma warning( disable : 4521 ) williamr@2: # pragma warning( disable : 4522 ) williamr@2: # endif williamr@2: williamr@2: # if (_STLP_MSVC < 1300) // VC6, eVC3, eVC4 williamr@2: # pragma warning( disable : 4097 ) // typedef-name used as based class of (...) williamr@2: # pragma warning( disable : 4231 ) // non standard extension : 'extern' before template instanciation williamr@2: # pragma warning( disable : 4244 ) // implicit conversion: possible loss of data williamr@2: # pragma warning( disable : 4284 ) // for -> operator williamr@2: //This warning is necessary because of the native platform headers: williamr@2: # pragma warning( disable : 4290 ) // c++ exception specification ignored williamr@2: # pragma warning( disable : 4514 ) // unreferenced inline function has been removed williamr@2: # pragma warning( disable : 4660 ) // template-class specialization '...' is already instantiated williamr@2: # pragma warning( disable : 4701 ) // local variable '...' may be used without having been initialized williamr@2: # pragma warning( disable : 4710 ) // function (...) not inlined williamr@2: # pragma warning( disable : 4786 ) // identifier truncated to 255 characters williamr@2: # endif williamr@2: williamr@2: # if (_STLP_MSVC < 1400) williamr@2: # pragma warning( disable : 4511 ) // copy constructor cannot be generated williamr@2: # endif williamr@2: williamr@2: //Pool of common warnings for all MSVC supported versions: williamr@2: //Many are only useful if warning level is set to 4. williamr@2: # pragma warning( disable : 4100 ) // unreferenced formal parameter williamr@2: # pragma warning( disable : 4127 ) // conditional expression is constant williamr@2: # pragma warning( disable : 4146 ) // unary minus operator applied to unsigned type, result still unsigned williamr@2: # pragma warning( disable : 4245 ) // conversion from 'enum ' to 'unsigned int', signed/unsigned mismatch williamr@2: # pragma warning( disable : 4355 ) // this used in base member initializer list (used in rope implementation) williamr@2: # pragma warning( disable : 4510 ) // default constructor cannot be generated williamr@2: # pragma warning( disable : 4512 ) // assignment operator could not be generated williamr@2: # pragma warning( disable : 4571 ) // catch(...) blocks compiled with /EHs do not catch or re-throw Structured Exceptions williamr@2: # pragma warning( disable : 4610 ) // struct '...' can never be instantiated - user defined construtor required williamr@2: # endif williamr@2: #elif defined (__BORLANDC__) williamr@2: # pragma option -w-ccc // -w-8008 Condition is always true OR Condition is always false williamr@2: # pragma option -w-inl // -w-8027 Functions containing reserved words are not expanded inline williamr@2: # pragma option -w-ngu // -w-8041 Negating unsigned value williamr@2: # pragma option -w-pow // -w-8062 Previous options and warnings not restored williamr@2: # pragma option -w-rch // -w-8066 Unreachable code williamr@2: # pragma option -w-par // -w-8057 Parameter 'parameter' is never used williamr@2: #endif