#include <string>
#if __cplusplus >= 201103L
# error "This is C++11" // doesn't get called, so pre-C++11
#endif

int main()
{
  typedef std::pair<int, std::string> pairAB;
  pairAB p2;

  __typeof__(p2.first) a2 = 42;
  __typeof__(p2.second) b2 = "hello again";

  p2.first = a2;
  p2.second = b2;
}
