co-bc5.lnt
上传用户:filter2008
上传日期:2010-03-12
资源大小:2959k
文件大小:9k
源码类别:

编辑器/阅读器

开发平台:

C/C++

  1. //    co-bc5.lnt
  2. //    Compiler Options for Borland C, C++ 5.0
  3. -ctc
  4. //    This file contains options to allow PC-lint to process source
  5. //    files for your compiler.  It is used as follows:
  6. //
  7. //    lint  co-bc5.lnt  source-file(s)
  8. //
  9. // You may need to change the following 
  10. -d_M_IX86=300   // assume Intel 80386 architecture -- modify to suit
  11. // -d__MSDOS__     // an MS-DOS application
  12. // -d_Windows      // 16-bit Windows 
  13. -d__WIN32__     // 32-bit Windows
  14. -d__FLAT__      // generally goes along with __WIN32__
  15. -d__CONSOLE__   // a console application under 32-bit Windows
  16. -d__MT__        // multi-threading
  17.     // memory model: e.g. -d__FLAT__ -u__SMALL__  usually set in std.lnt
  18.     // -dSTRICT
  19. // Using Borland classlib or OWL?  Then one of the following is usually
  20. // inserted into std.lnt by the INSTALL procedure.
  21. // You may explicitly insert one by removing the comment:
  22. //  lib-bcl5.lnt      // Borland Class Library
  23. //  lib-owl.lnt       // Borland Object Windows Library
  24. //these are always defined
  25. -d__CDECL__
  26.         // We now support __declspec directly so that the following
  27.         // option is now commented out.  If trouble ensues you can
  28.         // once again disable __declspec through this option.
  29.         // -d__declspec()= // ignore this construct
  30. -d_declspec=__declspec  // the single '_' version is occasionally used
  31. +fdh // if an extensionless filename is included assume a .h extension
  32. +fpc // pointer value retains l-value
  33. +fbo // bool is an intrinsic type
  34. +fwc // w_char is an intrinsic type
  35. +libh(co-bc5.h) 
  36. -header(co-bc5.h) // includes co-bc5.h which contains borland 5 
  37.                   // specfic defines
  38.             // while processing compiler (library) header files ...
  39. -wlib(1)    // sets the warning level within library headers to 1
  40.     // (no warnings, just syntax errors).  Comment out if you
  41.     // are actually linting library headers.  This
  42.     // option makes obsolete options of the form -elib(axxx) where
  43.     // xxx >= 400 which may be retained for historical reasons.
  44. -elib(87)   // windef.h contains a botched #ifdef
  45. -elib(652)  // suppress message about #define of earlier declared symbols
  46. -elib(762)  // suppress message about multiple identical declarations and
  47. -elib(760)  // suppress message about multiple identical macro defs
  48. -elib(726)  // inhibits error involving extraneous comma in enumerations
  49.             // within library header graphics.h
  50. -elib(553)  // use of undefined preprocessor variables like #if __STDC__
  51.             // within string.h
  52. -elib(123)  // stdarg.h defines __size() and stdio.h uses __size parameter
  53. -elib(579)  // Borland C++ compensates for sub int params in stdarg.h
  54.             // this is still a dangerous nonportable practice for user programs
  55. -elib(743)  // 'x80' is used in limits.h
  56. -elib(773)             // offsetof() macro causes some problems
  57. -emacro(507,FP_OFF)  // inhibit loss of information message.
  58. --emacro(507,offsetof) // inhibit loss of info message in macro
  59. -emacro(413,offsetof)  // use of NULL pointer creates a stir
  60. -emacro(545,offsetof)  // addressing an array member is OK
  61. -emacro(792,assert)    // inhibit void cast of void message
  62. -emacro((???),va_arg)  // the va_arg() macro can yield 415, 416, 661, 662
  63.        // 796 and 797 (out-of-bounds errors).
  64. +rw(_export,_import)    // needed especially for Windows programming
  65. -sld10          // sizeof(long double) is 10.
  66. -elib(770)  // WORDREGS, BYTEREGS, REGS, SREGS  defined in both
  67.             // bios.h and dos.h
  68. -etd(origin) // this will inhibit complaints about 'origin' type differences
  69.             // this occurs when both bios.h and dos.h contribute the
  70.             // identical struct's to a program.
  71. -e793       // inhibit 'ANSI limit reached' --
  72.             // limits are impractically low with Borland headers
  73. -function(exit,_exit)   // _exit() is like exit()
  74. -function(exit,__assertfail)  // __assertfail() is like exit()
  75. -emacro(570,disable,_disable,enable,_enable)  // allow (char) 0xFA
  76. -emacro(734,putc)   // don't complain about items being too large.
  77. -emacro(732,putc)      // inhibit loss of sign
  78. -d_asm=asm          // Borland accepts both "_asm" and "asm"
  79. -d__asm=asm         // and __asm
  80. // Borland's added keywords
  81. +rw(__interrupt,__near,__far,__huge,__fortran,__pascal,__cdecl)
  82. +rw(__import,__export,__loadds,__saveregs,__asm,__fastcall,__stdcall)
  83. +rw(_stdcall)
  84. //  The following functions exhibit variable return modes.
  85. //  That is, they may equally-usefully be called for a value
  86. //  as called just for their effects.  Accordingly we inhibit
  87. //  Warning 534 for these functions.
  88. //  Feel free to add to or subtract from this list.
  89. -esym(534,*printf,*putc,*scanf)  // often called without checking return
  90. -esym(534,close,creat,fclose,fflush)
  91. -esym(534,fputs,fseek,fwrite,lseek,memcpy,memmove,memset)
  92. -esym(534,puts,strcat,strcpy)
  93. -esym(534,strncat,strncpy,unlink,write)
  94. -esym(534,__assertfail)
  95. //  These are the wide char variants of printf-scanf family
  96. -wprintf( 1, wprintf )
  97. -wprintf( 2, fwprintf, swprintf )
  98. -wscanf( 1, wscanf )
  99. -wscanf( 2, fwscanf, swscanf )
  100. // The following options are required by most compilers to
  101. // noiselessly process iostream.h
  102. -elib(1717) //empty prototypes
  103. -elib(522)  //function return value ignored
  104. -elib(1053) //prototypes cannot be distinguished
  105. -elib(1721) //unusual operator =() declaration
  106. -elib(1720) //assignment op has non-const parameter
  107. -elib(655)  // bitwise operator combining compatible enum's
  108. -elib(641)  // converting enum's to int
  109. -elib(537)  // repeated include file (ios.h)
  110. -elib(1511) // member (rdbuf) hides nonvirtual member
  111. -elib(1706) // Declaration with scope operator is unusual within class
  112. -elib(1712) // default constructor not defined for class
  113. -elib(1736) // redundant access specifier
  114. -esym(1702,operator<<,operator>>)  // both member and ordinary function
  115. // These functions return things that are frequently ignored.
  116. -esym(534,ostream::operator<<,istream::operator>>)
  117. +fwc            // wide char type (wchar_t) is built-in
  118. -d_WCHAR_T      // this inhibits stdlib.h from typedef'ing wchar_t.
  119. -d_WCHAR_T_DEFINED  // and also this is needed as well
  120. //  Please note:
  121. //  The flag +fwc says that wchar_t is builtin for both C and C++ code.
  122. //  For Borland C++ this is true.  For Borland C this is untrue.  The
  123. //  option -d_WCHAR_T prevents stdlib.h from attempting to define it
  124. //  while linting C code.  If this is the only thing you're using
  125. //  out of stdlib.h you may get a message saying stdlib.h isn't being
  126. //  used when it is.  Uncomment the following option in that case.
  127. //  -efile(766,stdlib.h)
  128. // The following additional options seem to be needed.
  129. +fna            // allow operator new[]
  130. -elib(783)      // line in config.h does not end in new-line
  131. -elib(798)      // ignore extraneous  in objstrm.h
  132. -elib(522)      // doesn't use the return value of underflow();
  133. -elib(1065)     // same name declared as "C" and not "C"
  134. -elib(1066)     // same name declared as "C" and not "C"
  135. -elib(1724) //argument to copy construct should be const ref
  136. -elib(1722) //assignment operator does not return ref
  137. -efile(766,mem.h)  //included by iostream.h but not really used
  138. -elib(1708,1709)   // minor C/C++ declaration conflict
  139. +rw(__rtti)             // run-time type identification
  140. -d__seg=_seg            // this will be needed until we recognize __seg
  141. -d__BORLANDC__=0x500    // predefined macro
  142. -d__TURBOC__=0x500      // predefined macro
  143. -elib(43)               // vacuous type for variable
  144. -elib(46)               // allow not int as base of bit field
  145. -esym(18,lock,unlock)   // "C" functions being overloaded?
  146. -esym(18,LPWSTR,LPCWSTR)// Both of these types are redeclared (typedef)
  147. -elib(569)              // loss of information during initialization
  148. -elib(570)              // loss of sign
  149. -elib(578)              // local variable hides member name
  150. -elib(620)              // constants with 'l' suffix
  151. -elib(763)              // redundant declarations for string
  152. -elib(544)              // #else or #endif not followed by end-of-line
  153. -elib(659)              // leaving naked '}'s for struct
  154. -elib(723)              // macro PURE begins with '='
  155. -elib(761)              // redundant typedef
  156. -elib(806)              // signed bit field of length 1
  157. -elib(1007)             // virtual definition within extern "C"
  158. -esym(1058,TDate)       // Borlands code trys to modify a non-const ref
  159. -elib(1501)             // an array with a null length
  160. -elib(1504)             // useless struct declaration (winbase.h)
  161. -elib(1510)             // base class 'TReference' has no destructor
  162. -esym(1512,xmsg)        // non-virtual destructor for base class xmsg
  163. -elib(1514)             // temporary creation when calling msg()
  164. -elib(1509)             // non-virtual base class destructor
  165. -elib(1550)             // not declaring a potential throw
  166. -elib(1725)             // class member is a reference
  167. -elib(1727)             // inconsistent use of inline
  168. -elib(1730)             // class/struct inconsistency
  169. -elib(1704)             // constructor with private access declaration
  170. -elib(1729)             // initializer inversion for TSubString
  171. -elib(1735)             // default parameter within virtual function
  172. -template(1)  // aggressively process base classes
  173. //  Add elements of ole automation
  174. lib-ole.lnt