In SemaOverload.cpp, the isNullPointerConstantForConversion function contains a redundant check for value dependency of a null pointer constant. The same check is performed in Expr::isNullPointerConstant, where the implementation is adapted to various special cases and better maintained. E.g. in C++11 and C++14 modes, the version in SemaOverload.cpp yields wrong results.
As it turned out, the test case for PR20110 already contained a note that this test should actually fail in C++11 mode. I've split this test case into two files for C++03 mode (which reproduces the original behaviour) and C++11 mode (new behaviour).