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

编辑器/阅读器

开发平台:

C/C++

  1. //    co-bc4.lnt
  2. //    Compiler Options for Borland C, C++ 4.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-bc4.lnt  source-file(s)
  8. //
  9. -d_M_IX86=200   // assume Intel 80286 architecture -- modify to suit
  10.         // We now support __declspec directly so that the following
  11.         // option is now commented out.  If trouble ensues you can
  12.         // once again disable __declspec through this option.
  13.         // -d__declspec()= // ignore this construct
  14. -d_declspec=__declspec  // the single '_' version is occasionally used
  15.             // while processing compiler (library) header files ...
  16. -wlib(1)    // sets the warning level within library headers to 1
  17.     // (no warnings, just syntax errors).  Comment out if you
  18.     // are actually linting library headers.  This
  19.     // option makes obsolete options of the form -elib(axxx) where
  20.     // xxx >= 400 which may be retained for historical reasons.
  21. -elib(87)   // windef.h contains a botched #ifdef
  22. -elib(620)  // constants with 'l' suffix
  23. -elib(652)  // suppress message about #define of earlier declared symbols
  24. -elib(762)  // suppress message about multiple identical declarations and
  25. -elib(760)  // suppress message about multiple identical macro defs
  26. -elib(726)  // inhibits error involving extraneous comma in enumerations
  27.             // within library header graphics.h
  28. -elib(553)  // use of undefined preprocessor variables like #if __STDC__
  29.             // within string.h
  30. -elib(123)  // stdarg.h defines __size() and stdio.h uses __size parameter
  31. -elib(579)  // Borland C++ compensates for sub int params in stdarg.h
  32.             // this is still a dangerous nonportable practice for user programs
  33. -elib(743)  // 'x80' is used in limits.h
  34. -elib(773)             // offsetof() macro causes some problems
  35. -emacro(507,FP_OFF)  // inhibit loss of information message.
  36. --emacro(507,offsetof)  // inhibit loss of info message in macro
  37. -emacro(413,offsetof)  // use of NULL pointer creates a stir
  38. -emacro(545,offsetof)  // addressing an array member is OK
  39. -emacro(792,assert)  // inhibit void cast of void message
  40. -emacro((???),va_arg)   // the va_arg() macro can yield 415, 416, 661, 662
  41. // 796 and 797 (out-of-bounds errors).
  42. +rw(_export,_import)    // needed especially for Windows programming
  43. -fbo            // headers define bool, false, true
  44. -sld10          // sizeof(long double) is 10.
  45. -elib(770)  // WORDREGS, BYTEREGS, REGS, SREGS  defined in both
  46.             // bios.h and dos.h
  47. -etd(origin) // this will inhibit complaints about 'origin' type differences
  48.             // this occurs when both bios.h and dos.h contribute the
  49.             // identical struct's to a program.
  50. -e793       // inhibit 'ANSI limit reached' --
  51.             // limits are impractically low with Borland headers
  52. -function(exit,_exit)   // _exit() is like exit()
  53. -function(exit,__assertfail)  // __assertfail() is like exit()
  54. -emacro(570,disable,_disable,enable,_enable)  // allow (char) 0xFA
  55. -emacro(734,putc)   // don't complain about items being too large.
  56. -emacro(732,putc)      // inhibit loss of sign
  57. -d_asm=asm          // Borland accepts both "_asm" and "asm"
  58. -d__asm=asm         // and __asm
  59. // Borland 4.0 added keywords
  60. +rw(__interrupt,__near,__far,__huge,__fortran,__pascal,__cdecl)
  61. +rw(__import,__export,__loadds,__saveregs,__asm,__fastcall,__stdcall)
  62. +rw(_stdcall)
  63. //  The following functions exhibit variable return modes.
  64. //  That is, they may equally-usefully be called for a value
  65. //  as called just for their effects.  Accordingly we inhibit
  66. //  Warning 534 for these functions.
  67. //  Feel free to add to or subtract from this list.
  68. -esym(534,*printf,*putc,*scanf)  // often called without checking return
  69. -esym(534,close,creat,fclose,fflush)
  70. -esym(534,fputs,fseek,fwrite,lseek,memcpy,memmove,memset)
  71. -esym(534,puts,strcat,strcpy)
  72. -esym(534,strncat,strncpy,unlink,write)
  73. -esym(534,__assertfail)
  74. //  These are the wide char variants of printf-scanf family
  75. -wprintf( 1, wprintf )
  76. -wprintf( 2, fwprintf, swprintf )
  77. -wscanf( 1, wscanf )
  78. -wscanf( 2, fwscanf, swscanf )
  79. // The following options are required by most compilers to
  80. // noiselessly process iostream.h
  81. -elib(1717) //empty prototypes
  82. -elib(522) //function return value ignored
  83. -elib(1053) //prototypes cannot be distinguished
  84. -elib(1721) //unusual operator =() declaration
  85. -elib(1720) //assignment op has non-const parameter
  86. -elib(655)  // bitwise operator combining compatible enum's
  87. -elib(641)  // converting enum's to int
  88. -elib(537)  // repeated include file (ios.h)
  89. -elib(1511) // member (rdbuf) hides nonvirtual member
  90. -elib(1712) // default constructor not defined for class
  91. -elib(1736) // redundant access specifier
  92. -esym(1702,operator<<,operator>>)  // both a member and an ordinary function
  93. // These functions return things that are frequently ignored.
  94. -esym(534,ostream::operator<<,istream::operator>>)
  95. +fwc            // wide char type (wchar_t) is built-in
  96. -d_WCHAR_T      // this inhibits stdlib.h from typedef'ing wchar_t.
  97. //  Please note:
  98. //  The flag +fwc says that wchar_t is builtin for both C and C++ code.
  99. //  For Borland C++ this is true.  For Borland C this is untrue.  The
  100. //  option -d_WCHAR_T prevents stdlib.h from attempting to define it
  101. //  while linting C code.  If this is the only thing you're using
  102. //  out of stdlib.h you may get a message saying stdlib.h isn't being
  103. //  used when it is.  Uncomment the following option in that case.
  104. //  -efile(766,stdlib.h)
  105. // The following additional options seem to be needed.
  106. +fna            // allow operator new[]
  107. -elib(783)      // line in config.h does not end in new-line
  108. -elib(798)      // ignore extraneous  in objstrm.h
  109. -elib(522)      // doesn't use the return value of underflow();
  110. -elib(1065)     // same name declared as "C" and not "C"
  111. -elib(1066)     // same name declared as "C" and not "C"
  112. -elib(1724) //argument to copy construct should be const ref
  113. -elib(1722) //assignment operator does not return ref
  114. -efile(766,mem.h)  //included by iostream.h but not really used
  115. -elib(1708,1709)   // minor C/C++ declaration conflict
  116. +rw(__rtti)             // run-time type identification
  117. -d__seg=_seg            // this will be needed until we recognize __seg
  118. -d__BCPLUSPLUS__=0x320  // predefined macro
  119. -d__BORLANDC__=0x400    // predefined macro
  120. -d__TCPLUSPLUS__=0x320  // predefined macro
  121. -d__TURBOC__=0x400      // predefined macro
  122. -elib(46)               // allow not int as base of bit field
  123. -esym(18,lock,unlock)   // "C" functions being overloaded?
  124. -elib(569)              // loss of information during initialization
  125. -elib(570)              // loss of sign
  126. -elib(578)              // local variable hides member name
  127. -elib(763)              // redundant declarations for string
  128. -elib(1510)             // base class 'TReference' has no destructor
  129. -esym(1512,xmsg)        // non-virtual destructor for base class xmsg
  130. -elib(1514)             // temporary creation when calling msg()
  131. -elib(1704)             // constructor with private access declaration
  132. -elib(1729)             // initializer inversion for TSubString
  133. -elib(1735)   // default parameter within virtual function
  134. // Using Borland classlib, OWL or TurboVision?  Then activate any
  135. // or all of the following by removing the comment:
  136. //  lib-bcl.lnt      // Borland Class Library
  137. //  lib-owl.lnt      // Borland Object Windows Library
  138. //  lib-tv.lnt       // Borland Turbo-Vision library