summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDecl.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2014-07-17 17:05:04 +0000
committerFariborz Jahanian <fjahanian@apple.com>2014-07-17 17:05:04 +0000
commitb93355e9b1d712670e3a4fa4c06950b83a0a2192 (patch)
treed1527db818b04d47fd492b04b8bfa3b4c6060362 /clang/lib/Sema/SemaDecl.cpp
parent5933c2f824175f1f17fcb59a5904268cac0506ba (diff)
downloadbcm5719-llvm-b93355e9b1d712670e3a4fa4c06950b83a0a2192.tar.gz
bcm5719-llvm-b93355e9b1d712670e3a4fa4c06950b83a0a2192.zip
Objective-C. deprecated attribute is not inherited on methods
overriden in interfaces and protocols (this is already the case for properties). rdar://16068470 llvm-svn: 213282
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index a7018cd7826..72fbe88eec2 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -2076,6 +2076,8 @@ static bool mergeDeclAttribute(Sema &S, NamedDecl *D,
// AlignedAttrs are handled separately, because we need to handle all
// such attributes on a declaration at the same time.
NewAttr = nullptr;
+ else if (isa<DeprecatedAttr>(Attr) && Override)
+ NewAttr = nullptr;
else if (Attr->duplicatesAllowed() || !DeclHasAttr(D, Attr))
NewAttr = cast<InheritableAttr>(Attr->clone(S.Context));
OpenPOWER on IntegriCloud