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

编辑器/阅读器

开发平台:

C/C++

  1. //    Compiler Options for Metaware High C
  2. //    This file contains options to allow PC-lint to process source
  3. //    files for your compiler.  It is used as follows:
  4. //
  5. //    lint  co-hc.lnt  source-file(s)
  6. //
  7.             // while processing compiler (library) header files ...
  8. -wlib(1)    // sets the warning level within library headers to 1
  9.     // (no warnings, just syntax errors).  Comment out if you
  10.     // are actually linting library headers.  This
  11.     // option makes obsolete options of the form -elib(axxx) where
  12.     // xxx >= 400 which may be retained for historical reasons.
  13. -elib(652)  // suppress message about #define of earlier declared symbols
  14. -elib(762)  // suppress message about multiple identical declarations and
  15. -elib(760)  // suppress message about multiple identical macro defs
  16. -d_stdio_defs_included=0   // used in header files
  17. -d__1167=0                 // used in header files
  18. -d__HIGHC__=1              // used in header files
  19. +rw(__declspec)
  20.         // We now support __declspec directly so that the following
  21.         // option is now commented out.  If trouble ensues you can
  22.         // once again disable __declspec through this option.
  23.         // -d__declspec()= // ignore this construct
  24. -d_declspec=__declspec  // the single '_' version is occasionally used
  25. --emacro(506,_MAXSTRING)   // constant value Boolean
  26. -emacro(413,offsetof)  // use of NULL pointer creates a stir
  27. -emacro(545,offsetof)  // addressing an array member is OK
  28. -emacro(415,FP_SEG)  // access of out-of-bounds pointer
  29. +rw(_to_semi)       // enable _to_semi -- ignores information
  30.                     //   up to and including a semi-colon.
  31. -d_pragma=_to_semi  // make _pragma equal to _to_semi.
  32. -dpragma=_to_semi   // make pragma equal to _to_semi.
  33. -d_packed=          // ignore _packed
  34. +rw(_Far,_Near,_Pascal,_Fortran)   // Additional reserved words
  35. -d_CC()=        // ignore these constructs
  36. -elib(553)      // undefined preprocessor variables assumed 0
  37. -elib(726)      // extraneous comma within enum
  38. -elib(778)      // constant expression evaluates to 0
  39. -elib(43)       // vacuous type for variable
  40. -elib(140)      // allow early modifiers in library headers.
  41. +ppw(c_include) // activate #c_include
  42. -d_MSDOS        // pre-defined variable
  43. -d_I386         // pre-defined variable
  44. -esym(745,_profile_start)
  45. -function(exit,_exit)   // _exit() is like exit()
  46. -d_near=   -d_far=        // can't yet handle _far char *,
  47.                           // we need char _far *
  48. -d_char_t=unsigned        // For High C, this is built-in
  49. -si4
  50. -sp4
  51. -emacro(734,putc)   // don't complain about items being too large.
  52. -emacro((???),va_arg)   // the va_arg() macro can yield 415, 416, 661, 662
  53.                         // 796 and 797 (out-of-bounds errors).
  54. //  The following functions exhibit variable return modes.
  55. //  That is, they may equally-usefully be called for a value
  56. //  as called just for their effects.  Accordingly we inhibit
  57. //  Warning 534 for these functions.
  58. //  Feel free to add to or subtract from this list.
  59. -esym(534,close,creat,fclose,fflush,_flsbuf,fprintf,fputc)
  60. -esym(534,fputs,fscanf,fseek,fwrite,lseek,memcpy,memmove,memset)
  61. -esym(534,printf,puts,scanf,sprintf,sscanf,strcat,strcpy)
  62. -esym(534,strncat,strncpy,unlink,write)
  63. -d_WCHAR_T_DEFINED   // avoid processing typedef
  64. +fwc // assume wchar_t is built-in (this was added in version 3)
  65.      // but note, with this flag in place, we will balk at a
  66.      // typedef of wchar_t.
  67. -d_NA_H=1
  68. -d_NA_NAMES=0
  69. // The following options are required by most compilers to
  70. // noiselessly process iostream.h
  71. -elib(1717) //empty prototypes
  72. -elib(522) //function return value ignored
  73. -elib(1053) //prototypes cannot be distinguished
  74. -elib(1721) //unusual operator =() declaration
  75. -elib(1720) //assignment op has non-const parameter
  76. -elib(655)  // bitwise operator combining compatible enum's
  77. -elib(641)  // converting enum's to int
  78. -elib(537)  // repeated include file (ios.h)
  79. -elib(1511) // member (rdbuf) hides nonvirtual member
  80. -elib(1712) // default constructor not defined for class
  81. -elib(1736) // redundant access specifier
  82. -esym(1702,operator<<,operator>>)  // both a member and an ordinary function
  83. // These functions return things that are frequently ignored.
  84. -esym(534,ostream::operator<<,istream::operator>>)
  85. // The following additional options seem to be needed.
  86. -fdc       // do not Distinguish plain Char as a unique type.
  87.            // i.e. char is either signed char or unsigned char
  88. -elib(747) //significant prototype coercion
  89. -elib(740) //unusual pointer casts
  90. -elib(1029) //default argument repeated -- can't dist. char, signed char
  91. -elib(1055) //call to rdbuf() questioned?
  92. -elib(1708,1709) // minor C/C++ declaration conflict