diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2011-04-15 22:06:22 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2011-04-15 22:06:22 +0000 |
commit | 0fe1a9861cc3ea98d2cbe5e257953a612303f7f5 (patch) | |
tree | 3e1e42c9567796f24abf2063a95758d2b623bcd7 /clang/lib/Sema/SemaExprObjC.cpp | |
parent | 46ce91a9648d883fbad30d7dba66049d6c370fed (diff) | |
download | bcm5719-llvm-0fe1a9861cc3ea98d2cbe5e257953a612303f7f5.tar.gz bcm5719-llvm-0fe1a9861cc3ea98d2cbe5e257953a612303f7f5.zip |
Enforce nonnull __attribute__ on Objective-C method calls.
// rdar://9287695
llvm-svn: 129615
Diffstat (limited to 'clang/lib/Sema/SemaExprObjC.cpp')
-rw-r--r-- | clang/lib/Sema/SemaExprObjC.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaExprObjC.cpp b/clang/lib/Sema/SemaExprObjC.cpp index c769b856cd9..cacc846028a 100644 --- a/clang/lib/Sema/SemaExprObjC.cpp +++ b/clang/lib/Sema/SemaExprObjC.cpp @@ -324,6 +324,12 @@ bool Sema::CheckMessageArgumentTypes(Expr **Args, unsigned NumArgs, Args[NumArgs-1]->getLocEnd()); } } + // diagnose nonnull arguments. + for (specific_attr_iterator<NonNullAttr> + i = Method->specific_attr_begin<NonNullAttr>(), + e = Method->specific_attr_end<NonNullAttr>(); i != e; ++i) { + CheckNonNullArguments(*i, Args, lbrac); + } DiagnoseSentinelCalls(Method, lbrac, Args, NumArgs); return IsError; |