diff options
author | David Blaikie <dblaikie@gmail.com> | 2019-05-02 16:30:49 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2019-05-02 16:30:49 +0000 |
commit | a558ee81052830b8a4f2c5491c418c18e2f0ba32 (patch) | |
tree | 9b3ce4df06c7e0b92692414eb7b153d7d63b9de3 /clang/lib/Sema | |
parent | 1b29dec05f3cc005d66be9633a85e1fce0883c38 (diff) | |
download | bcm5719-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.cpp | 3 |
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++; |