1 --- type_traits.orig 2012-10-04 15:20:43.452992946 -0700 2 +++ type_traits 2012-10-04 15:21:32.423657167 -0700 3 @@ -1110,7 +1110,7 @@ 4 5 template<typename _Tp, typename _Up> 6 struct common_type<_Tp, _Up> 7 - { typedef decltype(true ? declval<_Tp>() : declval<_Up>()) type; }; 8 + { typedef typename decay<decltype(true ? declval<_Tp>() : declval<_Up>())>::type type; }; 9 10 template<typename _Tp, typename _Up, typename... _Vp> 11 struct common_type<_Tp, _Up, _Vp...> 12