⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msg.txt

📁 PC-Lint是一种静态代码检测工具
💻 TXT
📖 第 1 页 / 共 5 页
字号:

		x = (int y) z;

152   Lob base file 'file name' missing  -- The indicated file
      has been specified as the base of lob production via the
      option -lobbase().  On output, this message is given if
      the lob base is missing.  The situation is correctable by
      simply producing the missing lob output.  This will not be
      a problem given the appropriate dependencies in the make
      file.  On input, the most likely cause of this message is
      an out-of-date base file.  A hash code within the lob file
      being read, did not match a similar code already embedded
      within the base.  The input lob file should be considered
      in error and should be regenerated.  See Chapter 7.

153   Could not create temporary file  -- This message is
      produced when generating a lob output file based upon some
      lob base file.  When the lob file is produced, it is first
      written to a temporary.  The temporary is generated by the
      C library function tmpnam().

154   Could not evaluate type 'String', int assumed  -- String
      in the message is the second argument to either a
      printf_code option or a scanf_code option.  When used, it
      was to be evaluated as a type.  Unfortunately the type
      could not be identified.

155   Ignoring {...} sequence within an expression, 0 assumed -- A
      braced    sequence within an expression is a non-standard
      extension of some compilers (in particular GCC).
      Internally, we treat such a braced sequence as the
      equivalent of a constant 0.  This means that we may be
      able to quietly lint such constructions if you merely
      suppress the message.


17.2  Internal Errors

200-299  Some inconsistency or contradiction was discovered in
    the PC-lint/FlexeLint system.  This may or may not be the
    result of a user error.  This inconsistency should be
    brought to the attention of Gimpel Software.


17.3  Fatal Errors

Errors in this category are normally fatal and suppressing the
error is normally impossible.  However, those errors marked with
an asterisk(*) can be suppressed and processing will be
continued.  For example -e306 will allow reprocessing of modules.

301   Stack overflow  -- There was a stack overflow while
      processing declarations.  Approximately 50 nested
      declarators were found.  For example, if a '/' followed by
      50 consecutive '*'s were to introduce a box-like comment
      and if the '/' were omitted, then this message would be
      produced.

302   Exceeded Available Memory  -- Main memory has been
      exhausted. 
303   String too long (try +macros)  -- A single #define
      definition or macro invocation exceeded an internal limit
      (of 4096 characters).  As the diagnostic indicates the
      problem can be corrected with an option.

304   Corrupt object file, code Integer, symbol=String  -- A
      PC-lint/FlexeLint object file is apparently corrupted.
      Please delete the object module and recreate it using the
      -oo option.  See Section 7.  The special code identifier
      number as well as a list of symbol names are optionally
      suffixed to the message as an aid in diagnosing the
      problem by technical support.

305   Unable to open module 'file name'  -- file name is the
      name of the file.  The named module could not be opened
      for reading.  Perhaps you misspelled the name.

306*  Previously encountered module 'FileName'  -- FileName is
      the name of the module.  The named module was previously
      encountered.  This is probably a user blunder.

307   Can't open indirect file 'FileName'  -- FileName is the
      name of the indirect file.  The named indirect file
      (ending in .lnt) could not be opened for reading.

308   Can't write to standard out  -- stdout was found to equal
      NULL.  This is most unusual.

309*  #error ...  -- The #error directive was encountered.  The
      ellipsis reflects the original line.  Normally processing
      is terminated at this point.  If you set the fce (continue
      on #error) flag, processing will continue.

310   Declaration too long: 'String...'  -- A single declaration
      was found to be too long for an internal buffer (about
      2000 characters).  This occurred when attempting to write
      out the declaration using the -o... option.  The first 30
      characters of the declaration is given in String.
      Typically this is caused by a very long struct whose
      substructures, if any, are untagged.  First identify the
      declaration that is causing the difficulty.  If a struct
      or union, assign a tag to any unnamed substructures or
      subunion.  A typedef can also be used to reduce the size
      of such a declaration.


312   Lint Object Module has obsolete or foreign version id  --
      A lint object module was produced with a prior or
      different version of PC-lint/FlexeLint.  Delete the.lob
      file and recreate it using your new version of
      PC-lint/FlexeLint.

313   Too many files  -- The number of files that
      PC-lint/FlexeLint can process has exceeded an internal
      limit.  The FlexeLint user may recompile his system to
      increase this limit.  Look for symbol FSETLEN in custom.h.
      Currently, the number of files is limited to 6400.

314*  Previously used .lnt file: FileName  -- The indirect file
      named was previously encountered.  If this was not an
      accident, you may suppress this message.

315   Exceeded message limit (see -limit)  -- The maximum number
      of messages was exceeded.  Normally there is no limit
      unless one is imposed by the -limit(n) option.  ( See
      Section 5.)

316   Error while writing to file "file name"  -- The given file
      could not be opened for output.

321   Declaration stack overflow  -- An overflow occurred in the
      stack used to contain array, pointer, function or
      reference modifiers when processing a declarator.

322*  Unable to open include file FileName  -- FileName is the
      name of the include file, which could not be opened.
      Directory search is controlled by options:  -i (See
      Section 5.), +fdi (Section 5.5 Flag Options) and the
      INCLUDE environment variable.  This is a suppressible
      fatal message.  If option -e322 is used, Error message  7
      will kick in.  A diagnostic will be issued but processing
      will continue.

323   Token String too long  -- In attempting to save a token
      for later reuse, a fixed size buffer was exceeded
      (governed by the size M_TOKEN).

324   Too many symbols Integer  -- Too many symbols were
      encountered.  An internal limit was reached.

325   Cannot re-open file 'file name'  -- In the case of a large
      number of nested includes, files in the outer fringe need
      to be closed before new ones are opened.  These outer
      files then need to be re-opened.  An error occurred when
      attempting to re-open such a file.


17.4  C Warning Messages

401   symbol 'Symbol' not previously declared static at Location
      -- The indicated Symbol declared static was previously
      declared without the static storage class.  This is
      technically a violation of the ANSI standard. Some
      compilers will accept this situation without complaint and
      regard the Symbol as static.

402   static function 'Symbol' (Location) not defined  -- The
      named Symbol was declared as a static function in the
      current module and was referenced but was not defined (in
      the module).

403   static symbol 'Symbol' has unusual type modifier  -- Some
      type modifiers such as _export are inconsistent with the
      static storage class.

404   struct not completed within file 'FileName'  -- A struct
      (or union or enum) definition was started within a header
      file but was not completed within the same header file.

405   #if not closed off within file 'FileName'  -- An #if
      construct was begun within a header file (name given) but
      was not completed within that header file.  Was this
      intentional?

406   Comment not closed off within file 'FileName'  -- A
      comment was begun within a header file (name given) but
      was not completed within that header file.  Was this
      intentional?

407   Inconsistent use of tag 'Symbol' conflicts with Location
      -- A tag specified as a union, struct or enum was
      respecified as being one of the other two in the same
      module. For example:

		struct tag *p;
		union tag *q;

      will elicit this message.

408   Type mismatch with switch expression  -- The expression
      within a case does not agree exactly with the type within
      the switch expression.  For example, an enumerated type is
      matched against an int.

409   Expecting a pointer or array  -- An expression of the form
      i[...] was encountered where i is an integral expression.
      This could be legitimate depending on the subscript
      operand.  For example, if i is an int and a is an array
      then i[a] is legitimate but unusual.  If this is your
      coding style, suppress this message.

410   size_t not what was expected from fzl and/or fzu, using
      'Type'  -- This warning is issued if you had previously
      attempted to set the type of sizeof by use of the options
      +fzl, -fzl, or -fzu, and a later size_t declaration
      contradicts the setting.  This usually means you are
      attempting to lint programs for another system using
      header files for your own system.  If this is the case we
      suggest you create a directory housing header files for
      that foreign system, alter size_t within that directory,
      and lint using that directory.

411   ptrdiff_t not what was expected from fdl option, using
      'Type'  -- This warning is issued if you had previously
      attempted to set the type of pointer differences by use of
      the fdl option and a later ptrdiff_t declaration
      contradicts the setting.  See suggestion in Error Message
      410.

412   Ambiguous format specifier '%X'  -- The format specifier
      %X when used with one of the scanf family, is ambiguous.
      With Microsoft C it means %lx whereas in ANSI C it has the
      meaning of %x.  This ambiguous format specification has no
      place in any serious C program and should be replaced by
      one of the above.

413   Likely use of null pointer 'Symbol' in [left/right]
      argument to operator 'String' Reference  -- From
      information gleaned from earlier statements, it appears
      certain that a null pointer (a pointer whose value is 0)
      has been used in a context where null pointers are
      inappropriate.  These include:  Unary *, pointer increment
      (++) or decrement(--), addition of pointer to numeric, and
      subtraction of two pointers.  In the case of binary
      operators, one of the words 'left' or 'right' is used to
      designate which operand is null.  Symbol identifies the
      pointer variable that may be null.  See also messages  613
      and  794, and Section 9.2 Value Tracking.

414   Possible division by 0  -- The second argument to either
      the division operator (/) or the modulus operator (%) may
      be zero.  Information is taken from earlier statements
      including assignments, initialization and tests.  See
      Section 9.

415   access of out-of-bounds pointer ('Integer' beyond end of
      data) by operator 'String'  -- An out-of-bounds pointer
      was accessed.  String designates the operator.  The
      parameter 'Integer' gives some idea how far out of bounds
      the pointer may be.  It is measured in units given by the
      size of the pointed to object.  The value is relative to
      the last item of good data and therefore should always be
      greater than zero.  For example:

		int a[10];
		a[10] = 0;

      results in an overflow message containing the phrase '1
      beyond end of data'.  See Section 9.

416   creation of out-of-bounds pointer ('Integer' beyond end of
      data) by operator 'String'  -- An out-of-bounds pointer
      was created.  See message  415 for a description of the
      parameters Integer and String.  For example:

		int a[10];

		 ...

		f( a + 11 );

      Here, an illicit pointer value is created and is flagged
      as such by PC-lint/FlexeLint.  Note that the pointer a+10
      is not considered by PC-lint/FlexeLint to be the creation
      of an out-of-bounds pointer.  This is because ANSI C
      explicitly allows pointing just beyond an array.  Access
      through a+10, however, as in *(a+10) or the more familiar
      a[10], would be considered erroneous but in that case
      message  415 would be issued.  See Section 9.

417   integral constant 'String' longer than long long int  --
      The longest possible integer is by default 8 bytes (see
      the +fll flag and then the -sll# option).  An integral
      constant was found to be even larger than such a quantity.
      For example: 0xFFFF0000FFFF0000F.  String is the token in
      error.

418   Passing null pointer to function 'Symbol', Context
      Reference  -- A NULL pointer is being passed to a function
      identified by Symbol.  The argument in question is given
      by Context.  The function is either a library function
      designed not to receive a NULL pointer or a user function
      dubbed so via the option -function.  See Section 10.1
      Function Mimicry (function) and Section 10.2.1 Possible

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -