implement some more FIXMEs, by rejecting more bogus stuff in
objc mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58216 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Parser/objc-init.m b/test/Parser/objc-init.m
index 4478665..085db72 100644
--- a/test/Parser/objc-init.m
+++ b/test/Parser/objc-init.m
@@ -1,4 +1,4 @@
-// RUN: clang -fsyntax-only -verify %s
+// RUN: clang -fsyntax-only -verify %s -pedantic
// rdar://5707001
@interface NSNumber;
@@ -6,6 +6,10 @@
- (unsigned) METH2;
@end
+struct SomeStruct {
+ int x, y, z, q;
+};
+
void test1() {
id objects[] = {[NSNumber METH]};
}
@@ -24,3 +28,14 @@
unsigned x[] = {[NSNumber METH2]+2};
}
+void test5(NSNumber *x) {
+ unsigned y[] = {
+ [4][NSNumber METH2]+2, // expected-warning {{use of GNU 'missing =' extension in designator}}
+ [4][x METH2]+2 // expected-warning {{use of GNU 'missing =' extension in designator}}
+ };
+
+ struct SomeStruct z = {
+ .x = [x METH2], // ok.
+ .x [x METH2] // expected-error {{expected '=' or another designator}}
+ };
+}