aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-doc/BitcodeReader.cpp
diff options
context:
space:
mode:
authorErick Velez <erickvelez7@gmail.com>2025-06-27 16:17:39 -0700
committerGitHub <noreply@github.com>2025-06-27 16:17:39 -0700
commit6d817810daa16667d8e3de5daf82f801bfba3e00 (patch)
treeb0776f30c24f736de78c90461a6164f783fb6dbb /clang-tools-extra/clang-doc/BitcodeReader.cpp
parent71d4c9ce70e7558bdfe0d4362b3f8c21864a5ee5 (diff)
downloadllvm-6d817810daa16667d8e3de5daf82f801bfba3e00.zip
llvm-6d817810daa16667d8e3de5daf82f801bfba3e00.tar.gz
llvm-6d817810daa16667d8e3de5daf82f801bfba3e00.tar.bz2
[clang-doc] serialize IsBuiltIn and IsTemplate for types (#146149)
IsBuiltIn and IsTemplate were being emitted as their default values.
Diffstat (limited to 'clang-tools-extra/clang-doc/BitcodeReader.cpp')
-rw-r--r--clang-tools-extra/clang-doc/BitcodeReader.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/clang-tools-extra/clang-doc/BitcodeReader.cpp b/clang-tools-extra/clang-doc/BitcodeReader.cpp
index 74da80c..fd6f40c 100644
--- a/clang-tools-extra/clang-doc/BitcodeReader.cpp
+++ b/clang-tools-extra/clang-doc/BitcodeReader.cpp
@@ -283,7 +283,15 @@ static llvm::Error parseRecord(const Record &R, unsigned ID,
static llvm::Error parseRecord(const Record &R, unsigned ID,
llvm::StringRef Blob, TypeInfo *I) {
- return llvm::Error::success();
+ switch (ID) {
+ case TYPE_IS_BUILTIN:
+ return decodeRecord(R, I->IsBuiltIn, Blob);
+ case TYPE_IS_TEMPLATE:
+ return decodeRecord(R, I->IsTemplate, Blob);
+ default:
+ return llvm::createStringError(llvm::inconvertibleErrorCode(),
+ "invalid field for TypeInfo");
+ }
}
static llvm::Error parseRecord(const Record &R, unsigned ID,
@@ -293,6 +301,10 @@ static llvm::Error parseRecord(const Record &R, unsigned ID,
return decodeRecord(R, I->Name, Blob);
case FIELD_DEFAULT_VALUE:
return decodeRecord(R, I->DefaultValue, Blob);
+ case FIELD_TYPE_IS_BUILTIN:
+ return decodeRecord(R, I->IsBuiltIn, Blob);
+ case FIELD_TYPE_IS_TEMPLATE:
+ return decodeRecord(R, I->IsTemplate, Blob);
default:
return llvm::createStringError(llvm::inconvertibleErrorCode(),
"invalid field for TypeInfo");
@@ -308,6 +320,10 @@ static llvm::Error parseRecord(const Record &R, unsigned ID,
return decodeRecord(R, I->Access, Blob);
case MEMBER_TYPE_IS_STATIC:
return decodeRecord(R, I->IsStatic, Blob);
+ case MEMBER_TYPE_IS_BUILTIN:
+ return decodeRecord(R, I->IsBuiltIn, Blob);
+ case MEMBER_TYPE_IS_TEMPLATE:
+ return decodeRecord(R, I->IsTemplate, Blob);
default:
return llvm::createStringError(llvm::inconvertibleErrorCode(),
"invalid field for MemberTypeInfo");