Keil Logo

Technical Support

On-Line Manuals

C251 User's Guide

C251 Introduction Compiling Programs Language Extensions Preprocessor Advanced Programming Error Messages Fatal Errors Actions Messages Errors and Warnings Reference Error C1 Warning C2 Error C3 Error C4 Error C5 Error C6 Error C8 Warning C9 Warning C10 Error C11 Warning C13 Warning C14 Error C15 Error C16 Error C17 Error C18 Error C19 Error C20 Error C21 Error C22 Error C23 Error C24 Error C25 Error C26 Error C27 Error C28 Error C29 Error C30 Error C31 Error C32 Error C33 Warning C34 Warning C35 Error C36 Error C37 Warning C38 Error C39 Warning C40 Error C41 Error C42 Error C43 Error C44 Error C45 Warning C46 Warning C47 Error C48 Error C49 Error C50 Error C51 Warning C52 Error C53 Error C54 Error C55 Error C56 Warning C57 Error C58 Error C59 Error C60 Error C61 Error C62 Error C63 Error C64 Error C65 Error C66 Error C67 Error C68 Error C69 Error C70 Error C71 Warning C72 Error C73 Error C74 Error C75 Error C76 Error C77 Error C78 Error C79 Error C80 Error C81 Error C82 Error C83 Error C84 Error C85 Error C86 Error C87 Error C88 Warning C89 Error C90 Warning C91 Error C92 Error C93 Error C94 Error C95 Warning C96 Error C97 Warning C98 Error C99 Error C100 Warning C101 Warning C102 Error C103 Error C104 Warning C105 Error C106 Warning C107 Error C109 Error C110 Warning C111 Warning C112 Warning C113 Warning C114 Warning C115 Error C116 Error C117 Warning C118 Error C119 Error C120 Error C121 Error C122 Error C123 Warning C124 Error C125 Error C126 Error C127 Error C128 Error C129 Error C130 Error C131 Error C132 Error C133 Warning C135 Error C136 Warning C137 Warning C138 Error C139 Warning C140 Error C141 Error C142 Error C143 Error C144 Warning C145 Warning C146 Error C148 Warning C149 Warning C150 Warning C151 Error C152 Warning C153 Error C154 Error C155 Error C156 Error C159 Error C160 Warning C161 Error C167 Error C168 Error C169 Error C170 Error C171 Error C172 Warning C173 Warning C174 Error C175 Error C176 Warning C177 Warning C179 Warning C180 Error C181 Warning C182 Warning C183 Warning C184 Warning C186 Error C187 Warning C188 Warning C189 Error C190 Error C191 Error C192 Warning C193 Warning C194 Warning C195 Error C196 Error C198 Warning C199 Warning C200 Warning C201 Warning C202 Warning C203 Warning C204 Warning C205 Warning C206 Warning C207 Warning C208 Warning C209 Warning C210 Warning C211 Warning C212 Warning C213 Error C214 Error C300 Error C301 Error C302 Error C303 Error C304 Error C305 Error C306 Error C307 Error C308 Error C309 Error C310 Error C311 Error C312 Error C313 Error C314 Error C315 Error C316 Warning C317 Error C318 Error C319 Error C320 Error C321 Warning C322 Warning C323 Warning C324 Error C325 Error C326 Error C327 Error C328 Warning C500 Library Reference Appendix


The following pages describe the errors and warnings generated by the C251 Compiler. Messages are listed in numerical order and each is divided into several sections:

Summary Briefly describes the error or warning.
Description Provides a detailed description of the problem encountered.
Cause Describes typical causes of the problem.
Resolution Describes ways you can solve the problem.
Example Gives a function or program fragment that causes the error or warning.
See Also Provides related information.

C251 Compiler exceptions are listed in the table below.

Exception Exception type Descriprion
C1 Error Misplaced Primary Directive, Line Ignored
C2 Warning Unknown #pragma Directive, Line Ignored
C3 Error ASM/ENDASM Not Allowed in Include File
C4 Error SAVE/RESTORE: Save-Stack Overflow/Underflow
C5 Error ASM Requires SRC Directive
C6 Error Invalid Argument Given to #pragma
C8 Error Code Size Exceeds 64K
C9 Warning Function Pointer: huge Changed to far
C10 Warning Conversion: type operator type
C11 Error Internal Error: message
C13 Warning Unsafe Conversion: type Truncated to Short Pointer
C14 Warning operator: Unsafe Conversion - Boolean to Pointer
C15 Error Floating-Point Error
C16 Error Unprintable Character 0xnn Skipped
C17 Error Unclosed String
C18 Error String Too Long
C19 Error '\c': Invalid Character Constant
C20 Error '\esc': Value Exceeds 255
C21 Error 'c': Illegal Octal Digit
C22 Error Constant Too Big
C23 Error Bad Syntax in Floating-Point Number
C24 Error Hex Constants Must Have At Least One Hex Digit
C25 Error Syntax Error Near token
C26 Error Expression Too Complex, Simplify
C27 Error Illegal Type Specifier
C28 Error More Than One Storage Class
C29 Error Formal Parameter Has Illegal Storage Class
C30 Error Same Type Qualifier Used More Than Once
C31 Error Declarator Too Complex (20)
C32 Error Type-Stack Underflow
C33 Error identifier: Invalid Storage Class
C34 Warning Missing Declaration Specifiers
C35 Warning identifier: Uses Old-Style Declarator
C36 Error Missing Declarator
C37 Error Nonstandard Extension - Unnamed Parameter
C38 Warning Empty Translation Unit
C39 Error identifier: Typedef May Not be Used for Function Definition
C40 Warning type Converted to memory-space Pointer
C41 Error Duplicate Function-Parameter
C42 Error Not in Formal Parameter List
C43 Error memory-space on Parameter Ignored
C44 Error Illegal Use of memory-space Specifier
C45 Error Memory Attribute Ignored
C46 Warning Storage Class class Ignored
C47 Warning identifier: Unreferenced Item
C48 Error identifier: struct/union Type Redefinition
C49 Error tag-name: Not a union Tag
C50 Error tag-name: Not a struct Tag
C51 Error tag-name: Not an enum Tag
C52 Warning Use of Undefined Type tag-name
C53 Error Redefinition of identifier
C54 Error identifier: Duplicate Label
C55 Error identifier: Undefined Label
C56 Error '{', Scope Stack Overflow (31)
C57 Warning Parameter number: Different From Declaration
C58 Error identifier: Requires ANSI Style Prototype
C59 Error '=': Address of R-Value Taken
C60 Error identifier: Duplicate Member
C61 Error Duplicate Parameter
C62 Error Actual Parameters Must Fit Into Registers
C63 Error bit Illegal in Reentrant Function
C64 Error identifier: static Function Declared But Not Defined
C65 Error Illegal Use of near/far/huge
C66 Error Invalid Dereference
C67 Error identifier: Undefined Identifier
C68 Error Left Side of -> Requires struct/union Pointer
C69 Error Left Side of . Requires struct/union
C70 Error identifier: Undefined Member
C71 Error Subscript Requires Array or Pointer Type
C72 Warning sizeof Returns Zero
C73 Error sizeof Illegal Operand Taken
C74 Error Type Follows void
C75 Error void Follows Other Types
C76 Error Formal Parameter Ignored
C77 Error identifier: Invalid or Conflicting Memory Space
C78 Error PL/M-Function May Not be Reentrant
C79 Error '*' Indirection to Object of Unknown Size
C80 Error '*' Illegal Indirection
C81 Error Call Not to a Function
C82 Error '+': Two Pointers
C83 Error operator: Incompatible Types
C84 Error Illegal Type Conversion
C85 Error void Illegal With All Types
C86 Error operator: void Illegal With All Types
C87 Error Illegal Type Conversion on struct/union Type
C88 Error operator: Invalid Left/Right Operand Type
C89 Warning operator: Different Levels of Indirection
C90 Error operator: Different struct/union Types
C91 Warning operator: Pointer to Different Objects
C92 Error operator: Requires L-Value
C93 Error operator: bit or Bit Field Not Allowed
C94 Error identifier: Declared With void Parameter List
C95 Error identifier: Too Many Actual Parameters
C96 Warning identifier: Too Few Actual Parameters
C97 Error Parameter number: Incompatible Types
C98 Warning Parameter number: Pointer to Different Objects
C99 Error operator: L-Value Specifies a const Object
C100 Error operator: Left/Right Operand Must be an L-Value
C101 Warning L-Value Specifies a const/code Object
C102 Warning operator: Different const/volatile Qualifiers
C103 Error Illegal Function Definition (Missing ';')
C104 Error Different Function Types
C105 Warning Unnamed Type Definition in Parentheses
C106 Error '&' on Constant
C107 Warning Address of Automatic: Dangling Reference
C109 Error Illegal Constant Expression
C110 Error Non-Constant Array Dimension or case Expression
C111 Warning Division by Zero
C112 Warning Modulo by Zero
C113 Warning Nonstandard Extension: Cast on L-Value Was Used
C114 Warning operator: Integral Constant Overflow
C115 Warning operator: Applied to Unsigned Type, Result Still Unsigned
C116 Error Negative Subscript
C117 Error Constant Expression: Value Out of Range
C118 Warning identifier: Enumeration Value Out of Range
C119 Error identifier: Bit-Field Type Too Small for Number of Bits
C120 Error identifier: Named Bit-Field Cannot Have 0 Width
C121 Error identifier: char/int Type Required for Bit Fields
C122 Error identifier: Unknown Size
C123 Error identifier: Allocation Exceeds 64K
C124 Warning identifier: Illegal Pointer: bit *
C125 Error identifier: Array of Invalid Type
C126 Error identifier: Function Returning Invalid Type
C127 Error identifier: Member Has Invalid Type
C128 Error identifier: Self Relative struct/union
C129 Error identifier: Uses Undefined struct/union tag-name
C130 Error break/continue: Missing Enclosing Loop
C131 Error case/default: Missing Enclosing switch
C132 Error case Value number Already Used
C133 Error More Than One default
C135 Warning function-name: No Return Value
C136 Error Return Value on void Function
C137 Warning Constant in Condition Expression
C138 Warning Expression With Possibly No Effect
C139 Error Expression Has Illegal Type
C140 Warning identifier Undefined
C141 Error identifier: Too Many Initializers
C142 Error Illegal Initialization
C143 Error identifier: Initializer Is Not a Constant
C144 Error identifier: Initialization Needs Curly Braces
C145 Warning Non-L-Value struct Converted to Pointer
C146 Warning identifier: Slightly Different Types
C148 Error Initializer Uses An Auto-Address
C149 Warning Potential Pointer Truncation
C150 Warning memory-space Pointer Converted to memory-space Pointer
C151 Warning Pointer Truncation memory-space to memory-space
C152 Error Bad Type Conversion: type to type
C153 Warning operator: Different Spaced Pointer (memory-space, memory-space)
C154 Error Cannot Allocate An Array of Constant Size 0
C155 Error Invalid Base Address
C156 Error Invalid sbit Declaration
C159 Error Invalid or Out of Range _at_ Address
C160 Error operator: Invalid Memory Space
C161 Warning memory-space Pointer Truncated to type
C167 Error Intrinsic function-name: Declaration or Activation Error
C168 Error Item: Value Not in Range range
C169 Error Illegal Task Definition (Task ID/Priority)
C170 Error Constant Value Not in Range range
C171 Error Interrupt/Using: Can't Receive or Return Values
C172 Error Segment segment-name: Segment Too Big (Act=Actvalue, Max=Maxvalue)
C173 Warning operator: signed/unsigned Type Mismatch
C174 Warning identifier: Unreferenced static Function
C175 Error identifier: More Than 128/768 Local bits
C176 Error identifier: Automatics Require More Than 16,384 Bytes
C177 Warning Unreachable Code
C179 Warning function-name: Out of Memory While Optimizing Function
C180 Warning function-name: Not Every Path Returns a Value
C181 Error identifier: Unknown Size
C182 Warning identifier: Unknown Size, Assumed to be extern
C183 Warning Dead Assignment Eliminated
C184 Warning Value of identifier Possibly Undefined
C186 Warning Meaningless Use of an Expression
C187 Error identifier: Size of Actual Exceeds MAXARGS
C188 Warning identifier: Truncation of Constant Value
C189 Warning Pointer Constant Truncated to number Bits
C190 Error function-name: Recursive Call to Non-Reentrant Function
C191 Error function-name: Potential Run-Time Problem With K&R Parameters
C192 Error identifier: Different near/far Attribute
C193 Warning Memory Space Causes identifier to be Located in Memory
C194 Warning Obsolete Declaration: Use Type Space identifier
C195 Warning identifier: Not Mapped to Register
C196 Error identifier: Incomplete Type
C198 Error Invalid _at_ Specifier Ignored
C199 Warning Multiple OPTIMIZE Controls; Last One is Used
C200 Warning MX2 - Reentrant: Adjusted to large reentrant
C201 Warning identifier: _exception_ Vector number Already in Use
C202 Warning identifier: Calling Exception Handler identifier
C203 Warning External _at_ Specifier Ignored
C204 Warning identifier: Calling Interrupt Handler identifier
C205 Warning identifier: __level_call Function Address Truncated
C206 Warning identifier: Specifies Type array
C207 Warning identifier: Pointer to Integer of Different Size
C208 Warning identifier: Shift Factor Out of Range, Truncated
C209 Warning identifier: Integral Size Mismatch
C210 Warning User-message: message
C211 Warning identifier: Class ecode Mapped to code (ecode Requires ROM(HUGE))
C212 Warning identifier:different sized pointers
C213 Warning identifier: sdata initialization requires MMU setup in startup code
C214 Error using/disable: Can't Return bit Value
C300 Error Unterminated Comment
C301 Error identifier Expected
C302 Error Misused # Operator
C303 Error Formal Argument Expected
C304 Error Bad Macro Parameter List
C305 Error Unterminated String/char Constant
C306 Error Unterminated Macro Call
C307 Error Macro macro-name: Parameter Count Mismatch
C308 Error Invalid Integer Constant Expression
C309 Error Bad or Missing File Name
C310 Error Conditionals Too Nested (20)
C311 Error Misplaced elif/else Control
C312 Error Misplaced endif Control
C313 Error Can't Remove Predefined Macro macro-name
C314 Error Bad # Directive Syntax
C315 Error Unknown # Directive identifier
C316 Error Unterminated Conditionals
C317 Warning Redefinition of Macro macro-name
C318 Error Can't Open File file-name
C319 Error file-name: Not a Disk File
C320 Error User_error_ Text
C321 Error Missing character
C322 Warning Unknown identifier
C323 Warning New-line Expected, Extra Character Found
C324 Warning Preprocessor Token Expected
C325 Error Duplicate Formal Parameter identifier
C326 Error Macro Body Cannot Start or End With ##
C327 Error Macro macro-name: More Than 50 Parameters
C328 Error Misplaced ASM/ENDASM
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.