On 9/1/2010 9:21 AM, Emil Dotchevski wrote:
On Tue, Aug 31, 2010 at 10:05 AM, Timothy Madden
wrote: On 8/31/2010 7:01 PM, Binglong Xie wrote:
Does code below work correctly? (C++0x fashion) =================================================================
My project uses Visual Studio 2008 and these C++0x functions do not work. Nice to see that they are about the enter the standard, though :)
In trunk revision 65195 I've added non-intrusive (meaning, it works for any exception object, not only the ones wrapped with boost::enable_current_exception) exception_ptr support for MSVC 7.1 and 8.0, entirely based on an implementation Anthony Williams had posted months ago (on other MSVC versions the intrusive support is used as a fallback.)
Because I made some changes and I've done only limited testing, to enable it you must #define BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR. You'll also need to link libs/exception/src/clone_current_exception_msvc.cpp in your project.
I'm assuming MSVC 9.0 and newer will just work as soon as the appropriate exception_info_offset value is defined in clone_current_exception_msvc.cpp. Anthony?
Non-intrusive exception_ptr support for other compilers is now easy to integrate in Boost Exception too. Hopefully someone can provide suitable implementation for GCC at least (I can help with the integration.)
I think this would be awesome ! Currently though clone_current_exception_msvc.cpp only has the offsets for cl 13.10 and 14.00, so I need the offset for 15.00 to use this. Also I would not like to tamper with the boost sources before building, so if the new offset could be committed on the trunk (since it is only activated by the #define), that would be great. ! Thank you, Timothy Madden