diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2012-01-03 22:52:32 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2012-01-03 22:52:32 +0000 |
| commit | 7249e36704756c215a3391a9e7b544602bda4780 (patch) | |
| tree | c0926b3f2ef0e86edd630a390d03e8248aa022ad /clang/lib/Sema/SemaDeclAttr.cpp | |
| parent | 1ad24336909373a07c4eb85ffd065ece89f16585 (diff) | |
| download | bcm5719-llvm-7249e36704756c215a3391a9e7b544602bda4780.tar.gz bcm5719-llvm-7249e36704756c215a3391a9e7b544602bda4780.zip | |
objc: diagnose misplacement of objc_suppress_autosynthesis
attribute.
llvm-svn: 147490
Diffstat (limited to 'clang/lib/Sema/SemaDeclAttr.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaDeclAttr.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index 4074afee1cc..22a2cfe8a6e 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -1581,6 +1581,11 @@ static void handleArcWeakrefUnavailableAttr(Sema &S, Decl *D, static void handleObjCSuppressAutosynthesisAttr(Sema &S, Decl *D, const AttributeList &Attr) { + if (!isa<ObjCInterfaceDecl>(D)) { + S.Diag(Attr.getLoc(), diag::err_suppress_autosynthesis); + return; + } + unsigned NumArgs = Attr.getNumArgs(); if (NumArgs > 0) { S.Diag(Attr.getLoc(), diag::err_attribute_too_many_arguments) << 0; |

