]> granicus.if.org Git - clang/commitdiff
Better match llvm-gcc's behavior for CodeGen naming of anonymous structs and unions.
authorChristopher Lamb <christopher.lamb@gmail.com>
Sat, 1 Dec 2007 09:20:34 +0000 (09:20 +0000)
committerChristopher Lamb <christopher.lamb@gmail.com>
Sat, 1 Dec 2007 09:20:34 +0000 (09:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44490 91177308-0d34-0410-b5e6-96231b3b80d8

CodeGen/CodeGenTypes.cpp

index 7b8a73c100f8f4a47d5ff7a2bf40cf53e5fb5b31..199199519df7ee925b2d4fe2ff357b5c29ffd566 100644 (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();