http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51083
--- Comment #13 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-11-12 15:57:07 UTC --- Author: redi Date: Sat Nov 12 15:57:03 2011 New Revision: 181321 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181321 Log: PR libstdc++/51083 * include/ext/type_traits.h (__promote): Only define __type member for integral and floating point types, to prevent math functions participating in overload resolution for other types. (__promote_2, __promote_3, __promote_4): Use __promote in default template argument values, so deduction only succeeds for integral and floating point types. * testsuite/26_numerics/cmath/51083.cc: New. * testsuite/26_numerics/complex/51083.cc: New. * testsuite/tr1/8_c_compatibility/cmath/51083.cc: New. * testsuite/tr1/8_c_compatibility/complex/51083.cc: New. Added: trunk/libstdc++-v3/testsuite/26_numerics/cmath/ trunk/libstdc++-v3/testsuite/26_numerics/cmath/51083.cc trunk/libstdc++-v3/testsuite/26_numerics/complex/51083.cc trunk/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/51083.cc trunk/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/51083.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/ext/type_traits.h