Better match llvm-gcc's behavior for CodeGen naming of anonymous structs and unions.

llvm-svn: 44490
This commit is contained in:
Christopher Lamb 2007-12-01 09:20:34 +00:00
parent b0e6094a22
commit 7d303b2a20
1 changed files with 6 additions and 3 deletions

View File

@ -313,9 +313,12 @@ const llvm::Type *CodeGenTypes::ConvertNewType(QualType T) {
// Name the codegen type after the typedef name
// if there is no tag type name available
if (TD->getName() == "" && T->getTypeClass() == Type::TypeName) {
const TypedefType *TdT = cast<TypedefType>(T);
TypeName += TdT->getDecl()->getName();
if (TD->getName() == "") {
if (T->getTypeClass() == Type::TypeName) {
const TypedefType *TdT = cast<TypedefType>(T);
TypeName += TdT->getDecl()->getName();
} else
TypeName += "anon";
} else
TypeName += TD->getName();