diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2014-08-22 23:17:52 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2014-08-22 23:17:52 +0000 |
commit | 4bf437ecd8ccd86d154b16521b8406246aa33e3a (patch) | |
tree | fcafabf0386374db0d400d89d65628579964be75 /clang/test/SemaObjC | |
parent | e82d89cc37ceb69bcb35b911e2ca2119aa51a5e5 (diff) | |
download | bcm5719-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.m | 19 |
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}} +} + |