Eric Niebler proposed this as a fix for http://llvm.org/bugs/show_bug.cgi?id=21917.
I've tested it, and found that it does solve the problem in the PR.
Note that this is (probably) a defect in the standard, and that this would be an extension.
My concern is to make sure that this is (a) a conforming extension, and (b) not an ABI change.
The standard says that the default constructor for pair requires that both types be default-constructible.
I don't have tests for this (yet), but the program in the bug now compiles w/o error.