aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-doc/BitcodeReader.cpp
diff options
context:
space:
mode:
authorHaowei Wu <haowei@google.com>2022-09-27 18:35:34 -0700
committerHaowei Wu <haowei@google.com>2022-09-27 18:35:34 -0700
commita7594772225b59ad75cd270aa261b49695985444 (patch)
tree65a78376fbe0b365dab0b2caa6c9850b4e7e8932 /clang-tools-extra/clang-doc/BitcodeReader.cpp
parent979db5343f01841e3866f6d7b2cbd96d23883c1e (diff)
downloadllvm-a7594772225b59ad75cd270aa261b49695985444.zip
llvm-a7594772225b59ad75cd270aa261b49695985444.tar.gz
llvm-a7594772225b59ad75cd270aa261b49695985444.tar.bz2
Revert "[clang-doc] Add typedef/using information."
This reverts commit eed22583fd78d4d657fb70b99e62fbdc1f83b8f9, which breaks clang build with -Werror.
Diffstat (limited to 'clang-tools-extra/clang-doc/BitcodeReader.cpp')
-rw-r--r--clang-tools-extra/clang-doc/BitcodeReader.cpp79
1 files changed, 18 insertions, 61 deletions
diff --git a/clang-tools-extra/clang-doc/BitcodeReader.cpp b/clang-tools-extra/clang-doc/BitcodeReader.cpp
index 8e1db35..0272726 100644
--- a/clang-tools-extra/clang-doc/BitcodeReader.cpp
+++ b/clang-tools-extra/clang-doc/BitcodeReader.cpp
@@ -24,6 +24,12 @@ llvm::Error decodeRecord(const Record &R, llvm::SmallVectorImpl<char> &Field,
return llvm::Error::success();
}
+llvm::Error decodeRecord(const Record &R, std::string &Field,
+ llvm::StringRef Blob) {
+ Field.assign(Blob.begin(), Blob.end());
+ return llvm::Error::success();
+}
+
llvm::Error decodeRecord(const Record &R, SymbolID &Field,
llvm::StringRef Blob) {
if (R[0] != BitCodeConstants::USRHashSize)
@@ -98,7 +104,6 @@ llvm::Error decodeRecord(const Record &R, InfoType &Field,
case InfoType::IT_function:
case InfoType::IT_default:
case InfoType::IT_enum:
- case InfoType::IT_typedef:
Field = IT;
return llvm::Error::success();
}
@@ -229,23 +234,6 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
}
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
- TypedefInfo *I) {
- switch (ID) {
- case TYPEDEF_USR:
- return decodeRecord(R, I->USR, Blob);
- case TYPEDEF_NAME:
- return decodeRecord(R, I->Name, Blob);
- case TYPEDEF_DEFLOCATION:
- return decodeRecord(R, I->DefLoc, Blob);
- case TYPEDEF_IS_USING:
- return decodeRecord(R, I->IsUsing, Blob);
- default:
- return llvm::createStringError(llvm::inconvertibleErrorCode(),
- "invalid field for TypedefInfo");
- }
-}
-
-llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
EnumValueInfo *I) {
switch (ID) {
case ENUM_VALUE_NAME:
@@ -436,11 +424,6 @@ template <> llvm::Error addTypeInfo(EnumInfo *I, TypeInfo &&T) {
return llvm::Error::success();
}
-template <> llvm::Error addTypeInfo(TypedefInfo *I, TypeInfo &&T) {
- I->Underlying = std::move(T);
- return llvm::Error::success();
-}
-
template <typename T> llvm::Error addReference(T I, Reference &&R, FieldId F) {
return llvm::createStringError(llvm::inconvertibleErrorCode(),
"invalid type cannot contain Reference");
@@ -492,17 +475,6 @@ template <> llvm::Error addReference(EnumInfo *I, Reference &&R, FieldId F) {
}
}
-template <> llvm::Error addReference(TypedefInfo *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(),
- "invalid type cannot contain Reference");
- }
-}
-
template <>
llvm::Error addReference(NamespaceInfo *I, Reference &&R, FieldId F) {
switch (F) {
@@ -510,10 +482,10 @@ llvm::Error addReference(NamespaceInfo *I, Reference &&R, FieldId F) {
I->Namespace.emplace_back(std::move(R));
return llvm::Error::success();
case FieldId::F_child_namespace:
- I->Children.Namespaces.emplace_back(std::move(R));
+ I->ChildNamespaces.emplace_back(std::move(R));
return llvm::Error::success();
case FieldId::F_child_record:
- I->Children.Records.emplace_back(std::move(R));
+ I->ChildRecords.emplace_back(std::move(R));
return llvm::Error::success();
default:
return llvm::createStringError(llvm::inconvertibleErrorCode(),
@@ -548,7 +520,7 @@ template <> llvm::Error addReference(RecordInfo *I, Reference &&R, FieldId F) {
I->VirtualParents.emplace_back(std::move(R));
return llvm::Error::success();
case FieldId::F_child_record:
- I->Children.Records.emplace_back(std::move(R));
+ I->ChildRecords.emplace_back(std::move(R));
return llvm::Error::success();
default:
return llvm::createStringError(llvm::inconvertibleErrorCode(),
@@ -562,37 +534,32 @@ void addChild(T I, ChildInfoType &&R) {
exit(1);
}
-// Namespace children:
template <> void addChild(NamespaceInfo *I, FunctionInfo &&R) {
- I->Children.Functions.emplace_back(std::move(R));
+ I->ChildFunctions.emplace_back(std::move(R));
}
+
template <> void addChild(NamespaceInfo *I, EnumInfo &&R) {
- I->Children.Enums.emplace_back(std::move(R));
-}
-template <> void addChild(NamespaceInfo *I, TypedefInfo &&R) {
- I->Children.Typedefs.emplace_back(std::move(R));
+ I->ChildEnums.emplace_back(std::move(R));
}
-// Record children:
template <> void addChild(RecordInfo *I, FunctionInfo &&R) {
- I->Children.Functions.emplace_back(std::move(R));
+ I->ChildFunctions.emplace_back(std::move(R));
}
+
template <> void addChild(RecordInfo *I, EnumInfo &&R) {
- I->Children.Enums.emplace_back(std::move(R));
-}
-template <> void addChild(RecordInfo *I, TypedefInfo &&R) {
- I->Children.Typedefs.emplace_back(std::move(R));
+ I->ChildEnums.emplace_back(std::move(R));
}
-// Other types of children:
template <> void addChild(EnumInfo *I, EnumValueInfo &&R) {
I->Members.emplace_back(std::move(R));
}
+
template <> void addChild(RecordInfo *I, BaseRecordInfo &&R) {
I->Bases.emplace_back(std::move(R));
}
+
template <> void addChild(BaseRecordInfo *I, FunctionInfo &&R) {
- I->Children.Functions.emplace_back(std::move(R));
+ I->ChildFunctions.emplace_back(std::move(R));
}
// Read records from bitcode into a given info.
@@ -719,13 +686,6 @@ llvm::Error ClangDocBitcodeReader::readSubBlock(unsigned ID, T I) {
addChild(I, std::move(EV));
return llvm::Error::success();
}
- case BI_TYPEDEF_BLOCK_ID: {
- TypedefInfo TI;
- if (auto Err = readBlock(ID, &TI))
- return Err;
- addChild(I, std::move(TI));
- return llvm::Error::success();
- }
default:
return llvm::createStringError(llvm::inconvertibleErrorCode(),
"invalid subblock type");
@@ -826,8 +786,6 @@ ClangDocBitcodeReader::readBlockToInfo(unsigned ID) {
return createInfo<RecordInfo>(ID);
case BI_ENUM_BLOCK_ID:
return createInfo<EnumInfo>(ID);
- case BI_TYPEDEF_BLOCK_ID:
- return createInfo<TypedefInfo>(ID);
case BI_FUNCTION_BLOCK_ID:
return createInfo<FunctionInfo>(ID);
default:
@@ -867,7 +825,6 @@ ClangDocBitcodeReader::readBitcode() {
case BI_NAMESPACE_BLOCK_ID:
case BI_RECORD_BLOCK_ID:
case BI_ENUM_BLOCK_ID:
- case BI_TYPEDEF_BLOCK_ID:
case BI_FUNCTION_BLOCK_ID: {
auto InfoOrErr = readBlockToInfo(ID);
if (!InfoOrErr)