From 0a02c28e2912fdad4be8d7cb00fbcd2d3d75850a Mon Sep 17 00:00:00 2001 From: Erick Velez Date: Thu, 3 Jul 2025 15:50:23 -0700 Subject: [clang-doc] add namespace references to VarInfo (#146964) VarInfo was missing its addReference specialization. This causes errors when a VarInfo is inside a namespace that isn't the global namespace. --- clang-tools-extra/clang-doc/BitcodeReader.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'clang-tools-extra/clang-doc/BitcodeReader.cpp') diff --git a/clang-tools-extra/clang-doc/BitcodeReader.cpp b/clang-tools-extra/clang-doc/BitcodeReader.cpp index 2cbf8bf..f756ae6 100644 --- a/clang-tools-extra/clang-doc/BitcodeReader.cpp +++ b/clang-tools-extra/clang-doc/BitcodeReader.cpp @@ -569,6 +569,17 @@ static llvm::Error addReference(T I, Reference &&R, FieldId F) { "invalid type cannot contain Reference"); } +template <> llvm::Error addReference(VarInfo *I, Reference &&R, FieldId F) { + switch (F) { + case FieldId::F_namespace: + I->Namespace.emplace_back(std::move(R)); + return llvm::Error::success(); + default: + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "VarInfo cannot contain this Reference"); + } +} + template <> llvm::Error addReference(TypeInfo *I, Reference &&R, FieldId F) { switch (F) { case FieldId::F_type: -- cgit v1.1