Sema::LookupName essentially has two possible code paths based on what
language is currently being used. The predicate selecting the code path
is whether or not C++ is being used. In this scenario, the Scope
argument that is being passed needs to be not nullptr in order to
succeed. In the C/ObjC case, the Scope argument can potentially be
nullptr and still succeed. In the case where the Scope argument is
nullptr and you are dealing with Objective-C++ while looking up an
Objective-C name, you will fail where you otherwise should succeed.
This was surfaced when working on Swift/C++ interop. Swift passes
nullptr for the Scope when looking up some Objective-C name with the
experimental C++ interop option enabled resulting in a failure.