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

表の展開してもその先も調べないとわからんなぁ。そもそも展開したこと自体失敗だった。