// lib-mfc.lnt // Library Options File for the Microsoft Foundation Class library // // Other options useful for MFC have been placed in the // compiler options files for the Microsoft C compiler (co-msc.lnt). // -elib(570) // loss of sign in afxdisp.h -elib(579) // bad type preceding ,... in afxdisp.h -elib(648) // overflow in arithmetic operation in moniker.h -elib(659) // nothing follows '}' in variant.h -elib(723) // suspicious use of '=' in defining PURE -elib(726) // Extraneous comma -elib(763) // Repeated declarations -elib(773) // #define NAME (SHORT)-2 causes problems -elib(1411) // hiding a virtual function with a different signature -elib(1509) // base class not virtual -elib(1516) // Data member hiding inherited member -elib(1725) // class member is a reference -elib(1727) // inline function not previously defined inline -esym(767,AFXAPP_DATA) // macro may be defined differently -esym(1511,*::On*) // Message handlers typically begin with 'On' // and they are not virtual and they hide other // identically named members in base classes -esym(534,wsprintf*,*::On*) // functions whose return // values are ignored, add to this as needed ... -esym(534,AfxMessageBox) // like this -esym(534,CArchive::operator<<,CArchive::operator>>) // and these ... -esym(534, CObList::AddTail, CDC::MoveTo, CDC::LineTo ) -esym(534, CWnd::SetCapture, ReleaseCapture ) -esym(767,lstrcpyn,FindResource) // UNICODE redefines some macros -esym(1512,CThreadLocalObject) // destructor is not virtual -esym(1512,CProcessLocalObject) // destructor is not virtual -emacro(785,IMPLEMENT_*) // not enough initializers -emacro(1502,IMPLEMENT_*) // object w/o data members -emacro(522,IMPLEMENT_*) // expect void, assignment, etc. -emacro(1773,IMPLEMENT_*) // casting away const -emacro(1516,DECLARE_*) // member hides inherited member -emacro(415,_AFX_FP_SEG) // access of out-of-bounds pointer -emacro(651,ON_EVENT) // does not fully brace initializer items -emacro(648,ON_NOTIFY) // unusual arithmetic in this macro -lobbase(stdafx.lob) // use stdafx.lob as base for later lobs -e641 // converting enums to ints seems to be standard practice -e655 // bit-wise operations on enums also is standard practice -e1511 // members hiding members (also standard practice) -e1736 // redundant access specifiers in generated code -e1923 // cites when #define's can be converted to const declarations // unfortunately resource.h has many of these. Alternatively, // make resource.h a library file (+libh) and use -elib(1923) -d__SW_BM // Watcom requires the multithread flag be set for MFC -d__SW_ML // Watcom requires large model for MFC -function( operator new(r) ) // operator new never returns NULL. -function( operator new[](r) ) // operator new[] never returns NULL. --unew // keep new from becoming #define'd. It's defined to be // DEBUG_NEW which is defined to be new(arg,arg) which is OK for // regular new's but array new's come to grief. This is because // there is no declaration given for operator new[](arg,arg,arg). -function( operator delete, CObject::operator delete ) -function( operator delete[], CObject::operator delete[] ) +dASSERT=__assert // lock in the define of ASSERT to be the builtin function -esym(1055,__assert) // the built-in is undeclared -esym(526,__assert) // and not defined either. -esym(516,__assert) // arguments may vary. -esym(534,__assert) // the return value is ignored -esym(628,__assert) // and no argument information given -esym(746,__assert) // and no formal prototype provided // otherwise __assert() is an 'ideal' assert function. // the following are required for .dll processing -efunc(571,_tcsnextc) // suspicious cast -efunc(732, CSimpleList::CSimpleList) // loss of sign -efunc(732, CSimpleList::Construct) // loss of sign -elib(1510) // afxdisp.h base class 'tagVARIANT' has no destructor -elib(783) // Line does not end with new-line -elib(767) // macro INTERFACE was defined differently (richole.h && olectl.h) -elib(745) // function has no specific type or class -emacro(19,_T) // there is a spurious semi-colon in the use of macro _T in some locations -esym(578,system) // declaration of 'system' hides 'system(const char *)' (afx.h) -elibsym(1512) // base class destructor is non-virtual -elibsym(1932) // base classes can be non-abstract -function( exit, AfxAssertFailedLine ) // special assert for MFC +libh(resource.h) // resource.h is considered library