From: Fariborz Jahanian Date: Mon, 29 Oct 2007 17:16:25 +0000 (+0000) Subject: Do the encoding of ivar types in the ivar metadata. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=160eb6538eee38b6827a6173c4f7cc0630b29ed5;p=clang Do the encoding of ivar types in the ivar metadata. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43454 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/Driver/RewriteTest.cpp b/Driver/RewriteTest.cpp index 0c303daddf..45dde83375 100644 --- a/Driver/RewriteTest.cpp +++ b/Driver/RewriteTest.cpp @@ -836,15 +836,21 @@ void RewriteTest::RewriteObjcClassMetaData(ObjcImplementationDecl *IDecl, : CDecl->getIntfDeclIvars(); Result += "\t,{{\""; Result += Ivars[0]->getName(); - Result += "\", \"\", "; + Result += "\", \""; + std::string StrEncoding; + Context->getObjcEncodingForType(Ivars[0]->getType(), StrEncoding); + Result += StrEncoding; + Result += "\", "; SynthesizeIvarOffsetComputation(IDecl, Ivars[0], Result); Result += "}\n"; for (int i = 1; i < NumIvars; i++) { - // TODO: 1) ivar names may have to go to another section. 2) encode - // ivar_type type of each ivar . Result += "\t ,{\""; Result += Ivars[i]->getName(); - Result += "\", \"\", "; + Result += "\", \""; + std::string StrEncoding; + Context->getObjcEncodingForType(Ivars[i]->getType(), StrEncoding); + Result += StrEncoding; + Result += "\", "; SynthesizeIvarOffsetComputation(IDecl, Ivars[i], Result); Result += "}\n"; }