Boost logo

Boost Users :

Subject: Re: [Boost-users] VS2010 and /clr: fatal error C1001: An internal error has occurred in the compiler
From: Soren Dreijer (admin_at_[hidden])
Date: 2010-08-08 11:43:21


> Probably because that causes some assembly to be emitted because of
> the efficiency requirements of the mutex, and the CLR does not support
> direct assembly. Either get out of the CLR, or do not use anything
> that uses low assembly constructs (CLR has its own thread and mutex
> classes anyway).

Well, so I can't "just get out of the CLR". As I mentioned earlier, this
is a managed C++ project that exposes native functionality from other
libraries to .NET. That is, I *have* to include the native headers,
which in turn include boost.

This worked fine in VS2008, too, so it sounds more like a regression in
the compiler I think.

Also, when compiling for x86, I see the following warning but everything
still compiles (the warning is to be expected, as you say yourself):

4>boost_1_43_0_sdk\include\boost\thread\win32\basic_timed_mutex.hpp(160)
: warning C4793: 'boost::detail::basic_timed_mutex::unlock' : function
compiled as native :
4> Found an intrinsic not supported in managed code

/ Soren



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net