Fix <rdar://problem/6497608> clang does not catch ivar type mismatches in @implementation.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65948 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/SemaObjC/class-bitfield.m b/test/SemaObjC/class-bitfield.m
index 713a898..a67927f 100644
--- a/test/SemaObjC/class-bitfield.m
+++ b/test/SemaObjC/class-bitfield.m
@@ -15,3 +15,23 @@
 }
 @end
 
+@interface Base {
+  int i;
+}
+@end
+
+@interface WithBitfields: Base {
+  void *isa; // expected-note {{previous definition is here}}
+  unsigned a: 5;
+  signed b: 4;
+  int c: 5; // expected-note {{previous definition is here}}
+}
+@end
+
+@implementation WithBitfields {
+  char *isa;  // expected-error {{instance variable 'isa' has conflicting type: 'char *' vs 'void *'}}
+  unsigned a: 5;  
+  signed b: 4; 
+  int c: 3;  // expected-error {{instance variable 'c' has conflicting bitfield width}}
+}
+@end