Do not use uppercase only symbols

Device-specific headers (ie: p18fxxx.h files) contain variable declarations and constant definitions. This may lead to clashes with your own declarations. For example

struct Z { int a,b ; } ;

will lead to unexpected and hard to understand error message. The reason is simple: Z is defined by a macro as a numeric constant so your code will be expanded by the preprocessor to something like:

struct 2 { int a,b ; } ;
which is hard to understand for the compiler. Hopefully, this situation is simple to avoid because the headers define uppercase only symbols. Do not use this kind of symbols yourself.



AG 2013-04-10