diff --git a/toolchain/check/import_cpp.cpp b/toolchain/check/import_cpp.cpp index 6dc4c4b46115..a5fe4395bb3b 100644 --- a/toolchain/check/import_cpp.cpp +++ b/toolchain/check/import_cpp.cpp @@ -348,11 +348,6 @@ static auto ImportNameDecl(Context& context, SemIR::LocId loc_id, auto ImportNameFromCpp(Context& context, SemIR::LocId loc_id, SemIR::NameScopeId scope_id, SemIR::NameId name_id) -> SemIR::InstId { - auto lookup = ClangLookup(context, loc_id, scope_id, name_id); - if (!lookup) { - return SemIR::InstId::None; - } - DiagnosticAnnotationScope annotate_diagnostics( &context.emitter(), [&](auto& builder) { CARBON_DIAGNOSTIC(InCppNameLookup, Note, @@ -360,6 +355,11 @@ auto ImportNameFromCpp(Context& context, SemIR::LocId loc_id, builder.Note(loc_id, InCppNameLookup, name_id); }); + auto lookup = ClangLookup(context, loc_id, scope_id, name_id); + if (!lookup) { + return SemIR::InstId::None; + } + if (!lookup->isSingleResult()) { context.TODO(loc_id, llvm::formatv("Unsupported: Lookup succeeded but couldn't "