O GCC 4.6.1 trata isso da forma correta... A primeira declaração de T1STEP realiza a substituição na declaração da variável 't', pelo pre-compilador, para:
int t[((int)(pow(2, 7))-(int)(63)+1)];
Mas um array, numa variável global, não pode ter tamanho variável - por causa do uso da função pow().
Uma variável LOCAL pode ter tamanho variável, segundo a especificação C99 (chama-se VLA, Variable Length Array). mas não uma global...
Ao eliminar a chamada à função pow() seu código compila perfeitamente, de acordo com a especificação...