Boost logo

Boost-Commit :

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)
     {
     }


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk