Uma declaração usando "auto" corresponde a uma declaração externa que usa um especificador de tipo concreto?

Considere o seguinte programa:

extern int x;
auto x = 42;
int main() { }

Clang 3.5 aceita (demonstração ao vivo), O GCC 4.9 e o VS2013 não (demonstração ao vivo para o ex) Quem está certo e onde está o comportamento correto especificado no padrão C ++?

questionAnswers(3)

yourAnswerToTheQuestion