title: boost/thread.hpp fails with 'clang++ -std=c++11 -stdlib=libc++'
body: <p>When trying to compile this one line with clang + libc++ (C++11 mode):</p>
  
  <pre><code>#include &lt;boost/thread.hpp&gt;
  </code></pre>
  
  <p>clang emits the following errors:</p>
  
  <pre>
  In file included from test.cpp:1:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/thread.hpp:13:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/thread/thread.hpp:17:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/thread/pthread/thread_data.hpp:11:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/thread/locks.hpp:18:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/chrono/time_point.hpp:33:
  /Users/yongwei/Programming/boost_1_52_0/boost/chrono/duration.hpp:353:49: error: 
    constexpr function never produces a constant expression
      static BOOST_CHRONO_LIB_CONSTEXPR float lowest() ...
                          ^
  /Users/yongwei/Programming/boost_1_52_0/boost/chrono/duration.hpp:355:21: note: 
    non-constexpr function 'max' cannot be used in a constant expression
      return -(std::numeric_limits::max) ();
          ^
  /usr/bin/../lib/c++/v1/limits:443:43: note: declared here
  _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT {return ...
                        ^
  In file included from test.cpp:1:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/thread.hpp:13:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/thread/thread.hpp:17:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/thread/pthread/thread_data.hpp:11:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/thread/locks.hpp:18:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/chrono/time_point.hpp:33:
  /Users/yongwei/Programming/boost_1_52_0/boost/chrono/duration.hpp:361:50: error: 
    constexpr function never produces a constant expression
      static BOOST_CHRONO_LIB_CONSTEXPR double lowest() ...
                           ^
  /Users/yongwei/Programming/boost_1_52_0/boost/chrono/duration.hpp:363:21: note: 
    non-constexpr function 'max' cannot be used in a constant expression
      return -(std::numeric_limits::max) ();
          ^
  /usr/bin/../lib/c++/v1/limits:443:43: note: declared here
  _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT {return ...
                        ^
  In file included from test.cpp:1:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/thread.hpp:13:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/thread/thread.hpp:17:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/thread/pthread/thread_data.hpp:11:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/thread/locks.hpp:18:
  In file included from /Users/yongwei/Programming/boost_1_52_0/boost/chrono/time_point.hpp:33:
  /Users/yongwei/Programming/boost_1_52_0/boost/chrono/duration.hpp:369:55: error: 
    constexpr function never produces a constant expression
      static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() ...
                            ^
  /Users/yongwei/Programming/boost_1_52_0/boost/chrono/duration.hpp:371:21: note: 
    non-constexpr function 'max' cannot be used in a constant expression
      return -(std::numeric_limits::max)();
          ^
  /usr/bin/../lib/c++/v1/limits:443:43: note: declared here
  _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT {return ...
                        ^
  3 errors generated.
  </pre>
  
  <p>It looks to me this is a bug in libc++, because C++11 does require these functions to be <code>constexpr</code>.</p>
  
  <p>Anyone encountered the same problem and can you concur? Do you know about any fixes?</p>
  
  <p>My clang version is:</p>
  
  <pre>
  Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
  Target: x86_64-apple-darwin11.4.2
  Thread model: posix
  </pre>