Re: [Boost-bugs] [Boost C++ Libraries] #7473: clang defines __GNUC__ and confuses the libstdcpp3.hpp configuration header

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7473: clang defines __GNUC__ and confuses the libstdcpp3.hpp configuration header
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-05-23 16:00:59


#7473: clang defines __GNUC__ and confuses the libstdcpp3.hpp configuration header
--------------------------------------------------+-------------------------
  Reporter: philipp.moeller@… | Owner: johnmaddock
      Type: Bugs | Status: closed
 Milestone: To Be Determined | Component: config
   Version: Boost 1.51.0 | Severity: Problem
Resolution: wontfix | Keywords:
--------------------------------------------------+-------------------------

Comment (by boost@…):

 Thank you johnmaddock for the detailed and rational description. I do have
 a few remarks though:

  * Is clangs compatibility with gcc really relevant here? Shoudln't the
 C++11 compatibility be primary here?
  * Yes clang -std=gnu++11 is broken

 Simply trying to compile the following with clang++ -std=gnu++11 fails for
 me due to said lack of `__float128`:

 {{{
 #include <boost/functional/hash.hpp>
 }}}

 (Boost 1.53.0, clang 3.2.6, libstdc++ of gcc 4.8.0 on arch).
 IMHO it looks to me that clang (with gnu++11 and libstd++) is broken and
 should be fixed (since it doesn't allow me to include <utility>). Or would
 you consider that a case of boost being completely broken?

  * So what about allowing all the nice features if all of the following
 holds:
    * Compiler is clang
    * `__GLIBCXX__` is reasonably new: Pick a date where it is safe to
 assume that all later releases support the features plus maybe a list of
 release dates of versions known to support the features.
    * `__cplusplus` is C++11
    * `__STRICT_ANSI__` is defined indicating that it's not gnu++11.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7473#comment:11>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:13 UTC