Of the new stuff, including the very ubiquitous long long, I cannot remember anything that Metrowerks CodeWarrior had left out of its C99 support. I know some compilers had already gone the __int64 direction including Watcom C/C++, Edinburgh Portable Compilers Ltd., Borland and Microsoft. I don't know if they caught up, but I rather suspect that Microsoft has. Intel's and Metrowerks' compilers supported long long, for example, years before 1999, as had gcc, I believe (at least, when I look at the stdint.h I produced for developing to Novell's NetWare SDK, I'm seeing that I was convinced very early on--at least by 1999--that it supported long long).

Much of C99 progress beyond C89 occurs in header files (uint64_t, bool, etc.) and library support.

The modeline suggestion certainly works. I'd put it at the bottom of the file where nobody ever goes to look and won't care if they find it. Also, a modeline-based recognition can be implemented anyway--in addition to anything else you might choose to do.



Max Dyckhoff wrote:
c89 is considerably more portable than c99. Out of popular compilers,
only gcc implements c99 (I know only gcc and VC). c99 is still
largely ignored by some  commercial compiler, notably VC.
If you want your C code to be widely portable, you'd avoid
c99, for practical reasons.

How interesting, you learn something new every day!


Did you try the suggestion that I made, or is it not appropriate?
Changing extension to .c89/.c99 is not an option.
gcc even does not understand such file extensions, only *.c

What about my modeline suggestion then?

Max

Reply via email to