I was compiling a big open source project with VS 2012 RC with the 64-bit C++ compiler. It was okay with VS 2012 Beta and VS 2010. But, now I'm getting these errors:22>Z:\VS11\VC\include\system_error(669): error C2382: 'std::generic_category' : redefinition; different exception specifications (D:\dev\llvm-3.1.src\tools\clang\lib\Basic\VersionTuple.cpp)22> Z:\VS11\VC\include\system_error(155) : see declaration of 'std::generic_category'22>Z:\VS11\VC\include\system_error(674): error C2382: 'std::iostream_category' : redefinition; different exception specifications (D:\dev\llvm-3.1.src\tools\clang\lib\Basic\VersionTuple.cpp)22> Z:\VS11\VC\include\system_error(156) : see declaration of 'std::iostream_category'22>Z:\VS11\VC\include\system_error(679): error C2382: 'std::system_category' : redefinition; different exception specifications (D:\dev\llvm-3.1.src\tools\clang\lib\Basic\VersionTuple.cpp)22> Z:\VS11\VC\include\system_error(157) : see declaration of 'std::system_category'The problem is because the declarations of three functions in <system_error> don't have _NOEXCEPT:155: const error_category& generic_category();156: const error_category& iostream_category();157: const error_category& system_category();However, for example, generic_category's definition has _NOEXCEPT:668: inline const error_category& generic_category() _NOEXCEPT669: { // get generic_category670: return (_Error_objects<int>::_Generic_object);671: }Either inserting _NOEXCEPT or removing _NOEXCEPT on these three functions resolve the problem. Again, this problem was not existing in the beta version.
Visual Studio/Team Foundation Server/.NET Framework Tooling Version
Steps to reproduce
Product Language
Operating System
Operating System Language
Actual results
Expected results
Please wait...