C言語機能テスト結果2

(元のページに戻る)

C言語機能テスト結果1 のコンパイラを C++ に強制してコンパイルした場合の結果。
とくに [C++非互換 機能] がどう違うかをみるために試してみたもの.

[c基本機能]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
option
コンパイラオプション
-TP -EHsc -GR -Zc:forScope左に同じ左に同じ-TP -EHsc -GR-cpp -Aa -Ab -Ae -Ar-cc++-P
c/plain_char_is_signed.c
char の符号
signedsignedsignedsignedsignedsignedsignedsignedunsignedsigned
c/char_bit_size.c
char のビット数
8888888888
c/sizeof_char.c
char のバイト数
1111111111
c/sizeof_short.c
short のバイト数
2222222222
c/sizeof_int.c
int のバイト数
4444444444
c/sizeof_long.c
long のバイト数
4444444444
c/sizeof_ptr.c
ポインタのバイト数
8448444444
c/sizeof_float.c
float のバイト数
4444444444
c/sizeof_double.c
double のバイト数
8888888888
c/sizeof_longdouble.c
long double のバイト数
161212888810810
c/short_int.c
short int と記述できるか
passpasspasspasspasspasspasspasspasspass
c/unsigned_short_int.c
unsigned short int と記述できるか
passpasspasspasspasspasspasspasspasspass
c/unsigned_int.c
unsigned int と記述できるか
passpasspasspasspasspasspasspasspasspass
c/long_int.c
long int と記述できるか
passpasspasspasspasspasspasspasspasspass
c/unsigned_long_int.c
unsigned long int と記述できるか
passpasspasspasspasspasspasspasspasspass
c/cmp_int_uint.c
int値とunsigned値の比較(int→unsigned整数昇格)
passpasspasspasspasspasspasspasspassfail[e]
c/m1div4294967295.c
整数昇格の都合で -1/4294967295 の結果が 0(C99以降) か 1(以前)か
1101111011
c/macro_ifdef.c
#ifdef が使えるか
passpasspasspasspasspasspasspasspasspass
c/macro_define.c
引数有の #define マクロが使えるか
passpasspasspasspasspasspasspasspasspass
c/macro_file_line.c
__FILE__ __LINE__ __DATE__ __TIME__ があるか
passpasspasspasspasspasspasspasspasspass
c/bitfield.c
ビットフィールドが使えるか
passpasspasspasspasspasspasspasspasspass
c/local_var_init.c
ローカル変数定義で初期値が使えるか
passpasspasspasspasspasspasspasspasspass
c/local_block_var.c
ブロック内でローカル変数定義できるか
passpasspasspasspasspasspasspasspasspass
c/local_static_var.c
関数ローカルでstatic変数定義できるか
passpasspasspasspasspasspasspasspasspass
c/local_block_static_var.c
ブロック内でstatic変数定義できるか
passpasspasspasspasspasspasspasspasspass
c/union.c
union が使えるか
passpasspasspasspasspasspasspasspasspass
c/struct1.c
構造体が使えるか
passpasspasspasspasspasspasspasspasspass
c/struct2.c
同名のメンバー名が他のstructで別の型・相対位置でも使えるか
passpasspasspasspasspasspasspasspasspass
c/number_of_int32_without_l.c
サフィックス無で32ビット符号付整数リテラルが使えるか
enableenableenableenableenableenableenableenableenableenable
c/number_of_uint32_without_ul.c
サフィックス無で32ビット符号無16進整数リテラルが使えるか
enableenableenableenableenableenableenableenableenableenable
c/number_of_int64_without_ll.c
サフィックス無で64ビット符号付整数リテラルが使えるか
enableenableenableenableenableenableenableno supportenableenable
c/number_of_uint64_without_ull.c
サフィックス無で64ビット符号無16進整数リテラルが使えるか
enableenableenableenableenableenableenableenableenableenable
[old-c特有]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
kr/extern_in_func.c
関数中のextern 宣言が関数外に影響するか
no supportno supportno supportno supportno supportno supportno supportno supportenableno support
kr/oct0809.c
8進数リテラルで 8・9が使えてしまうか
no supportno supportno supportno supportno supportno supportno supportno supportno supportno support
[c90 で確定した機能]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
c90/sizeof_signed_char.c
signed char のバイト数
1111111111
c90/sizeof_unsigned_char.c
unsigned char のバイト数
1111111111
c90/sizeof_wide_ch.c
L'C' のバイト数
2222222222
c90/sizeof_is_unsigned.c
sizeofした結果の値の型がunsignedか
passpasspasspasspasspasspasspasspasspass
c90/number_of_uint.c
後ろに U を付けた整数リテラルが使えるか
passpasspasspasspasspasspasspasspasspass
c90/number_of_long.c
後ろに L を付けた整数リテラルが使えるか
passpasspasspasspasspasspasspasspasspass
c90/number_of_ulong.c
後ろに UL を付けた整数リテラルが使えるか
passpasspasspasspasspasspasspasspasspass
c90/number_of_flt.c
後ろに F を付けたfloatリテラルが使えるか
passpasspasspasspasspasspasspasspasspass
c90/number_of_ldbl.c
後ろに L を付けた long double リテラルが使えるか
passpasspasspasspasspasspasspasspasspass
c90/macro_bsl_join.c
#行の末に \ を置いて次行を連結できるか
passpasspasspasspasspasspasspasspasspass
c90/macro_if.c
#if が使えるか
passpasspasspasspasspasspasspasspasspass
c90/macro_elif.c
#elif が使えるか
passpasspasspasspasspasspasspasspasspass
c90/macro_defined.c
#ifで defined が使えるか
passpasspasspasspasspasspasspasspasspass
c90/macro_pragma.c
#pragma が使えるか(未対応の指定でエラーにならないか)
passpasspasspasspasspasspasspasspasspass
c90/macro_to_str.c
マクロで #による"文字列"リテラル化ができるか
passpasspasspasspasspasspasspasspasspass
c90/macro_cat.c
マクロで ## による連結が行えるか
passpasspasspasspasspasspasspasspasspass
c90/macro_tok_cat.c
トークン連結マクロが使えるか
passpasspasspasspasspasspasspasspasspass
c90/comment_to_spc.c
/*コメント*/ が空白扱いになっているか
passpasspasspasspasspasspasspasspasspass
c90/str_join.c
隣接する "文字列リテラル" が連結するか
passpasspasspasspasspasspasspasspasspass
c90/entry.c
かって予約語だったentryがユーザ定義の名前として使えるか
passpasspasspasspasspasspasspasspasspass
c90/enum.c
enum が使えるか
passpasspasspasspasspasspasspasspasspass
c90/func_arg_struct.c
関数引数で構造体の値渡を使えるか.
passpasspasspasspasspasspasspasspasspass
c90/func_arg_ppp.c
可変引数指定 ... が使えるか
passpasspasspasspasspasspasspasspasspass
c90/func_ptr_call.c
関数へのポインタを用いて単純な関数呼出が記述できるか
passpasspasspasspasspasspasspasspasspass
c90/plus.c
単項 + が使えるか
passpasspasspasspasspasspasspasspasspass
c90/switch_long.c
switch の分岐値として long 型が使えるか
passpasspasspasspasspasspasspasspasspass
c90/struct_ini_comma.c
struct 型の初期値で余分にカンマがあっても良いか.
passpasspasspasspasspasspasspasspasspass
c90/struct_copy.c
構造体変数同士の代入が行えるか
passpasspasspasspasspasspasspasspasspass
c90/struct_local_ini.c
ローカル構造体変数の定義で初期値を記述できるか
passpasspasspasspasspasspasspasspasspass
c90/struct_of_funcResult.c
構造体値を関数の帰値にできるか
passpasspasspasspasspasspasspasspasspass
c90/union_ini.c
共用体の初期化が行えるか
passpasspasspasspasspasspasspasspasspass
c90/union_local_ini.c
共用体のローカル変数の初期化が行えるか
passpasspasspasspasspasspasspasspasspass
c90/const_var.c
const 変数定義できるか
passpasspasspasspasspasspasspasspasspass
c90/volatile_var.c
volatile変数定義できるか
passpasspasspasspasspasspasspasspasspass
c90/void_arg.c
引数無関数宣言で引数に void 指定できるか
passpasspasspasspasspasspasspasspasspass
c90/const_volatile_var.c
const volatile 変数できるか
passpasspasspasspasspasspasspasspasspass
c90/wide_char.c
L'A'のようなワイド文字リテラルが使えるか
passpasspasspasspasspasspasspasspasspass
c90/wide_cstr.c
L"str"のようなワイド文字列リテラルが使えるか
passpasspasspasspasspasspasspasspasspass
c90/wide_cstr_join.c
隣接ワイド文字列リテラル同士の連結が行われるか
passpasspasspasspasspasspasspasspasspass
[c99 で追加された機能]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
c99 option
c99 有効化オプション
-std=c++11左に同じ左に同じ-za99
c99/sizeof_llong.c
long long のバイト数
888888no support8no supportno support
c99/sizeof_ullong.c
unsigned long long のバイト数
888888no support8no supportno support
c99/number_of_llong.c
後ろに LL のついた整数リテラルが使えるか
passpasspasspasspasspassfail[c]passfail[c]fail[c]
c99/number_of_ullong.c
後ろに ULL のついた整数リテラルが使えるか
passpasspasspasspasspassfail[c]passfail[c]fail[c]
c99/switch_llong.c
switch で long long 値が使えるか
passpassfail[c]passpasspassfail[c]fail[e]fail[c]fail[c]
c99/enum_ini_comma.c
enum 定義で最後に余分なカンマを置けるか
passpasspasspasspasspasspasspassfail[c]pass
c99/mod_minus.c
負値のある%計算がc99の仕様になっているか
passpasspasspasspasspasspasspassfail[c]pass
c99/m1div4294967295.c
整数昇格の都合で -1/4294967295 の結果が 0(C99以降) か 1(以前)か
00011110no support1
c99/struct_memb_array_0.c
構造体メンバでサイズ 0 の配列を定義できるか
passpasspasspasspasspasspasspassfail[c]fail[c]
c99/line_comment.c
行コメント//が使えるか
passpasspasspasspasspasspasspassfail[c]pass
c99/line_comment_bsl_join.c
行コメント//の末に\があったとき次行が連結されるか
passpasspasspasspasspasspasspassfail[c]pass
c99/macro_empty_arg1.c
1引数マクロで引数が空の場合に対応しているか
enableenableenableno supportno supportno supportno supportenableno supportno support
c99/macro_empty_arg2.c
2引数マクロで引数が空の場合に対応しているか
passpasspasspasspasspassfail[e]passfail[c]pass
c99/macro_va.c
可変引数マクロを使えるか
passpasspasspasspassfail[c]fail[c]passfail[c]fail[c]
c99/macro_va_2.c
可変引数マクロから作った引数有マクロを使えるか
passpasspassfail[c]fail[c]fail[c]fail[c]passfail[c]fail[c]
c99/__func__.c
__func__ が使えるか
passpasspassfail[c]fail[c]fail[c]fail[c]passfail[c]fail[c]
c99/_Pragma.c
_Pragma が使えるか
passpasspassfail[c]fail[c]fail[c]fail[c]fail[c]fail[c]fail[c]
c99/inline_func.c
関数の inline 指定が使えるか
passpasspasspasspasspasspasspassfail[c]fail[c]
c99/wide_cstr_join99.c
ワイド文字列リテラルとそうでない文字列リテラルの連結が行えるか
passpasspassfail[c]fail[c]fail[c]fail[c]passfail[c]pass
c99/hexfloat.c
16進数浮動小数点リテラルが使えるか
passpasspassfail[c]fail[c]fail[c]fail[c]passfail[c]fail[c]
c99/compound_literal.c
(型名){...} による型値リテラルが使えるか
passpasspassfail[c]fail[c]fail[c]fail[c]fail[c]fail[c]fail[c]
c99/local_def_var.c
(c++のように)文の後でもローカル変数定義できるか
passpasspasspasspasspasspasspassfail[c]fail[c]
c99/for_def_var.c
for の第一項でローカル変数定義できるか
passpasspasspasspasspasspasspassfail[c]fail[c]
c99/unicode_esc_char.c
\u???? を文字列リテラル中に用いることができるか
passpasspasspasspasspassfail[e]passfail[c]fail[e]
c99/var_name_esc_unicode.c
\u???? を用いて変数定義できるか
fail[c]fail[c]fail[c]passpasspassfail[c]passfail[c]fail[c]
[c11で追加された機能]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
c11 option
c11有効化オプション
-std=c++11左に同じ左に同じ-za99
c11/dup_typedef.c
同じtypedef定義を複数回行えるか
passpasspasspasspasspasspasspassfail[c]pass
c11/anonymous_struct_in_union.c
union 定義中に 無名構造体を使えるか
passpasspasspasspasspasspasspassfail[c]pass
c11/anonymous_union_in_struct.c
struct 定義中に 無名共用体を使えるか
passpasspasspasspasspasspasspassfail[c]pass
c11/u8str.c
u8"文字列" を使えるか
passpasspassfail[c]fail[c]fail[c]fail[c]passfail[c]fail[c]
c11/u16str.c
u"文字列" を使えるか
passpasspassfail[c]fail[c]fail[c]fail[c]passfail[c]fail[c]
c11/u32str.c
U"文字列" を使えるか
passpasspassfail[c]fail[c]fail[c]fail[c]passfail[c]fail[c]
[日本語文字関係]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
SJIS option
SJIS有効化オプション
-finput-charset=cp932 -fexec-charset=cp932左に同じ-j0-zk1
c90/wide_char_sjis.c
SJISソースで L'字' が使えるか
passpassfail[c]passpasspasspassfail[e]passpass
c90/wide_char_utf8.c
UTF8ソースで L'字' が使えるか
passpasspassfail[e]fail[e]fail[e]fail[e]fail[c]fail[c]pass
c90/wide_cstr_sjis.c
SJISソースで L'字' L"文字列" が使えるか
passpassfail[c]passpasspasspasspassfail[e]pass
c90/wide_cstr_utf8.c
UTF8ソースで L'字' L"文字列" が使えるか
passpasspassfail[c]fail[c]fail[c]fail[c]fail[c]fail[c]fail[c]
c99/line_comment_sjis.c
SJISソースで 行末に0x5c(\)を含む文字を使って無問題か
passpassfail[e]passpasspasspasspassfail[c]pass
c99/var_name_utf8.c
UTF8ソースで 0x7fより大きい文字コードを名前に使えるか
fail[c]fail[c]fail[c]fail[c]fail[c]fail[c]fail[c]fail[c]fail[c]fail[c]
c99/var_name_sjis.c
SJISソースで 0x7fより大きい文字コードを名前に使えるか
fail[c]fail[c]fail[c]passpassfail[c]fail[c]fail[c]fail[c]fail[c]
c99/macro_name_utf8.c
UTF8ソースで 0x7fより大きい文字コードをマクロ名に使えるか
fail[c]fail[c]fail[c]fail[c]fail[c]fail[c]fail[c]fail[c]fail[c]fail[c]
c99/macro_name_sjis.c
SJISソースで 0x7fより大きい文字コードをマクロ名に使えるか
fail[c]fail[c]fail[c]passpassfail[c]fail[c]fail[c]fail[c]fail[c]
[c++仕様準拠]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
c++/void_main_return_0.c
void main で暗黙に 0を返すか
no supportno supportno supportenableenableenabledisable[e]enableenabledisable[e]
[VC/GCC 拡張共通]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
vc/sizeof_m128.c
__m128 のバイト数
16no support16161616no supportno supportno supportno support
vc/__restrict.c
__restrict が使えるか
enableenableenableenableenableno supportno supportenableno supportno support
gcc/__FUNCTION__.c
__FUNCTION__ が使えるか
enableenableenableenableenableenableno supportenabledisable[e]no support
vc/__COUNTER__.c
__COUNTER__ マクロが使えるか
enableenableenableenableenableenableno supportno supportno supportno support
vc/pragma_once.c
#pragma once が使えるか
enableenableenableenableenableenableenableenableenabledisable[e]
[VC の拡張機能]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
vc/sizeof_int64.c
__int64 のバイト数
no supportno supportno support8888888
vc/sizeof_unsigned_int64.c
unsigned __int64 のバイト数
no supportno supportno support8888888
vc/__cdecl.c
__cdecl が使えるか
enableenableenableenableenableenableenableenableenableenable
vc/__stdcall.c
__stdcall が使えるか
enableenableenableenableenableenableenableenableenableenable
vc/__fastcall.c
__fastcall が使えるか
enableenableenableenableenableenableenableenableenableenable
vc/__forceinline.c
__forceinline が使えるか
no supportno supportenableenableenableenableenableno supportno supportno support
vc/declspec_noinline.c
__declspec(noinline) が使えるか
enableenableenableenableenableenableno supportno supportno supportno support
vc/declspec_selectany.c
__declspec(selectany) が使えるか
enableenableno supportenableenableenableenableno supportno supportenable
vc/declspec_align.c
__declspec(align(N)) が使えるか
enableenableenableenableenableenableno supportno supportno supportno support
vc/declspec_noreturn.c
__declspec(noreturn) が使えるか
enableenableenableenableenableenableenableno supportno supportenable
vc/declspec_thread.c
declspec(thread) が使えるか
enableenableenableenableenableenableenableenableenableenable
vc/declspec_dllimport.c
__declspec(dllimport) を使えるか(コンパイルのみ)
enableenableenableenableenableenableenableenableenableenable
vc/declspec_dllexport.c
__declspec(dllexport) を使えるか(コンパイルのみ)
enableenableenableenableenableenableenableenableenableenable
vc/include_intrin.c
#include <intrin.h> できるか
enableno supportno supportenableenableno supportno supportno supportno supportno support
vc/_InterLockedIncrement.c
_InterLockedIncrement/_InterLockedDecrementが使えるか
enableno supportno supportenableenableno supportno supportno supportno supportno support
vc/_InterLockedExchange.c
_InterLockedExchange が使えるか
enableno supportno supportenableenableno supportno supportno supportno supportno support
vc/_ReadWriteBarrier.c
_ReadWriteBarrier が使えるか
no supportno supportno supportenableenableno supportno supportno supportno supportno support
vc/_ByteSwap.c
_ByteSwap_???? が使えるか
enableno supportno supportenableenableno supportno supportno supportno supportno support
vc/_BitScan.c
_BitScanForward/_BitScanReverseが使えるか
disable[e]no supportno supportenableenableno supportno supportno supportno supportno support
vc/_BitScan64.c
_BitScanForward64/_BitScanReverse64が使えるか
disable[e]no supportno supportenableno supportno supportno supportno supportno supportno support
vc/__FUNCSIG__.c
__FUNCSIG__ (関数定義文字列)マクロが使えるか
no supportno supportno supportenableenableenableno supportno supportno supportno support
vc/__FUNCDNAME__.c
__FUNCDNAME__ (マングル名文字列)マクロが使えるか
no supportno supportno supportenableenableenableno supportno supportno supportno support
vc/__pragma.c
__pragma が使えるか
no supportno supportno supportenableenableenableno supportno supportno supportno support
[gcc の拡張機能]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
gcc/sizeof_int128.c
__int128 のバイト数
16no support16no supportno supportno supportno supportno supportno supportno support
gcc/switch_i128.c
unsigned __int128 変数で switch が行えるか
enableno supportenableno supportno supportno supportno supportno supportno supportno support
gcc/binary_literal.c
2進数リテラル 0b???? が使えるか
enableenableenableno supportno supportno supportno supportenableno supportno support
gcc/attribute_alias.c
__attribute__( (alias("name")) ) が使えるか
enableenableenableno supportno supportno supportno supportno supportno supportno support
gcc/attribute_always_inline.c
__attribute__( (always_inline) ) が使えるか
enableenableenableno supportno supportno supportno supportno supportno supportno support
gcc/attribute_noinline.c
__attribute__( (noinline) ) が使えるか
enableenableenableno supportno supportno supportno supportno supportno supportno support
gcc/attribute_selectany.c
__attribute__( (selectany) ) が使えるか
enableenableno supportno supportno supportno supportno supportno supportno supportno support
gcc/attribute_weak.c
__attribute__( (weak) ) が使えるか
enableenableenableno supportno supportno supportno supportno supportno supportno support
gcc/attribute_aligned.c
__attribute__( (aligned(N)) ) が使えるか
enableenableenableno supportno supportno supportno supportno supportno supportno support
gcc/attribute_noreturn.c
__attribute__( (noreturn) ) が使えるか
enableenableenableno supportno supportno supportno supportno supportno supportno support
gcc/__thread_var.c
__thread 変数定義ができるか
enableenableno supportno supportno supportno supportno supportno supportno supportno support
gcc/__sync_add_and_fetch.c
__sync_add_and_fetch が使えるか
enableenableenableno supportno supportno supportno supportno supportno supportno support
gcc/__sync_val_compare_and_swap.c
__sync_val_compare_and_swap が使えるか
enableno supportenableno supportno supportno supportno supportno supportno supportno support
gcc/__builtin_bswap16.c
__builtin_bswap16 が使えるか
no supportno supportenableno supportno supportno supportno supportno supportno supportno support
gcc/__builtin_bswap3264.c
__builtin_bswap32 __builtin_bswap64 が使えるか
enableenableenableno supportno supportno supportno supportno supportno supportno support
gcc/__builtin_clz.c
__builtin_clz/__builtin_tlz/__builtin_popcount が使えるか
enableenableenableno supportno supportno supportno supportno supportno supportno support
gcc/__builtin_clzll.c
__builtin_clzll/__builtin_tlzll/__builtin_popcountll が使えるか
enableenableenableno supportno supportno supportno supportno supportno supportno support
gcc/__PRETTY_FUNCTION__.c
__PRETTY_FUNCTION__ が使えるか
enableenableenableno supportno supportno supportno supportenableno supportno support
gcc/include_next.c
#include_next が使えるか
enableenableenableno supportno supportno supportno supportno supportno supportno support
[= C++非互換 機能 =]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
c/sizeof_ch.c
'C' のバイト数
1111111114
kr/old_style_func.c
旧仕様の関数定義ができるか
no supportno supportno supportno supportno supportno supportno supportno supportno supportenable
kr/ref_register.c
register 変数のアドレスを取れるか
enableenableenableenableenableenableenableenableenableno support
c/default_type.c
型省略でint定義ができるか
no supportno supportno supportno supportno supportenableenableenableno supportenable
c/multi_def_var.c
同一グローバル変数を複数回定義できるか
no supportno supportno supportno supportno supportno supportno supportenableno supportenable
c/auto.c
C言語としての auto 指定ができるか
enableenableenableno supportenableenableenableenableenableenable
c/struct3.c
struct S{} と typedef struct{} S が別物として定義できるか
no supportno supportno supportno supportno supportno supportno supportno supportno supportenable
c/struct4.c
関数内の struct a 定義がグローバル変数 a を隠さないか
fail[e]fail[e]fail[e]fail[e]fail[e]fail[e]fail[e]fail[e]fail[e]enable
c/struct_struct.c
構造体Aの中で定義された構造体Bを外部で直接利用できるか
no supportno supportno supportno supportno supportno supportno supportno supportno supportenable
c/recersive_main.c
main()を再帰呼び出しできるか
enableenableenableenableenableenableenableenableno supportenable
c/sizeof_comma_op.c
char a[9]; sizeof( (char)0,a ) が 左辺値(9)か 右辺値( sizeof(char*) )か
lvaluelvaluelvaluelvaluervaluervaluervaluervaluelvaluervalue
[c90 の機能]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
c90/void_ptr.c
void* から他の型のポインタへキャスト無しで代入できるか
no supportno supportno supportno supportno supportno supportno supportno supportno supportenable
c90/const_var_unini.c
初期値指定無しの const 変数を使えるか
no supportno supportno supportno supportno supportno supportno supportenableno supportenable
c90/char_array_no_null.c
char a[N] を '\0'無で丁度長さNの文字列リテラルで初期化できるか
no supportno supportno supportno supportno supportno supportno supportenableno supportenable
c90/ref_array.c
配列名のみに対して & をつけてアドレスが取得できるか
no supportno supportno supportno supportno supportno supportno supportno supportno supportenable
c90/enum_var_set.c
enum 変数に直接整数値を設定できるか
no supportno supportno supportno supportno supportno supportno supportno supportno supportenable
c90/struct_def_func_ret.c
関数定義の返型で構造体定義できるか
no supportno supportno supportenableenableenableenableenableno supportenable
c90/struct_def_func_arg.c
関数定義の引数で構造体定義できるか
no supportno supportno supportno supportno supportno supportno supportno supportno supportenable
[c99 の機能]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
c99/__STDC_VERSION__.c
__STDC_VERSION__ が定義されているか。あればその値
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c99/__STDC_ISO_10646__.c
__STDC_ISO_10646__ が定義されているか。あればその値
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c99/__STDC_IEC_559__.c
__STDC_IEC_559__ が定義されているか。
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c99/__STDC_IEC_559_COMPLEX__.c
__STDC_IEC_559_COMPLEX__ が定義されているか。
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c99/__STDC_MB_MIGHT_NEQ_WC__.c
__STDC_MB_MIGHT_NEQ_WC__ が定義されているか。
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c99/sizeof_Bool.c
_Bool のバイト数
no supportno supportno supportno supportno supportno supportno supportno supportno supportno support
c99/sizeof_float_Complex.c
float _Complex のバイト数
888no supportno supportno supportno support8no supportno support
c99/sizeof_double_Complex.c
double _Complex のバイト数
161616no supportno supportno supportno support16no supportno support
c99/sizeof_long_double_Complex.c
long double _Complex のバイト数
322424no supportno supportno supportno support20no supportno support
c99/sizeof_float_Imaginary.c
float _Imaginary のバイト数
no supportno supportno supportno supportno supportno supportno support4no supportno support
c99/sizeof_double_Imaginary.c
double _Imaginary のバイト数
no supportno supportno supportno supportno supportno supportno support8no supportno support
c99/sizeof_long_double_Imaginary.c
long double _Imaginary のバイト数
no supportno supportno supportno supportno supportno supportno support10no supportno support
c99/designated_ini.c
構造体の初期化でメンバー名による初期化が行えるか
no supportno supportenableno supportno supportno supportno supportenableno supportno support
c99/array_ini.c
配列の初期化で添字番号による部分初期化が行えるか
no supportno supportenableno supportno supportno supportno supportenableno supportno support
c99/compound_literal_arg.c
(型名){...} へのポインタを関数引数でつかえるか
no supportno supportno supportno supportno supportno supportno supportno supportno supportno support
c99/variable_length_array.c
可変長(実行時サイズ指定)(ローカル)配列変数が使えるか
enableenableenableno supportno supportno supportno supportenableno supportno support
c99/variable_length_array_sizeof.c
可変長配列のsizeofが使えるか
enableenableenableno supportno supportno supportno supportenableno supportno support
c99/variable_length_array_typedef.c
可変長配列のtypedefが使えるか
enableenableenableno supportno supportno supportno supportfail[e]no supportno support
c99/variable_length_array_funcarg.c
関数引数で可変長配列が使えるか
no supportno supportno supportno supportno supportno supportno supportno supportno supportno support
c99/variable_length_array_funcarg2.c
関数引数で可変長配列が使えるか(サイズ後置)
no supportno supportno supportno supportno supportno supportno supportno supportno supportno support
c99/restrict_ptr.c
restrict ポインタが使えるか
no supportno supportno supportno supportno supportno supportno supportno supportno supportno support
c99/array_type_qualifiers.c
関数引数の配列の定義で[cv修飾]が使えるか
no supportno supportno supportno supportno supportno supportno supportenableno supportno support
c99/c99namescope.c
{}無if本文で暗黙のブロック・スコープが有効か
no supportno supportno supportno supportno supportno supportno supportenableno supportfail[e]
c99/c99namescope2.c
if条件式中の暗黙のブロック・スコープが有効か
no supportno supportno supportno supportno supportno supportno supportfail[e]no supportfail[e]
[c11 の機能]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
c11/__STDC_VERSION__.c
c11対応ならば __STDC_VERSION__ の値
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c11/__STDC_NO_ATOMICS__.c
__STDC_NO_ATOMICS__ マクロが定義されているか
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c11/__STDC_NO_COMPLEX__.c
__STDC_NO_COMPLEX__ マクロが定義されているか
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c11/__STDC_NO_THREADS__.c
__STDC_NO_THREADS__ マクロが定義されているか
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c11/__STDC_NO_VLA__.c
__STDC_NO_VLA__ マクロが定義されているか
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c11/__STDC_ANALYZABLE__.c
__STDC_ANALYZABLE__ マクロが定義されているか
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c11/__STDC_UTF_16__.c
__STDC_UTF_16__ マクロが定義されているか
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c11/__STDC_UTF_32__.c
__STDC_UTF_32__ マクロが定義されているか
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c11/__STDC_LIB_EXT1__.c
__STDC_LIB_EXT1__ マクロが定義されているか
no supportno supportno supportno supportno supportno supportno supportno supportfail[c]no support
c11/_Static_assert.c
_Static_assert が使えるか
no supportno supportenableno supportno supportno supportno supportno supportno supportno support
c11/_Noreturn.c
_Noreturn が使えるか
no supportno supportno supportno supportno supportno supportno supportno supportno supportno support
c11/_Alignas.c
_Alignas(a) が使えるか
no supportno supportenableno supportno supportno supportno supportno supportno supportno support
c11/_Alignof.c
_Alignof(t) が使えるか
no supportno supportenableno supportno supportno supportno supportno supportno supportno support
c11/_Atomic.c
_Atomic が使えるか
no supportno supportno supportno supportno supportno supportno supportno supportno supportno support
c11/_Thread_local.c
_Thread_local が使えるか
no supportno supportno supportno supportno supportno supportno supportno supportno supportno support
c11/_Generic.c
_Generic が使えるか
no supportno supportenableno supportno supportno supportno supportno supportno supportno support
[gcc 拡張]mingw64 g++ 4.7.1 tdmmingw g++ 4.7.1 tdmclang++ 3.2 +mingwvc++11 x64vc++9vc++7.1vc++6dmc++ v.8.56Open Watcom C++ v.1.9Borland C++ v5.5.1
gcc/_Complex_number_i.c
1.0+2.0i のような Complex表記ができるか
no supportno supportenableno supportno supportno supportno supportno supportno supportno support
gcc/_Complex_real_imag.c
__real__ __imag__ が使えるか
enableenableenableno supportno supportno supportno supportno supportno supportno support

(元のページに戻る)