It was a bit of a pain as expected, and we've more or less written off Visual Studio. gcc, clang, and mingw will have to do. Probably could have done it a few months ago, but the last time it came up was 6-8 months ago, and I think it would have been a lot harder to migrate even then.
Doesn't VS have partial support for C++11? Do you use features not supported by it?
I've used several C++11 features with visual studio. As far as I've heard it's fully supported in VS2013, why would we have to write it off?
The official Microsoft feature table seems to disagree:
http://msdn.microsoft.com/en-us/library/hh567368.aspxOut of the features missing from 2013, I can definitely see using constexpr and unicode literals. Out of the features additionally missing from 2012, I can see wanting initializer lists and explicit. 2010 is of course a total wash. That doesn't even cover the standard library, they claim they implement it in full, but all the holes in language support don't give me a lot of confidence.
More importantly, the fact that VS does not implement the full specification means it's a minefield. It means we can use legal c++11 constructs that will fail to compile on visual studio, and since we have no way of testing against visual studio regularly like we do with the other compilers, those issues can silently accumulate until someone tries to compile on visual studio and it breaks.
This was a big part of my reason to not migrate to c++11 earlier, but instead we're ditching VS support.
At the moment, everything else works, and visual studio 2012 throws these linker errors:
If you feel like sorting these out and making PRs that fix them, feel free, but I'm skeptical that we'll be able to maintain compatibility with VS's partial implementation of c++11.