Index: include/tr1_impl/complex =================================================================== --- include/tr1_impl/complex (revision 156970) +++ include/tr1_impl/complex (working copy) @@ -311,8 +311,12 @@ arg(_Tp __x) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; +#if (_GLIBCXX_USE_C99_MATH && !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC) return std::signbit(__x) ? __type(3.1415926535897932384626433832795029L) : __type(); +#else + return std::arg(std::complex<__type>(__x)); +#endif } template