[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
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 371ea70bb7f9c9e811c36371c647980c90763b37
diff --git a/include/cmath b/include/cmath
index 36d26b3..0f06486 100644
--- a/include/cmath
+++ b/include/cmath
@@ -644,8 +644,8 @@
   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);
 }