svn commit: r354625 - head/contrib/libc++/include

Dimitry Andric dim at FreeBSD.org
Mon Nov 11 17:41:57 UTC 2019


Author: dim
Date: Mon Nov 11 17:41:56 2019
New Revision: 354625
URL: https://svnweb.freebsd.org/changeset/base/354625

Log:
  Merge commit 371ea70bb from llvm git (by Louis Dionne):
  
    [libc++] Harden usage of static_assert against C++03
  
    In C++03, we emulate static_assert with a macro, and we must
    parenthesize multiple arguments.
  
    llvm-svn: 373328
  
  This is a follow-up to r354460, which causes errors for pre-C++11
  programs using <cmath>, similar to:
  
  /usr/include/c++/v1/cmath:622:68: error: too many arguments provided to
  function-like macro invocation
  
  Reported by:	antoine
  MFC after:	immediately (because of ports breakage)

Modified:
  head/contrib/libc++/include/cmath

Modified: head/contrib/libc++/include/cmath
==============================================================================
--- head/contrib/libc++/include/cmath	Mon Nov 11 17:41:52 2019	(r354624)
+++ head/contrib/libc++/include/cmath	Mon Nov 11 17:41:56 2019	(r354625)
@@ -644,8 +644,8 @@ _LIBCPP_CONSTEXPR _IntT __max_representable_int_for_fl
   static_assert(is_floating_point<_FloatT>::value, "must be a floating point type");
   static_assert(is_integral<_IntT>::value, "must be an integral type");
   static_assert(numeric_limits<_FloatT>::radix == 2, "FloatT has incorrect radix");
-  static_assert(_IsSame<_FloatT, float>::value || _IsSame<_FloatT, double>::value
-               || _IsSame<_FloatT,long double>::value, "unsupported floating point type");
+  static_assert((_IsSame<_FloatT, float>::value || _IsSame<_FloatT, double>::value
+                 || _IsSame<_FloatT,long double>::value), "unsupported floating point type");
   return _FloatBigger ? numeric_limits<_IntT>::max() :  (numeric_limits<_IntT>::max() >> _Bits << _Bits);
 }
 


More information about the svn-src-head mailing list