Ist auto als Parameter in einer regulären Funktion eine GCC 4.9-Erweiterung?

gcc 4.9 erlaubt den folgenden Code, aber gcc 4.8 und clang 3.5.0 lehnen ihn ab.

void foo(auto c)
{
    std::cout << c.c_str();
}

Ich bekommewarning: ISO C++ forbids use of 'auto' in parameter declaration [-Wpedantic] in 4.9 aber in 4.8 und kling ich bekommeerror: parameter declared 'auto'.