parent
335d399a0e
commit
01becebef3
|
@ -363,7 +363,7 @@ static std::string CBEMangle(const std::string &S) {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CWriter::getStructName(StructType *ST) {
|
std::string CWriter::getStructName(StructType *ST) {
|
||||||
if (!ST->isAnonymous() && !ST->getName().empty())
|
if (!ST->isLiteral() && !ST->getName().empty())
|
||||||
return CBEMangle("l_"+ST->getName().str());
|
return CBEMangle("l_"+ST->getName().str());
|
||||||
|
|
||||||
return "l_unnamed_" + utostr(UnnamedStructIDs[ST]);
|
return "l_unnamed_" + utostr(UnnamedStructIDs[ST]);
|
||||||
|
@ -2052,7 +2052,7 @@ void CWriter::printModuleTypes() {
|
||||||
for (unsigned i = 0, e = StructTypes.size(); i != e; ++i) {
|
for (unsigned i = 0, e = StructTypes.size(); i != e; ++i) {
|
||||||
StructType *ST = StructTypes[i];
|
StructType *ST = StructTypes[i];
|
||||||
|
|
||||||
if (ST->isAnonymous() || ST->getName().empty())
|
if (ST->isLiteral() || ST->getName().empty())
|
||||||
UnnamedStructIDs[ST] = NextTypeID++;
|
UnnamedStructIDs[ST] = NextTypeID++;
|
||||||
|
|
||||||
std::string Name = getStructName(ST);
|
std::string Name = getStructName(ST);
|
||||||
|
|
|
@ -533,9 +533,9 @@ void CppWriter::printType(Type* Ty) {
|
||||||
}
|
}
|
||||||
case Type::StructTyID: {
|
case Type::StructTyID: {
|
||||||
StructType* ST = cast<StructType>(Ty);
|
StructType* ST = cast<StructType>(Ty);
|
||||||
if (!ST->isAnonymous()) {
|
if (!ST->isLiteral()) {
|
||||||
Out << "StructType *" << typeName << " = ";
|
Out << "StructType *" << typeName << " = ";
|
||||||
Out << "StructType::createNamed(mod->getContext(), \"";
|
Out << "StructType::create(mod->getContext(), \"";
|
||||||
printEscapedString(ST->getName());
|
printEscapedString(ST->getName());
|
||||||
Out << "\");";
|
Out << "\");";
|
||||||
nl(Out);
|
nl(Out);
|
||||||
|
@ -556,7 +556,7 @@ void CppWriter::printType(Type* Ty) {
|
||||||
nl(Out);
|
nl(Out);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ST->isAnonymous()) {
|
if (ST->isLiteral()) {
|
||||||
Out << "StructType *" << typeName << " = ";
|
Out << "StructType *" << typeName << " = ";
|
||||||
Out << "StructType::get(" << "mod->getContext(), ";
|
Out << "StructType::get(" << "mod->getContext(), ";
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -171,7 +171,7 @@ void TypePrinting::incorporateTypes(const Module &M) {
|
||||||
StructType *STy = *I;
|
StructType *STy = *I;
|
||||||
|
|
||||||
// Ignore anonymous types.
|
// Ignore anonymous types.
|
||||||
if (STy->isAnonymous())
|
if (STy->isLiteral())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (STy->getName().empty())
|
if (STy->getName().empty())
|
||||||
|
@ -221,7 +221,7 @@ void TypePrinting::print(Type *Ty, raw_ostream &OS) {
|
||||||
case Type::StructTyID: {
|
case Type::StructTyID: {
|
||||||
StructType *STy = cast<StructType>(Ty);
|
StructType *STy = cast<StructType>(Ty);
|
||||||
|
|
||||||
if (STy->isAnonymous())
|
if (STy->isLiteral())
|
||||||
return printStructBody(STy, OS);
|
return printStructBody(STy, OS);
|
||||||
|
|
||||||
if (!STy->getName().empty())
|
if (!STy->getName().empty())
|
||||||
|
@ -2024,7 +2024,7 @@ void Type::print(raw_ostream &OS) const {
|
||||||
|
|
||||||
// If the type is a named struct type, print the body as well.
|
// If the type is a named struct type, print the body as well.
|
||||||
if (StructType *STy = dyn_cast<StructType>(const_cast<Type*>(this)))
|
if (StructType *STy = dyn_cast<StructType>(const_cast<Type*>(this)))
|
||||||
if (!STy->isAnonymous()) {
|
if (!STy->isLiteral()) {
|
||||||
OS << " = type ";
|
OS << " = type ";
|
||||||
TP.printStructBody(STy, OS);
|
TP.printStructBody(STy, OS);
|
||||||
}
|
}
|
||||||
|
|
|
@ -299,7 +299,7 @@ LLVMTypeRef LLVMStructType(LLVMTypeRef *ElementTypes,
|
||||||
|
|
||||||
LLVMTypeRef LLVMStructCreateNamed(LLVMContextRef C, const char *Name)
|
LLVMTypeRef LLVMStructCreateNamed(LLVMContextRef C, const char *Name)
|
||||||
{
|
{
|
||||||
return wrap(StructType::createNamed(*unwrap(C), Name));
|
return wrap(StructType::create(*unwrap(C), Name));
|
||||||
}
|
}
|
||||||
|
|
||||||
void LLVMStructSetBody(LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes,
|
void LLVMStructSetBody(LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes,
|
||||||
|
|
Loading…
Reference in New Issue