C++ですが、以下がビルドできるのはMSの拡張なんでしょうか?

class A{};
int main() {
A& a = A();
return 0;
}

gccだとA&&にしないとエラーになります
A()は右辺値なので当然ですが