From: Fariborz Jahanian Date: Mon, 3 Dec 2007 22:25:42 +0000 (+0000) Subject: Fixed a bug exposed by referencing an ivar field using component reference syntax. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=87ce5d1cb99094fc7ffb42e0522da4e7bab403f8;p=clang Fixed a bug exposed by referencing an ivar field using component reference syntax. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44553 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/Driver/RewriteTest.cpp b/Driver/RewriteTest.cpp index b17f32bd14..a749284fa3 100644 --- a/Driver/RewriteTest.cpp +++ b/Driver/RewriteTest.cpp @@ -593,7 +593,9 @@ void RewriteTest::RewriteInterfaceDecl(ObjcInterfaceDecl *ClassDecl) { ResultStr += "#define _REWRITER_typedef_"; ResultStr += ClassDecl->getName(); ResultStr += "\n"; - ResultStr += "typedef struct objc_object "; + ResultStr += "typedef struct "; + ResultStr += ClassDecl->getName(); + ResultStr += " "; ResultStr += ClassDecl->getName(); ResultStr += ";\n#endif\n"; diff --git a/test/Sema/undef-field-reference-1.m b/test/Sema/undef-field-reference-1.m new file mode 100644 index 0000000000..485188b649 --- /dev/null +++ b/test/Sema/undef-field-reference-1.m @@ -0,0 +1,17 @@ +// RUN: clang -rewrite-test %s | clang + +#include + +@interface MyDerived +{ +@public + int IVAR; +} +@end + +MyDerived *pd; +int main() { + return pd->IVAR; +} + +