Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 User Manual

Product codes
SW006021-1
Page of 518
MPLAB
®
 XC8 C Compiler User’s Guide
DS52053B-page 402
 2012 Microchip Technology Inc.
(319) while expected 
(Parser)
The keyword while is expected at the end of a do statement, for example:
do {
  func(i++);
}             /* do the block while what condition is true? */
if(i > 5)     /* error flagged here */
  end();
(320) ":" expected 
(Parser)
colon is missing after a case label, or after the keyword default. This often occurs 
when a semicolon is accidentally typed instead of a colon, for example:
switch(input) {
  case 0;         /* oops -- that should have been: case 0: */
    state = NEW;
(321) label identifier expected 
(Parser)
An identifier denoting a label must appear after goto, for example:
if(a)
  goto 20;
/* this is not BASIC -- a valid C label must follow a goto */
(322) enum tag or "{" expected 
(Parser)
After the keyword enum must come either an identifier that is or will be defined as an 
enum
 tag, or an opening brace, for example:
enum 1, 2;  /* should be, for example: enum {one=1, two }; */
(323) struct/union tag or "{" expected 
(Parser)
An identifier denoting a structure or union or an opening brace must follow a struct 
or union keyword, for example:
struct int a;  /* this is not how you define a structure */
You might mean something like:
struct {
  int a;
} my_struct;
(324) too many arguments for printf-style format string 
(Parser)
There are too many arguments for this format string. This is harmless, but may repre-
sent an incorrect format string, for example:
/* oops -- missed a placeholder? */
printf("%d - %d", low, high, median);
(325) error in printf-style format string 
(Parser)
There is an error in the format string here. The string has been interpreted as a 
printf()
 style format string, and it is not syntactically correct. If not corrected, this will 
cause unexpected behavior at run time, for example:
printf("%l", lll);  /* oops -- maybe: printf("%ld", lll); */
(326) long int argument required in printf-style format string 
(Parser)
A long argument is required for this format specifier. Check the number and order of 
format specifiers and corresponding arguments, for example:
printf("%lx", 2);  // maybe you meant: printf("%lx", 2L);