[Boost-bugs] [Boost C++ Libraries] #7690: chrono/duration.hpp constexpr errors during build

Subject: [Boost-bugs] [Boost C++ Libraries] #7690: chrono/duration.hpp constexpr errors during build
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-11-14 02:32:03


#7690: chrono/duration.hpp constexpr errors during build
-------------------------------------------------+--------------------------
 Reporter: Gary Wolfman <g_wolfman@…> | Owner: viboes
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: chrono
  Version: Boost 1.52.0 | Severity: Problem
 Keywords: 1.52 duration.hpp constexpr |
-------------------------------------------------+--------------------------
 When compiling Boost 1.52 using Clang with c++11 and libc++, every portion
 of the build involving the chromo/duration.hpp header fails with constexpr
 errors of the following type:

 clang-darwin.compile.c++ bin.v2/libs/chrono/build/clang-
 darwin-4.2.1/release/threading-multi/process_cpu_clocks.o

     "clang++" -x c++ -O3 -Wextra -Wno-long-long -fPIC -pedantic -std=c++11
 -stdlib=libc++ -O3 -finline-functions -Wno-inline -Wall -pedantic
 -DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1
 -DBOOST_SYSTEM_NO_DEPRECATED -DNDEBUG -I"." -c -o
 "bin.v2/libs/chrono/build/clang-darwin-4.2.1/release/threading-
 multi/process_cpu_clocks.o" "libs/chrono/src/process_cpu_clocks.cpp"

 In file included from libs/chrono/src/process_cpu_clocks.cpp:17:
 In file included from
 ./boost/chrono/detail/inlined/process_cpu_clocks.hpp:19:
 In file included from ./boost/chrono/process_cpu_clocks.hpp:18:
 ./boost/chrono/duration.hpp:353:49: error: constexpr function never
 produces a constant expression
         static BOOST_CHRONO_LIB_CONSTEXPR float lowest()
 BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW
                                                 ^
 ./boost/chrono/duration.hpp:355:21: note: non-constexpr function 'max'
 cannot be used in a constant expression
             return -(std::numeric_limits<float>::max) ();
                     ^
 /usr/bin/../lib/c++/v1/limits:443:43: note: declared here
     _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT {return
 __base::max();}

 This bug may be related to the issues (or the fixes to the issues,
 possibly...) reported at ticket:7381 and ticket:7479

 A log of a failed build is attached, showing 84 instances of the error
 which result in 28 targets failing to build and 17 targets being skipped.
 The particular instance was an automated build under homebrew on OS X, but
 that is not a factor. Boost 1.51 builds perfectly using the identical
 settings.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7690>
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:11 UTC