// Filename: test.c
#include <sys/types.h>
int main() {
uint a;
return 0;
}
上記のコードは、gcc を使用してコンパイルでき、gnu89 や gnu99 などの標準で clang を使用できます。つまり、次のように動作します。
$gcc test.c # for the default is std=gnu89
$clang test.c # for the default is std=gnu99
ただし、以下は「undeclared uint」というエラーで失敗します。
$gcc -std=c99 test.c
$clang -std=c99 test.c
c99標準でuintの定義が消えた理由を説明できますか?