Fwd: [boost] [patch] lambda bug with GCC debug mode

Ping! Originally posted a few weeks ago. I've CC'd Jaakko's SourceForge account, should I raise a sourceforge bug instead? jon

On May 5, 2005, at 6:34 AM, Jonathan Wakely wrote:
Ping!
Got the ping :) I'll apply the patch. Jaakko
Originally posted a few weeks ago.
I've CC'd Jaakko's SourceForge account, should I raise a sourceforge bug instead?

Committed. Thanks, Jon. Jaakko
From: Jonathan Wakely <cow@compsoc.man.ac.uk> Date: March 29, 2005 2:39:17 AM CST To: boost@lists.boost.org Subject: [boost] [patch] lambda bug with GCC debug mode Reply-To: boost@lists.boost.org
The libstdc++ debug mode doesn't work with forward declarations of std templates (since when using the debug mode std::vector is really __gnu_debug_def::vector, visible in std due to GCC's "strong using" extension)
Lambda's boost/lambda/detail/operator_return_type_traits.hpp seems to account for this, but only checks for GCC 3.4 not 4.0, causing the error shown here for GCC 4.x in debug mode (*): http://www.redi.uklinux.net/src/boost/status/cs-Linux- links.html#lambda-constructor_tests-gcc-debug-mode
The workaround on line 876 should be changed to account for GCC 4.x or alternatively, test for the debug mode explicitly. The attached patch does the test explicitly and disables all forward decls of std templates when _GLIBCXX_DEBUG is defined. I don't know whether it's preferred to simply disable the forward decls for non-debug mode as well.
jon
participants (3)
-
Jaakko Järvi
-
jarvi
-
Jonathan Wakely