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