components/gcc47/patches/008-cmath.patch
author Stefan Teleman <stefan.teleman@oracle.com>
Wed, 31 Jul 2013 08:09:01 -0700
changeset 1414 9eeb516d9fdd
permissions -rw-r--r--
15823988 SUNBT7205673-12.0 Upgrade GCC to >= 4.7.2

# 2013-07-17 Stefan Teleman <[email protected]>
# 1. DR550 is not normative. It is just a Defect Report.
#
# 2. The overloaded pow(3m) interfaces should not be removed from C++11,
# there is no valid technical reason to do so.
#
# 3. GCC 4.8.1 re-introduces these pow(3m) interfaces in C++11 after
# having removed them in 4.7.3.
--- gcc-4.7.3/libstdc++-v3/include/c_global/cmath	2011-11-14 03:29:26.000000000 -0800
+++ gcc-4.7.3/libstdc++-v3/include/c_global/cmath	2013-07-14 16:45:54.968913460 -0700
@@ -414,9 +414,9 @@
   pow(long double __x, long double __y)
   { return __builtin_powl(__x, __y); }
 
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
   // _GLIBCXX_RESOLVE_LIB_DEFECTS
   // DR 550. What should the return type of pow(float,int) be?
+  // http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#550
   inline double
   pow(double __x, int __i)
   { return __builtin_powi(__x, __i); }
@@ -429,7 +429,6 @@
   pow(long double __x, int __n)
   { return __builtin_powil(__x, __n); }
 #endif
-#endif
 
   template<typename _Tp, typename _Up>
     inline _GLIBCXX_CONSTEXPR