OpenWatcom/C99
OpenWatcom/C99
wcl/wcl386のコンパイラはデフォルトでC89+Watcom拡張(オプション -we)なのでC99コードをコンパイルしたいときは -za99 を明示的に指定する必要がある(このオプション、ドキュメント上にまともな記述がないような…?)。
#include <stdio.h> int main(void) { #if defined(__STDC__) printf("__STDC__ %d\n", __STDC__ ); #endif #if defined(__STDC_VERSION__) printf("__STDC_VERSION__ %ldL\n", __STDC_VERSION__ ); return 1; #else return 0; #endif }
結果:
>wcl386 -zq -s -ze is_c99.c && is_c99.exe __STDC__ 1 __STDC_VERSION__ 199409L >wcl386 -zq -s -za is_c99.c && is_c99.exe __STDC__ 1 __STDC_VERSION__ 199409L >wcl386 -zq -s -za99 is_c99.c && is_c99.exe __STDC__ 1 __STDC_VERSION__ 199901L
gccでいうところの"-std=gnu99"的なオプションはないみたい(-we99とか指定したらエラーだった)なのですが、-za99でC99+Watcom拡張状態なんですかね…?