gcc -std=でどの規格にあわせるか指定できるが、さて何が違うのか細いところはわからないので調べてみたが、やっぱりわからなかった。
gcc47 (FreeBSD Ports Collection) 4.7.0 20111015 (experimental)
| -std= | flag_iso | flag_no_asm | flag_no_gnu_keywords | flag_no_nonansi_builtin | flag_isoc94 | flag_isoc99 | flag_isoc1x |
| -ansi | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
| c90 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
| iso9899:199409 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
| gnu90 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| c99 | 1 | 1 | -1 | 1 | 1 | 1 | 0 |
| gnu99 | 0 | 0 | -1 | 0 | 1 | 1 | 0 |
| c1x | 1 | 1 | -1 | 1 | 1 | 1 | 1 |
| gnu1x | 0 | 0 | -1 | 0 | 1 | 1 | 1 |
| gnu89 = gnu90 | |||||||
| c89 = c90 | |||||||
| iso9899:1990 = c90 | |||||||
| iso9899:1999 = c99 |
表の展開してもその先も調べないとわからんなぁ。そもそも展開したこと自体失敗だった。














