$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r51863 - trunk/boost/xpressive/detail/core
From: eric_at_[hidden]
Date: 2009-03-19 23:51:43
Author: eric_niebler
Date: 2009-03-19 23:51:43 EDT (Thu, 19 Mar 2009)
New Revision: 51863
URL: http://svn.boost.org/trac/boost/changeset/51863
Log:
work around gcc optimizer bug fixes #2655
Text files modified: 
   trunk/boost/xpressive/detail/core/adaptor.hpp |     6 ++++++                                  
   1 files changed, 6 insertions(+), 0 deletions(-)
Modified: trunk/boost/xpressive/detail/core/adaptor.hpp
==============================================================================
--- trunk/boost/xpressive/detail/core/adaptor.hpp	(original)
+++ trunk/boost/xpressive/detail/core/adaptor.hpp	2009-03-19 23:51:43 EDT (Thu, 19 Mar 2009)
@@ -37,6 +37,12 @@
     Xpr xpr_;
 
     xpression_adaptor(Xpr const &xpr)
+    #if BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4))                          \
+      && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
+        // Ugh, gcc has an optimizer bug which elides this c'tor call
+        // resulting in pure virtual function calls.
+        __attribute__((noinline))
+    #endif
       : xpr_(xpr)
     {
     }