objective-c containers due to recent changes to objc decl
contexts. // rdar://
10041908
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138803
91177308-0d34-0410-b5e6-
96231b3b80d8
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;
--- /dev/null
+// RUN: %clang_cc1 -x objective-c -fsyntax-only -verify %s
+// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -verify %s
+// rdar://10041908
+
+@interface Bar {
+ struct _A *_hardlinkList;
+}
+@end
+@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;
+}
+@end
+