The following code: fwsUniChar c; fwsUniChar *temp; temp=p->inPtr; c = *temp; temp++; p->inPtr = temp; correctly increments the pointer p by 0x01 instead of fwsUniChar c = p->inPtr++; which incorrectly increments the pointer p by 0x101 This code compiles and runs correctly with ANSI C compilers Also routine1() reentrant { enum ElementTagType type; routine2(&type); } routine2(enum ElementTagType *type) { type = START_TAG; } does not work (i.e. type in routine1 is not set to START_TAG after calling routine 2. There is a default XBPSTACK Any Ideas Thanks Barry
Jon, I am using the same tools for the Dallas 400 chip. Keil has reproduced both prolems and is working on a fix (I hope). I have also found another reentrant and &ptr problem. Which I have reported to Keil. Thanks for the simple example. Barry