Boost logo

Boost-Commit :

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
   ;
 


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