backout f4add9815dd1 and db258cb900a7 because gcc 4.4 builds don't use -std=gnu++0x for decltype b=810274
merge backout b=810274