Index: lib/CodeGen/CGRTTI.cpp =================================================================== --- lib/CodeGen/CGRTTI.cpp +++ lib/CodeGen/CGRTTI.cpp @@ -969,7 +969,8 @@ Context.UnsignedShortTy, Context.IntTy, Context.UnsignedIntTy, Context.LongTy, Context.UnsignedLongTy, Context.LongLongTy, - Context.UnsignedLongLongTy, Context.FloatTy, + Context.UnsignedLongLongTy, + Context.HalfTy, Context.FloatTy, Context.DoubleTy, Context.LongDoubleTy, Context.Char16Ty, Context.Char32Ty }; for (unsigned i = 0; i < llvm::array_lengthof(FundamentalTypes); ++i) Index: test/CodeGenCXX/rtti-fundamental.cpp =================================================================== --- test/CodeGenCXX/rtti-fundamental.cpp +++ test/CodeGenCXX/rtti-fundamental.cpp @@ -89,6 +89,11 @@ // CHECK: @_ZTIPy = unnamed_addr constant // CHECK: @_ZTIPKy = unnamed_addr constant +// half +// CHECK: @_ZTIDh = unnamed_addr constant +// CHECK: @_ZTIPDh = unnamed_addr constant +// CHECK: @_ZTIPKDh = unnamed_addr constant + // float // CHECK: @_ZTIf = unnamed_addr constant // CHECK: @_ZTIPf = unnamed_addr constant