Hi,I am try to compile Clang on my windows 7 workstation with Visual C++ 11 in Visual Studio 2012 RC.I met a error C2382 with standard header file system_error, so I investigate its source code and found:// Line 155const error_category& generic_category();const error_category& iostream_category();const error_category& system_category();// Lineinline const error_category& generic_category() _NOEXCEPT { // get generic_category return (_Error_objects<int>::_Generic_object); }inline const error_category& iostream_category() _NOEXCEPT { // get iostream_category return (_Error_objects<int>::_Iostream_object); }inline const error_category& system_category() _NOEXCEPT { // get system_category return (_Error_objects<int>::_System_object); }where macro "_NOEXCEPT" was defined in yvals.h// Line 18#define _NOEXCEPT throw ()As it cames from Clang's clangCodeGen project, I inspected this project setting, and found that /Za option is ON!That's said this case may be ignored with default configuration of VC++ 2012 RC, but when you turn /Za option on, it would came out!All above, hope you can fix this in RTM.By the way, according to C++11 Standard, these function sould be defined like this:ISO/IEC 14882:2011(E)19.5.1 Class error_category [syserr.errcat]19.5.1.1 Class error_category overview [syserr.errcat.overview]const error_category& generic_category() noexcept;const error_category& system_category() noexcept;I don't know why VC++ did not support C++11 keyword "noexcept", but if you dont like introducing new keyword, I suggest that you may support a combined keyword with existed keyword, such as:"do not throw while using this"instead.Just for fun : ), this joke is from here:http://lists.boost.org/Archives/boost/2009/07/154074.php
Visual Studio/Team Foundation Server/.NET Framework Tooling Version
Steps to reproduce
Product Language
Operating System
Operating System Language
Actual results
Expected results