Boost logo

Boost Users :

Subject: [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-07 11:47:54

I recently switched our product over to VS2010 from VS2008. Our solution
consists of several native C++ projects and some managed C++ projects
that link to those native projects.

The managed C++ projects are compiled with the /clr flag, of course.
However, when compiling for x64, one of the files that includes one of
the boost mutex headers causes the compiler to spit out the following

fatal error C1001: An internal error has occurred in the compiler

I've traced down the problem to the following piece of code in

void unlock()
long const offset=lock_flag_value;

// If I comment out this line, compilation works
long const

if(!(old_count&event_set_flag_value) && (old_count>offset))

It would see the BOOST_INTERLOCKED_EXCHANGE_ADD macro causes the
compiler to barf. Does anybody have any ideas on why this is, or how to
fix it?


Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at