summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-04-05 08:36:58 +0000
committerStephan Bergmann <sbergman@redhat.com>2017-04-05 08:36:58 +0000
commitbe55c60d94f1c1fc4a969a2f40a95cbf21e8eaca (patch)
tree0bf077628d073c91862e267f8c15492af865492d /clang/lib/Sema
parent23af89cc9a9a609efb684e59e9c848bb9018d67d (diff)
downloadbcm5719-llvm-be55c60d94f1c1fc4a969a2f40a95cbf21e8eaca.tar.gz
bcm5719-llvm-be55c60d94f1c1fc4a969a2f40a95cbf21e8eaca.zip
Don't issue a warning if the shadowing declaration is in a class
Follow-up to r299363 "Enhance -Wshadow to warn when shadowing typedefs or type aliases". Patch by Ahmed Asadi. Differential Revision: https://reviews.llvm.org/D31235 llvm-svn: 299522
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 7659fba14a3..c0a10158405 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -6744,6 +6744,10 @@ NamedDecl *Sema::getShadowedDeclaration(const VarDecl *D,
/// if it doesn't shadow any declaration or shadowing warnings are disabled.
NamedDecl *Sema::getShadowedDeclaration(const TypedefNameDecl *D,
const LookupResult &R) {
+ // Don't warn if typedef declaration is part of a class
+ if (D->getDeclContext()->isRecord())
+ return nullptr;
+
if (!shouldWarnIfShadowedDecl(Diags, R))
return nullptr;
OpenPOWER on IntegriCloud