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

编辑器/阅读器

开发平台:

C/C++

  1. //    co-unix.lnt
  2. //    Compiler Options for Unix C
  3. //    This file contains options to allow PC-lint to process source
  4. //    files for your compiler.  It is used as follows:
  5. //
  6. //    lint  co-unix.lnt  source-file(s)
  7. //
  8.             // while processing compiler (library) header files ...
  9. -wlib(1)    // sets the warning level within library headers to 1
  10.     // (no warnings, just syntax errors).  Comment out if you
  11.     // are actually linting library headers.  This
  12.     // option makes obsolete options of the form -elib(axxx) where
  13.     // xxx >= 400 which may be retained for historical reasons.
  14. -elib(652)  // suppress message about #define of earlier declared symbols
  15. -elib(762)  // suppress message about multiple identical declarations and
  16. -elib(760)  // suppress message about multiple identical macro defs
  17. -elib(553)  // undefined preprocessor variables are taken as 0
  18.             // while processing library headers
  19. -elib(607)   // parameter substitution within string
  20. -elib(602)   // in dial.h there are comments within comments ?
  21. -elib(537)   // repeated include files
  22. -elib(2)     // unclosed quotes in nserve.h
  23. -elib(123)   // size is both a variable and a macro with args
  24. -si4    // int's are typically 4 bytes
  25. -sp4    // ptr's are typically 4 bytes
  26. -emacro(734,putc)   // don't complain about items being too large.
  27. -emacro(413,offsetof)  // use of NULL pointer creates a stir
  28. -emacro(545,offsetof)  // addressing an array member is OK
  29. -emacro((???),va_arg)   // the va_arg() macro can yield 415, 416, 661, 662
  30. // 796 and 797 (out-of-bounds errors).
  31. //  The following options were found necessary when processing
  32. //  the Unix headers within /usr/include
  33. -i/usr/include     // Set an include directory
  34. +fdi            // Use the directory of the including file
  35. +ppw(ident)     // Tolerate #ident
  36. -di386=1    // needed for some Unix's
  37. -a#machine(i386)  //  #assert's machine(i386)  (SVR4 facility).
  38. //  Not all Unix systems are identical; please tailor to suit
  39. //  The following functions exhibit variable return modes.
  40. //  That is, they may equally-usefully be called for a value
  41. //  as called just for their effects.  Accordingly we inhibit
  42. //  Warning 534 for these functions.
  43. //  Feel free to add to or subtract from this list.
  44. -esym(534,close,creat,fclose,fprintf,fputc)
  45. -esym(534,fputs,fscanf,fseek,fwrite,lseek,memcpy,memmove,memset)
  46. -esym(534,printf,puts,scanf,sprintf,sscanf,strcat,strcpy)
  47. -esym(534,strncat,strncpy,unlink,write)
  48. // For non-ANSI compilers we suppress messages 515 and 516
  49. // for functions known to have variable argument lists.
  50. // For ANSI compilers, header files should take care of this.
  51. -esym(515,fprintf,printf,sprintf,fscanf,scanf,sscanf)
  52. -esym(516,fprintf,printf,sprintf,fscanf,scanf,sscanf)
  53. -e746      // do not insist on prototypes
  54. // The following options are required by most compilers to
  55. // noiselessly process iostream.h
  56. -elib(1717) //empty prototypes
  57. -elib(522) //function return value ignored
  58. -elib(1053) //prototypes cannot be distinguished
  59. -elib(1721) //unusual operator =() declaration
  60. -elib(1720) //assignment op has non-const parameter
  61. -elib(655)  // bitwise operator combining compatible enum's
  62. -elib(641)  // converting enum's to int
  63. -elib(537)  // repeated include file (ios.h)
  64. -elib(1511) // member (rdbuf) hides nonvirtual member
  65. -elib(1712) // default constructor not defined for class
  66. -elib(1736) // redundant access specifier
  67. -esym(1702,operator<<,operator>>)  // both a member and an ordinary function
  68. // These functions return things that are frequently ignored.
  69. -esym(534,ostream::operator<<,istream::operator>>)
  70. // The following additional options seem to be needed.
  71. -fdc       // do not Distinguish plain Char as a unique type.
  72.    // i.e. char is either signed char or unsigned char
  73. -elib(747) //significant prototype coercion
  74. -elib(740) //unusual pointer casts
  75. -elib(1029) //default argument repeated -- can't dist. char, signed char
  76. -elib(1055) //call to rdbuf() questioned?
  77. -elib(1708,1709) // minor C/C++ declaration conflict