summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2019-05-02 16:30:49 +0000
committerDavid Blaikie <dblaikie@gmail.com>2019-05-02 16:30:49 +0000
commita558ee81052830b8a4f2c5491c418c18e2f0ba32 (patch)
tree9b3ce4df06c7e0b92692414eb7b153d7d63b9de3 /clang/lib/Sema
parent1b29dec05f3cc005d66be9633a85e1fce0883c38 (diff)
downloadbcm5719-llvm-a558ee81052830b8a4f2c5491c418c18e2f0ba32.tar.gz
bcm5719-llvm-a558ee81052830b8a4f2c5491c418c18e2f0ba32.zip
Do not warn on switches over enums that do not use [[maybe_unused]] enumerators
PR36231, [dcl.attr.unused]p3 Reviewers: aaron.ballman Differential Revision: https://reviews.llvm.org/D61444 llvm-svn: 359800
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r--clang/lib/Sema/SemaStmt.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaStmt.cpp b/clang/lib/Sema/SemaStmt.cpp
index 9055eb7d71d..feb0052d428 100644
--- a/clang/lib/Sema/SemaStmt.cpp
+++ b/clang/lib/Sema/SemaStmt.cpp
@@ -1162,6 +1162,9 @@ Sema::ActOnFinishSwitchStmt(SourceLocation SwitchLoc, Stmt *Switch,
break;
}
+ if (EI->second->hasAttr<UnusedAttr>())
+ continue;
+
// Drop unneeded case values
while (CI != CaseVals.end() && CI->first < EI->first)
CI++;
OpenPOWER on IntegriCloud