Boost logo

Boost :

From: Ralf W. Grosse-Kunstleve (rwgk_at_[hidden])
Date: 2007-09-14 01:06:25


The SVN head of boost/utility/value_init.hpp produces a Visual C++ 7.1 ICE (see below) when compiling some of our Boost.Python extensions. The simple patch below works around the problem. I've also tested with with VC 8.0. Is this OK to commit? Thanks! Ralf P.S.: Simply inlining get() didn't work. The ICE only went away after I changed (*static_cast<T*>(ptr)).T::~T() to static_cast<T*>(ptr)->T::~T() Index: value_init.hpp =================================================================== --- value_init.hpp (revision 39257) +++ value_init.hpp (working copy) @@ -69,7 +69,11 @@ new (&x) T(); } - ~non_const_T_base() { get().T::~T(); } + ~non_const_T_base() + { + void * ptr = &x; + static_cast<T*>(ptr)->T::~T(); + } T & get() const { cl /nologo /D_SECURE_SCL=0 /D_CRT_SECURE_NO_DEPRECATE /wd4996 /Zm800 /MD /GR /EH sc /DBOOST_DISABLE_THREADS /DNDEBUG /Ox -DBOOST_ALL_NO_LIB -DBOOST_PYTHON_MAX_BA SES=2 /Iinclude /IC:\home\rwgk\hot\include /IC:\home\rwgk\dist\svnroot_cctbx\inc lude /IC:\home\rwgk\dist\svnroot_cctbx\scitbx\include /IC:\home\rwgk\dist\svnroo t_cctbx /IC:\home\rwgk\hot\boost /Ibase\python\include /IC:\home\rwgk\hot\base\p ython\include /IC:\home\rwgk\dist\svnroot_cctbx\base\python\include /c C:\home\r wgk\dist\svnroot_cctbx\scitbx\array_family\boost_python\flex_int.cpp /Foscitbx\a rray_family\boost_python\flex_int.obj flex_int.cpp C:\home\rwgk\hot\boost\boost\utility\value_init.hpp(72) : fatal error C1001: INT ERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 2701) Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information ____________________________________________________________________________________ Boardwalk for $500? In 2007? Ha! Play Monopoly Here and Now (it's updated for today's economy) at Yahoo! Games. http://get.games.yahoo.com/proddesc?gamekey=monopolyherenow


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk