Emit an error when trying to @encode an incomplete type.
commit3b5904ba83fc9b968b1cd6f1ce78d01bfd6e8686
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sat, 14 May 2011 20:32:39 +0000 (14 20:32 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sat, 14 May 2011 20:32:39 +0000 (14 20:32 +0000)
treeee67c8f251bd35eb2b82ca1271d8ac36339c0aa8
parente1e96a6201168c232a06ec81685f948e05fddd39
Emit an error when trying to @encode an incomplete type.

There are APIs, e.g. [NSValue valueWithBytes:objCType:], which use the encoding to find out
the size of an object pointed to by a pointer. Make things safer by making it illegal to @encode
incomplete types.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131364 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Sema/Sema.h
lib/Sema/SemaExprObjC.cpp
test/SemaObjC/exprs.m