mr_organic wrote:
Quote
So is it fair to say that there is no C99-conformant compiler in the
Windows market now?
Possbily. I have no need of the C99 language so I have not researched
for existing implementations. Note that C99 replaces the existing C89
standard, so if your 'C' vendor does not implement C99, they do not
implement a conforming C compiler.
One of the problems of the C++ standard is that it
includes-by-reference a standard that is no longer available - try
buying an out of date standard from ISO and you will see what I mean!
There are also certain 'blended' implementations that support elements
of C99 as a conforming extension to C++. For instance, _Pragma sits in
the list of identifiers reserved to the implementation, so a vendor can
choose to implement this feature as specified in C99 as a conforming
C++ extension. While you cannot implement the entire standard this way
(new keywords are awkward for a start!) you can certainly make some
progress.
Quote
If Microsoft is tracking the ISO C++ standard, then it too will not
compile C99-based C code.
I am not sure what Microsoft are doing precisely, but I'm not familiar
with their efforts on straight C++. Last I heard they had no intention
of implementing a fully conforming C++ compiler, the export keyword and
2-phase looking for templates being the two most notable omissions.
Quote
Am I missing something obvious here? If I want to write pure, C99-
compliant C code targetting a WIN32 platform, what toolset can I use?
I was fairly sure that EDG sold a C99 conforming front end, and
Dinkumware have the library, so it should be possible to put out a C99
toolset. It has not bothered me significantly enough to seek one out
though, and as Alex says - the parallels with finding a conforming C++
compiler are scary <g>
Off the record, I suspect the most controversial parts of C++0x to
implement will continue to be holdovers from C++98. The language is
already large and complex enough without adding the kitchen sink, so
additions will be carefully chosen and almost certainly have at least
one implementation before being accepted. That said, we'll see what
sneaks under the wire as the process comes to an end - at some point
you have to stop, write the words and ship!
AlisdairM(TeamB)