Getting started on a visibility-decoration sweep.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114440 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/cmath b/include/cmath
index 7ddb5fd..51d519d 100644
--- a/include/cmath
+++ b/include/cmath
@@ -317,7 +317,6 @@
 // abs
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_floating_point<_A1>::value, _A1>::type
 abs(_A1 __x) {return fabs(__x);}
@@ -331,7 +330,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double acos(long double __x) {return acosl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 acos(_A1 __x) {return acos((double)__x);}
@@ -345,7 +343,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double asin(long double __x) {return asinl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 asin(_A1 __x) {return asin((double)__x);}
@@ -359,7 +356,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double atan(long double __x) {return atanl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 atan(_A1 __x) {return atan((double)__x);}
@@ -373,7 +369,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double atan2(long double __y, long double __x) {return atan2l(__y, __x);}
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
@@ -398,7 +393,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double ceil(long double __x) {return ceill(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 ceil(_A1 __x) {return ceil((double)__x);}
@@ -425,7 +419,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double cosh(long double __x) {return coshl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 cosh(_A1 __x) {return cosh((double)__x);}
@@ -439,7 +432,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double exp(long double __x) {return expl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 exp(_A1 __x) {return exp((double)__x);}
@@ -453,7 +445,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double fabs(long double __x) {return fabsl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 fabs(_A1 __x) {return fabs((double)__x);}
@@ -467,7 +458,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double floor(long double __x) {return floorl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 floor(_A1 __x) {return floor((double)__x);}
@@ -481,7 +471,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double fmod(long double __x, long double __y) {return fmodl(__x, __y);}
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
@@ -506,7 +495,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double frexp(long double __x, int* __e) {return frexpl(__x, __e);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 frexp(_A1 __x, int* __e) {return frexp((double)__x, __e);}
@@ -520,7 +508,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double ldexp(long double __x, int __e) {return ldexpl(__x, __e);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 ldexp(_A1 __x, int __e) {return ldexp((double)__x, __e);}
@@ -534,7 +521,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double log(long double __x) {return logl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 log(_A1 __x) {return log((double)__x);}
@@ -548,7 +534,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double log10(long double __x) {return log10l(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 log10(_A1 __x) {return log10((double)__x);}
@@ -570,7 +555,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double pow(long double __x, long double __y) {return powl(__x, __y);}
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
@@ -595,7 +579,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double sin(long double __x) {return sinl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 sin(_A1 __x) {return sin((double)__x);}
@@ -609,7 +592,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double sinh(long double __x) {return sinhl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 sinh(_A1 __x) {return sinh((double)__x);}
@@ -623,7 +605,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double sqrt(long double __x) {return sqrtl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 sqrt(_A1 __x) {return sqrt((double)__x);}
@@ -637,7 +618,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double tan(long double __x) {return tanl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 tan(_A1 __x) {return tan((double)__x);}
@@ -651,7 +631,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double tanh(long double __x) {return tanhl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 tanh(_A1 __x) {return tanh((double)__x);}
@@ -673,7 +652,7 @@
 #undef signbit
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
+_LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_floating_point<_A1>::value, bool>::type
 signbit(_A1 __x)
 {
@@ -699,7 +678,7 @@
 #undef fpclassify
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
+_LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_floating_point<_A1>::value, int>::type
 fpclassify(_A1 __x)
 {
@@ -725,7 +704,7 @@
 #undef isfinite
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
+_LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_floating_point<_A1>::value, bool>::type
 isfinite(_A1 __x)
 {
@@ -751,7 +730,7 @@
 #undef isinf
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
+_LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_floating_point<_A1>::value, bool>::type
 isinf(_A1 __x)
 {
@@ -777,7 +756,7 @@
 #undef isnan
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
+_LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_floating_point<_A1>::value, bool>::type
 isnan(_A1 __x)
 {
@@ -803,7 +782,7 @@
 #undef isnormal
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
+_LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_floating_point<_A1>::value, bool>::type
 isnormal(_A1 __x)
 {
@@ -829,7 +808,7 @@
 #undef isgreater
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
+_LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
     is_floating_point<_A1>::value &&
@@ -860,7 +839,7 @@
 #undef isgreaterequal
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
+_LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
     is_floating_point<_A1>::value &&
@@ -891,7 +870,7 @@
 #undef isless
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
+_LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
     is_floating_point<_A1>::value &&
@@ -922,7 +901,7 @@
 #undef islessequal
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
+_LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
     is_floating_point<_A1>::value &&
@@ -953,7 +932,7 @@
 #undef islessgreater
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
+_LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
     is_floating_point<_A1>::value &&
@@ -984,7 +963,7 @@
 #undef isunordered
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
+_LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
     is_floating_point<_A1>::value &&
@@ -1007,7 +986,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double acosh(long double __x) {return acoshl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 acosh(_A1 __x) {return acosh((double)__x);}
@@ -1021,7 +999,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double asinh(long double __x) {return asinhl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 asinh(_A1 __x) {return asinh((double)__x);}
@@ -1035,7 +1012,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double atanh(long double __x) {return atanhl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 atanh(_A1 __x) {return atanh((double)__x);}
@@ -1049,7 +1025,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double cbrt(long double __x) {return cbrtl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 cbrt(_A1 __x) {return cbrt((double)__x);}
@@ -1063,7 +1038,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double copysign(long double __x, long double __y) {return copysignl(__x, __y);}
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
@@ -1088,7 +1062,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double erf(long double __x) {return erfl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 erf(_A1 __x) {return erf((double)__x);}
@@ -1102,7 +1075,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double erfc(long double __x) {return erfcl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 erfc(_A1 __x) {return erfc((double)__x);}
@@ -1116,7 +1088,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double exp2(long double __x) {return exp2l(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 exp2(_A1 __x) {return exp2((double)__x);}
@@ -1130,7 +1101,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double expm1(long double __x) {return expm1l(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 expm1(_A1 __x) {return expm1((double)__x);}
@@ -1144,7 +1114,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double fdim(long double __x, long double __y) {return fdiml(__x, __y);}
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
@@ -1176,7 +1145,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double fma(long double __x, long double __y, long double __z) {return fmal(__x, __y, __z);}
 
 template <class _A1, class _A2, class _A3>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
@@ -1203,7 +1171,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double fmax(long double __x, long double __y) {return fmaxl(__x, __y);}
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
@@ -1228,7 +1195,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double fmin(long double __x, long double __y) {return fminl(__x, __y);}
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
@@ -1253,7 +1219,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double hypot(long double __x, long double __y) {return hypotl(__x, __y);}
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
@@ -1278,7 +1243,6 @@
 inline _LIBCPP_INLINE_VISIBILITY int ilogb(long double __x) {return ilogbl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, int>::type
 ilogb(_A1 __x) {return ilogb((double)__x);}
@@ -1292,7 +1256,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double lgamma(long double __x) {return lgammal(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 lgamma(_A1 __x) {return lgamma((double)__x);}
@@ -1306,7 +1269,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long long llrint(long double __x) {return llrintl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, long long>::type
 llrint(_A1 __x) {return llrint((double)__x);}
@@ -1320,7 +1282,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long long llround(long double __x) {return llroundl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, long long>::type
 llround(_A1 __x) {return llround((double)__x);}
@@ -1334,7 +1295,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double log1p(long double __x) {return log1pl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 log1p(_A1 __x) {return log1p((double)__x);}
@@ -1348,7 +1308,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double log2(long double __x) {return log2l(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 log2(_A1 __x) {return log2((double)__x);}
@@ -1362,7 +1321,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double logb(long double __x) {return logbl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 logb(_A1 __x) {return logb((double)__x);}
@@ -1376,7 +1334,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long lrint(long double __x) {return lrintl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, long>::type
 lrint(_A1 __x) {return lrint((double)__x);}
@@ -1390,7 +1347,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long lround(long double __x) {return lroundl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, long>::type
 lround(_A1 __x) {return lround((double)__x);}
@@ -1409,7 +1365,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double nearbyint(long double __x) {return nearbyintl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 nearbyint(_A1 __x) {return nearbyint((double)__x);}
@@ -1423,7 +1378,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double nextafter(long double __x, long double __y) {return nextafterl(__x, __y);}
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
@@ -1448,7 +1402,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double nexttoward(long double __x, long double __y) {return nexttowardl(__x, __y);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 nexttoward(_A1 __x, long double __y) {return nexttoward((double)__x, __y);}
@@ -1462,7 +1415,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double remainder(long double __x, long double __y) {return remainderl(__x, __y);}
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
@@ -1487,7 +1439,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double remquo(long double __x, long double __y, int* __z) {return remquol(__x, __y, __z);}
 
 template <class _A1, class _A2>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
@@ -1512,7 +1463,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double rint(long double __x) {return rintl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 rint(_A1 __x) {return rint((double)__x);}
@@ -1526,7 +1476,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double round(long double __x) {return roundl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 round(_A1 __x) {return round((double)__x);}
@@ -1540,7 +1489,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double scalbln(long double __x, long __y) {return scalblnl(__x, __y);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 scalbln(_A1 __x, long __y) {return scalbln((double)__x, __y);}
@@ -1554,7 +1502,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double scalbn(long double __x, int __y) {return scalbnl(__x, __y);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 scalbn(_A1 __x, int __y) {return scalbn((double)__x, __y);}
@@ -1568,7 +1515,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double tgamma(long double __x) {return tgammal(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 tgamma(_A1 __x) {return tgamma((double)__x);}
@@ -1582,7 +1528,6 @@
 inline _LIBCPP_INLINE_VISIBILITY long double trunc(long double __x) {return truncl(__x);}
 
 template <class _A1>
-_LIBCPP_ALWAYS_INLINE
 _LIBCPP_INLINE_VISIBILITY
 typename enable_if<is_integral<_A1>::value, double>::type
 trunc(_A1 __x) {return trunc((double)__x);}