In my project I include stddef.h but find error on __CX2__
it's a bug or not
I try to modify it to #if defined (__CX2__) and passed.
what mains about __CX2__ ?
Have you looked it up in the Manuals?
It isn't mentioned here:
www.keil.com/.../c51_pp_predefmacroconst.htm
Are there no comments in the file to guide you?
Is this a standard Keil stddef.h, or have you obtained it from a 3rd party?
As Dan says, you need to show precisely what error(s) you are getting: copy and paste the entire message - don't try to manually re-type it.
Before doing that, Have you looked-up the message in the Manuals?
http://www.keil.com/support/man/docs/c51/c51_errors.htm
The error message is warning C322: unknow indentifier
so I think the stddef.h of Ver 8.17a is error but other version's stddef.h is passed
You can see Ver8.17a's stddef.h for detail
The macro define of __CX2__ is a new iddentifier in VER8.17a
Thanks
Wouldn't it have helped if you had posted this declaration?
It obviously isn't the __CX2__ symbol that is unknown or missing, since preprocessor symbols are not unknown or missing. Just what they possibly expand to.
Keil want me to fill in too much information for me to be interested in checking what the currently available version is.
Here (I think) is the fragment that the OP is talking about:
#if __CX2__ typedef int ptrdiff_t; #else typedef long ptrdiff_t; // changed to 'long' due to 'far' pointer support #endif
This block appears to have been added in the latest release 8.17a
View all questions in Keil forum