When generating the CodeGen type name of a struct, union, enum use the typedef  name if a tag type name is not available for the type. This matches how llvm-gcc  chooses CodeGen type names.
When generating the CodeGen type name of a struct, union, enum use the typedef 
name if a tag type name is not available for the type. This matches how llvm-gcc 
chooses CodeGen type names.

This means that "typedef struct {...} foo" now results in a CodeGen name of 
"struct.foo" rather than "struct."



git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@44489 91177308-0d34-0410-b5e6-96231b3b80d8

llvm-mirror/clang,llvm-mirror/clang,llvm-mirror/clang,llvm-mirror/clang,apple/swift-clang,apple/swift-clang,apple/swift-clang,apple/swift-clang,llvm-mirror/clang,apple/swift-clang,apple/swift-clang,llvm-mirror/clang,apple/swift-clang,llvm-mirror/clang,apple/swift-clang,apple/swift-clang,apple/swift-clang,llvm-mirror/clang,llvm-mirror/clang,llvm-mirror/clang