[Lldb-commits] [lldb] r312841 - Plugins: fix resolution ambiguity in PDB plugin
Saleem Abdulrasool via lldb-commits
lldb-commits at lists.llvm.org
Fri Sep 8 17:13:49 PDT 2017
Author: compnerd
Date: Fri Sep 8 17:13:49 2017
New Revision: 312841
URL: http://llvm.org/viewvc/llvm-project?rev=312841&view=rev
Log:
Plugins: fix resolution ambiguity in PDB plugin
A clang change caused the inclusion of `llvm::Type` and
`lldb_private::Type` to be pulled into the global namespace due to the
`using namespace llvm;` and `using namespace lldb_private;`. Explicitly
qualify the `Type` to resolve the ambiguity. NFC
Modified:
lldb/trunk/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
Modified: lldb/trunk/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp?rev=312841&r1=312840&r2=312841&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp Fri Sep 8 17:13:49 2017
@@ -95,11 +95,11 @@ lldb::TypeSP PDBASTParser::CreateLLDBTyp
m_ast.SetHasExternalStorage(clang_type.GetOpaqueQualType(), true);
- return std::make_shared<Type>(type.getSymIndexId(), m_ast.GetSymbolFile(),
- ConstString(udt->getName()), udt->getLength(),
- nullptr, LLDB_INVALID_UID,
- Type::eEncodingIsUID, decl, clang_type,
- Type::eResolveStateForward);
+ return std::make_shared<lldb_private::Type>(
+ type.getSymIndexId(), m_ast.GetSymbolFile(),
+ ConstString(udt->getName()), udt->getLength(), nullptr,
+ LLDB_INVALID_UID, lldb_private::Type::eEncodingIsUID, decl, clang_type,
+ lldb_private::Type::eResolveStateForward);
} else if (auto enum_type = llvm::dyn_cast<PDBSymbolTypeEnum>(&type)) {
std::string name = enum_type->getName();
lldb::Encoding encoding =
@@ -117,12 +117,12 @@ lldb::TypeSP PDBASTParser::CreateLLDBTyp
AddEnumValue(ast_enum, *enum_value);
}
- return std::make_shared<Type>(type.getSymIndexId(), m_ast.GetSymbolFile(),
- ConstString(name), bytes, nullptr,
- LLDB_INVALID_UID, Type::eEncodingIsUID, decl,
- ast_enum, Type::eResolveStateFull);
+ return std::make_shared<lldb_private::Type>(
+ type.getSymIndexId(), m_ast.GetSymbolFile(), ConstString(name), bytes,
+ nullptr, LLDB_INVALID_UID, lldb_private::Type::eEncodingIsUID, decl,
+ ast_enum, lldb_private::Type::eResolveStateFull);
} else if (auto type_def = llvm::dyn_cast<PDBSymbolTypeTypedef>(&type)) {
- Type *target_type =
+ lldb_private::Type *target_type =
m_ast.GetSymbolFile()->ResolveTypeUID(type_def->getTypeId());
std::string name = type_def->getName();
uint64_t bytes = type_def->getLength();
@@ -133,16 +133,17 @@ lldb::TypeSP PDBASTParser::CreateLLDBTyp
m_ast.GetSymbolFile()->GetDeclContextForUID(target_type->GetID());
CompilerType ast_typedef =
m_ast.CreateTypedefType(target_ast_type, name.c_str(), target_decl_ctx);
- return std::make_shared<Type>(
+ return std::make_shared<lldb_private::Type>(
type_def->getSymIndexId(), m_ast.GetSymbolFile(), ConstString(name),
- bytes, nullptr, target_type->GetID(), Type::eEncodingIsTypedefUID, decl,
- ast_typedef, Type::eResolveStateFull);
+ bytes, nullptr, target_type->GetID(),
+ lldb_private::Type::eEncodingIsTypedefUID, decl, ast_typedef,
+ lldb_private::Type::eResolveStateFull);
} else if (auto func_sig = llvm::dyn_cast<PDBSymbolTypeFunctionSig>(&type)) {
auto arg_enum = func_sig->getArguments();
uint32_t num_args = arg_enum->getChildCount();
std::vector<CompilerType> arg_list(num_args);
while (auto arg = arg_enum->getNext()) {
- Type *arg_type =
+ lldb_private::Type *arg_type =
m_ast.GetSymbolFile()->ResolveTypeUID(arg->getSymIndexId());
// If there's some error looking up one of the dependent types of this
// function signature, bail.
@@ -152,7 +153,7 @@ lldb::TypeSP PDBASTParser::CreateLLDBTyp
arg_list.push_back(arg_ast_type);
}
auto pdb_return_type = func_sig->getReturnType();
- Type *return_type =
+ lldb_private::Type *return_type =
m_ast.GetSymbolFile()->ResolveTypeUID(pdb_return_type->getSymIndexId());
// If there's some error looking up one of the dependent types of this
// function signature, bail.
@@ -167,23 +168,24 @@ lldb::TypeSP PDBASTParser::CreateLLDBTyp
CompilerType func_sig_ast_type = m_ast.CreateFunctionType(
return_ast_type, &arg_list[0], num_args, false, type_quals);
- return std::make_shared<Type>(
+ return std::make_shared<lldb_private::Type>(
func_sig->getSymIndexId(), m_ast.GetSymbolFile(), ConstString(), 0,
- nullptr, LLDB_INVALID_UID, Type::eEncodingIsUID, decl,
- func_sig_ast_type, Type::eResolveStateFull);
+ nullptr, LLDB_INVALID_UID, lldb_private::Type::eEncodingIsUID, decl,
+ func_sig_ast_type, lldb_private::Type::eResolveStateFull);
} else if (auto array_type = llvm::dyn_cast<PDBSymbolTypeArray>(&type)) {
uint32_t num_elements = array_type->getCount();
uint32_t element_uid = array_type->getElementType()->getSymIndexId();
uint32_t bytes = array_type->getLength();
- Type *element_type = m_ast.GetSymbolFile()->ResolveTypeUID(element_uid);
+ lldb_private::Type *element_type =
+ m_ast.GetSymbolFile()->ResolveTypeUID(element_uid);
CompilerType element_ast_type = element_type->GetFullCompilerType();
CompilerType array_ast_type =
m_ast.CreateArrayType(element_ast_type, num_elements, false);
- return std::make_shared<Type>(
+ return std::make_shared<lldb_private::Type>(
array_type->getSymIndexId(), m_ast.GetSymbolFile(), ConstString(),
- bytes, nullptr, LLDB_INVALID_UID, Type::eEncodingIsUID, decl,
- array_ast_type, Type::eResolveStateFull);
+ bytes, nullptr, LLDB_INVALID_UID, lldb_private::Type::eEncodingIsUID,
+ decl, array_ast_type, lldb_private::Type::eResolveStateFull);
}
return nullptr;
}
More information about the lldb-commits
mailing list