[cfe-commits] r138803 - in /cfe/trunk: lib/Parse/ParseDecl.cpp test/SemaObjC/nested-typedef-decl.m
Fariborz Jahanian
fjahanian at apple.com
Tue Aug 30 10:10:53 PDT 2011
Author: fjahanian
Date: Tue Aug 30 12:10:52 2011
New Revision: 138803
URL: http://llvm.org/viewvc/llvm-project?rev=138803&view=rev
Log:
objc - fixes a regression in declaring c decls nested in
objective-c containers due to recent changes to objc decl
contexts. // rdar://10041908
Added:
cfe/trunk/test/SemaObjC/nested-typedef-decl.m
Modified:
cfe/trunk/lib/Parse/ParseDecl.cpp
Modified: cfe/trunk/lib/Parse/ParseDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseDecl.cpp?rev=138803&r1=138802&r2=138803&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseDecl.cpp (original)
+++ cfe/trunk/lib/Parse/ParseDecl.cpp Tue Aug 30 12:10:52 2011
@@ -759,6 +759,9 @@
SourceLocation &DeclEnd,
ParsedAttributesWithRange &attrs) {
ParenBraceBracketBalancer BalancerRAIIObj(*this);
+ // Must temporarily exit the objective-c container scope for
+ // parsing c none objective-c decls.
+ ObjCDeclContextSwitch ObjCDC(*this);
Decl *SingleDecl = 0;
Decl *OwnedType = 0;
Added: cfe/trunk/test/SemaObjC/nested-typedef-decl.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/nested-typedef-decl.m?rev=138803&view=auto
==============================================================================
--- cfe/trunk/test/SemaObjC/nested-typedef-decl.m (added)
+++ cfe/trunk/test/SemaObjC/nested-typedef-decl.m Tue Aug 30 12:10:52 2011
@@ -0,0 +1,21 @@
+// RUN: %clang_cc1 -x objective-c -fsyntax-only -verify %s
+// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -verify %s
+// rdar://10041908
+
+ at interface Bar {
+ struct _A *_hardlinkList;
+}
+ at end
+ at implementation Bar
+typedef struct _A {
+ int dev;
+ int inode;
+} A;
+
+- (void) idx:(int)idx ino:(int)ino dev:(int)dev
+{
+ _hardlinkList[idx].inode = ino;
+ _hardlinkList[idx].dev = dev;
+}
+ at end
+
More information about the cfe-commits
mailing list