summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjC
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2014-08-22 23:17:52 +0000
committerFariborz Jahanian <fjahanian@apple.com>2014-08-22 23:17:52 +0000
commit4bf437ecd8ccd86d154b16521b8406246aa33e3a (patch)
treefcafabf0386374db0d400d89d65628579964be75 /clang/test/SemaObjC
parente82d89cc37ceb69bcb35b911e2ca2119aa51a5e5 (diff)
downloadbcm5719-llvm-4bf437ecd8ccd86d154b16521b8406246aa33e3a.tar.gz
bcm5719-llvm-4bf437ecd8ccd86d154b16521b8406246aa33e3a.zip
Objective-C. Warn when @encode'ing provides an incomplete
type encoding because in certain cases, such as for vector types, because we still haven't designed encoding for them. rdar://9255564 llvm-svn: 216301
Diffstat (limited to 'clang/test/SemaObjC')
-rw-r--r--clang/test/SemaObjC/encode-typeof-test.m19
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/encode-typeof-test.m b/clang/test/SemaObjC/encode-typeof-test.m
index 2cda9739681..fe8f29c3b97 100644
--- a/clang/test/SemaObjC/encode-typeof-test.m
+++ b/clang/test/SemaObjC/encode-typeof-test.m
@@ -24,3 +24,22 @@ int main()
int i;
typeof(@encode(typeof(i))) e = @encode(typeof(Intf)); // expected-warning {{initializer-string for char array is too long}}
}
+
+// rdar://9255564
+typedef short short8 __attribute__((ext_vector_type(8)));
+
+struct foo {
+ char a;
+ int b;
+ long c;
+ short8 d;
+ int array[4];
+ short int bitfield1:5;
+ unsigned short bitfield2:11;
+ char *string;
+};
+
+const char *RetEncode () {
+ return @encode(struct foo); // expected-warning {{encoding of 'struct foo' type is incomplete because 'short8' (vector of 8 'short' values) component has unknown encoding}}
+}
+
OpenPOWER on IntegriCloud