On Fri, 21 Mar 2003, Philip Hazel wrote:
> Try http://std.dkuug.dk/JTC1/SC22/WG14/www/docs/n843.htm which seems to
> be a working document for the next standard. But it contains the
> relevant text about __DATE__.
>
> I also found http://www.lysator.liu.se/c/rat/title.html which is the
> Rationale for the existing standard. It contains this:
>
> The macros __DATE__ and __TIME__ have been added to make available the
> time of translation. A particular format for the expansion of these
> macros has been specified to aid in parsing strings initialized by
> them.
Thanks for these links. I spent some time on apple's site yesterday and
couldn't find any mention of the non-standard format. I did however find
this:
http://developer.apple.com/techpubs/macosx/DeveloperTools/gcc3/cpp/Standard-Predefined-Macros.html
which explicitly states:
__DATE__
This macro expands to a string constant that describes the date on which
the preprocessor is being run. The string constant contains eleven
characters and looks like "Feb 12 1996". If the day of the month is less
than 10, it is padded with a space on the left.
So they actually seem to have broken their own standard. I opened a bug
report this morning after a post in the forums got no response. Their bug
tracking system is a little frustrating because it won't let you see the
details once you report it, but from what I can tell it is being looked
at.
Thanks again for your help,
--John