$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r75909 - in branches/release: . boost boost/detail libs libs/detail libs/detail/test/container_fwd
From: dnljms_at_[hidden]
Date: 2011-12-11 16:43:02
Author: danieljames
Date: 2011-12-11 16:43:01 EST (Sun, 11 Dec 2011)
New Revision: 75909
URL: http://svn.boost.org/trac/boost/changeset/75909
Log:
Unordered: Fix `complex` type for gcc's standard library. Fixes #6139.
I haven't had any confirmation, but I assume this fixes the problem.
Properties modified: 
   branches/release/   (props changed)
   branches/release/boost/   (props changed)
   branches/release/boost/detail/   (props changed)
   branches/release/libs/   (props changed)
   branches/release/libs/detail/   (props changed)
Text files modified: 
   branches/release/boost/detail/container_fwd.hpp         |    16 +++++++++-------                        
   branches/release/libs/detail/test/container_fwd/Jamfile |     1 +                                       
   2 files changed, 10 insertions(+), 7 deletions(-)
Modified: branches/release/boost/detail/container_fwd.hpp
==============================================================================
--- branches/release/boost/detail/container_fwd.hpp	(original)
+++ branches/release/boost/detail/container_fwd.hpp	2011-12-11 16:43:01 EST (Sun, 11 Dec 2011)
@@ -42,6 +42,10 @@
         || defined(_GLIBCXX_PARALLEL) \
         || defined(_GLIBCXX_PROFILE)
 #      define BOOST_DETAIL_NO_CONTAINER_FWD
+#    else
+#      if defined(__GLIBCXX__) && __GLIBCXX__ >= 20040530
+#        define BOOST_CONTAINER_FWD_COMPLEX_STRUCT
+#      endif
 #    endif
 #  elif defined(__STL_CONFIG_H)
      // generic SGI STL
@@ -63,8 +67,6 @@
 #  elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
      // Dinkumware Library (this has to appear after any possible replacement
      // libraries)
-     //
-     // Works fine.
 #  else
 #    define BOOST_DETAIL_NO_CONTAINER_FWD
 #  endif
@@ -117,11 +119,11 @@
     template <class charT> struct char_traits;
 #endif
 
-    #if BOOST_CLANG
-        template <class T> struct complex;
-    #else
-        template <class T> class complex;
-    #endif
+#if defined(BOOST_CONTAINER_FWD_COMPLEX_STRUCT)
+    template <class T> struct complex;
+#else
+    template <class T> class complex;
+#endif
 
 #if !defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
     template <class T, class Allocator> class deque;
Modified: branches/release/libs/detail/test/container_fwd/Jamfile
==============================================================================
--- branches/release/libs/detail/test/container_fwd/Jamfile	(original)
+++ branches/release/libs/detail/test/container_fwd/Jamfile	2011-12-11 16:43:01 EST (Sun, 11 Dec 2011)
@@ -11,6 +11,7 @@
         <toolset>intel:<warnings>on
         <toolset>gcc:<cxxflags>"-pedantic -Wstrict-aliasing -fstrict-aliasing -Wextra -Wsign-promo -Wunused-parameter -Wconversion"
         <toolset>darwin:<cxxflags>"-pedantic -Wstrict-aliasing -fstrict-aliasing -Wextra -Wsign-promo -Wunused-parameter -Wconversion"
+        <toolset>clang:<cxxflags>"-pedantic -Wextra -Wmismatched-tags"
         <warnings-as-errors>on
   ;