On 11/1/2013 2:32 PM, Niall Douglas wrote:
On 1 Nov 2013 at 14:13, Beman Dawes wrote:
IMO that is the best way to handle this. No point in Boosters putting in effort to work around a problem so serious it blocks most use of clang on windows anyhow. They will have to fix it if they are serious about clang and windows.
Last time I looked clang could generate reasonably functional Win32 EH tables on 32 bit x86. x64 uses a different format, and wasn't working last time I looked.
Just because clang can spit out the tables doesn't of course mean that clang's runtime can cope fully yet. Certain support library code would be needed, and I have no idea what the state of that is.
I absolutely agree there is no point even thinking about Boost support for clang on Windows as if it were MSVC until they have MSVC native exception handling perfected and Win32 SEH as well, as that comes with the territory of full MSVC compliance. I'd also not bother until clang can fully grok all Win32 Platform SDK headers too, as Boost code will assume that works ifdef _MSC_VER and rightly so.
With exception support and RTTI current clang with VC++ RTL gives: "add_const_test.cpp" -Fo"..\..\..\bin.v2\libs\type_traits\test\add_const_test.test\clang-vc10-win-3.4\debug\add_const_test.obj" -TP /Od /Ob0 /W4 /GR /MDd /Zc:forScope /Zc:wchar_t -fmsc-version=1600 /wd4675 /EHs -c -DBOOST_ALL_NO_LIB=1 "-I..\..\.." compile-c-c++ ..\..\..\bin.v2\libs\type_traits\test\add_const_test.test\clang-vc10-win-3.4\debug\add_const_test.obj call "C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 > nul "C:\Programming\VersionControl\clang_build\bin\Release\clang-cl.exe" @"..\..\..\bin.v2\libs\type_traits\test\add_const_test.test\clang-vc10-win-3.4\debug\add_const_test.obj.rsp" clang-cl.exe: warning: argument unused during compilation: '/EHs' error: cannot mangle RTTI descriptors for type 'codecvt' yet error: cannot mangle the name of type 'codecvt' into RTTI descriptors yet error: cannot mangle RTTI descriptors for type 'codecvt_base' yet error: cannot mangle the name of type 'codecvt_base' into RTTI descriptors yet error: cannot mangle RTTI descriptors for type 'facet' yet error: cannot mangle the name of type 'facet' into RTTI descriptors yet 6 errors generated.""