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 |
表の展開してもその先も調べないとわからんなぁ。そもそも展開したこと自体失敗だった。