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

编辑器/阅读器

开发平台:

C/C++

  1. //    Compiler Options for Linux and GCC
  2. //    This file contains options to allow FlexeLint to process source
  3. //    files for the Gnu compiler (GCC) running on Linux.
  4. //    It is used as follows:
  5. //
  6. //    lint  co-gnu.lnt  source-file(s)
  7. //
  8. //    If you are using GCC on some other system you will need to change
  9. //    the following options:
  10. +cpp(.cc,.C)  // extensions for C++ that are commonly used in addition
  11.             // to the default extensions of .cpp and .cxx
  12. -cgnu       // defines LANGUAGE_C for C modules
  13. -d__i386__  // a define of this type is machine-dependent
  14.             // modify if you are running on non-intel hardware.
  15. -d__linux__ // Linux define!
  16. //-d__mc68000__  //a machine dependent define
  17. -di386=1          // needed for some Unix's
  18. -a#machine(i386)  //  #assert's machine(i386)  (SVR4 facility).
  19. -i/usr/include     // Set an include directory
  20. -i/usr/lib/gcc-lib/i486-linux/2.5.8/include // Linux gcc uses TWO directories
  21. -si4    // int's are typically 4 bytes
  22. -sp4    // ptr's are typically 4 bytes           
  23. //    end of system dependent options.
  24. -fdc       // do not Distinguish plain Char as a unique type.
  25.            // i.e. char is either signed char or unsigned char
  26.            
  27.             // while processing library headers
  28. -wlib(1)    // sets the warning level within library headers to 1
  29.     // (no warnings, just syntax errors).  Comment out if you
  30.     // are actually linting library headers.  This
  31.     // option makes obsolete options of the form -elib(axxx) where
  32.     // xxx >= 400 which may be retained for historical reasons.
  33. -elib(15)   // redeclaration of symbol
  34. -elib(516)  // lots of redeclarations in Linux stdlib.h
  35. -elib(652)  // suppress message about #define of earlier declared symbols
  36. -elib(762)  // suppress message about multiple identical declarations and
  37. -elib(760)  // suppress message about multiple identical macro defs
  38. -elib(553)  // undefined preprocessor variables are taken as 0
  39. -elib(410)  // unusual size_t
  40. -elib(767)  // differently defined macro
  41. -elib(624)  // typedef symbol redeclared
  42. -elib(607)  // parameter substitution within string
  43. -elib(602)  // in dial.h there are comments within comments ?
  44. -elib(537)  // repeated include files
  45. -elib(2)    // unclosed quotes in nserve.h
  46. -elib(123)  // size is both a variable and a macro with args
  47. -elib(1014) // class member definition within extern "C++"
  48. -emacro(734,putc)   // don't complain about items being too large.
  49. -emacro((???),va_arg)   // the va_arg() macro can yield 415, 416, 661, 662
  50. // 796 and 797 (out-of-bounds errors).
  51. -emacro(413,offsetof)  // use of NULL pointer creates a stir
  52. -emacro(545,offsetof)  // addressing an array member is OK
  53. -elib(793)   // Linux has minor ANSI violation in stddef.h 
  54. -elib(569)   // Linux truncates some data in huge_val.h
  55. -esym(528,__huge_val,__nan,__qnan,__qnanf,__snan,__snanf)
  56.            // We don't care if we don't reference some GNU funcs
  57. -esym(528,__gnu_malloc,__gnu_calloc)
  58. //  The following options were found necessary when processing
  59. //  the Unix headers within /usr/include
  60. +fdi            // Use the directory of the including file
  61. +ppw(ident)     // Tolerate #ident
  62. +rw(__inline)   // enable the (non-standard) __inline keyword
  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,close,creat,fclose,fprintf,fputc)
  69. -esym(534,fputs,fscanf,fseek,fwrite,lseek,memcpy,memmove,memset)
  70. -esym(534,printf,puts,scanf,sprintf,sscanf,strcat,strcpy)
  71. -esym(534,strncat,strncpy,unlink,write)
  72. // For non-ANSI compilers we suppress messages 515 and 516
  73. // for functions known to have variable argument lists.
  74. // For ANSI compilers, header files should take care of this.
  75. -esym(515,fprintf,printf,sprintf,fscanf,scanf,sscanf)
  76. -esym(516,fprintf,printf,sprintf,fscanf,scanf,sscanf)
  77. // The following options are required by most compilers to
  78. // noiselessly process iostream.h
  79. -elib(1717) //empty prototypes
  80. -elib(522) //function return value ignored
  81. -elib(1053) //prototypes cannot be distinguished
  82. -elib(1721) //unusual operator =() declaration
  83. -elib(1720) //assignment op has non-const parameter
  84. -elib(655)  // bitwise operator combining compatible enum's
  85. -elib(641)  // converting enum's to int
  86. -elib(537)  // repeated include file (ios.h)
  87. -elib(1511) // member (rdbuf) hides nonvirtual member
  88. -elib(1712) // default constructor not defined for class
  89. -esym(1702,operator<<,operator>>)
  90. // These functions return things that are frequently ignored.
  91. -esym(534,ostream::operator<<,istream::operator>>)
  92. -elib(747) //significant prototype coercion
  93. -elib(740) //unusual pointer casts
  94. -elib(1029) //default argument repeated -- can't dist. char, signed char
  95. -elib(1055) //call to rdbuf() questioned?
  96. -elib(1708,1709) // minor C/C++ declaration conflict
  97. -elib(763)   // redundant declaration
  98. -elib(1510)  // base class has no destructor
  99. -elib(1516)  // data member hiding inherited member
  100. -elib(1730)  // class/struct inconsistancy
  101. -elib(569)   // loss of information 8-bits - 7bits
  102. -e93         // allow newlines within quoted string arguments to macros
  103. -dasm()=     // support inline assembly code by ignoring asm(...)
  104. -d__attribute__()=   // ignore this keyword and following parenthetical
  105. -d__extension__=            // ignore this keyword
  106. -d__builtin_va_list=void*   // used by stdarg.h
  107. -d__const=const             // gconv.h uses __const rather than const
  108. -d__STDC_VERSION__=199901L  // required by C99
  109. -d__FUNCTION__="somefunction"
  110. -d__PRETTY_FUNCTION__="somefunction"