diff options
author | Sam McCall <sam.mccall@gmail.com> | 2022-07-27 09:08:34 +0200 |
---|---|---|
committer | Sam McCall <sam.mccall@gmail.com> | 2022-07-27 09:08:34 +0200 |
commit | afc4958f5ad004309bb982c24147bc3d562add74 (patch) | |
tree | e6e30f528203f6a5dec2db57941ad829d9443ff6 /clang-tools-extra/pseudo | |
parent | 89f284bc238b4091482cbc4fa38bc5f7246b81e4 (diff) | |
download | llvm-afc4958f5ad004309bb982c24147bc3d562add74.tar.gz |
[pseudo] Add dangling-else guard to missing if-statement variants
Diffstat (limited to 'clang-tools-extra/pseudo')
-rw-r--r-- | clang-tools-extra/pseudo/lib/cxx/CXX.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/clang-tools-extra/pseudo/lib/cxx/CXX.cpp b/clang-tools-extra/pseudo/lib/cxx/CXX.cpp index fe9eb930469e..a0a252c50b98 100644 --- a/clang-tools-extra/pseudo/lib/cxx/CXX.cpp +++ b/clang-tools-extra/pseudo/lib/cxx/CXX.cpp @@ -300,12 +300,17 @@ llvm::DenseMap<ExtensionID, RuleGuard> buildGuards() { {rule::contextual_zero::NUMERIC_CONSTANT, TOKEN_GUARD(numeric_constant, Tok.text() == "0")}, - // FIXME: the init-statement variants are missing? {rule::selection_statement::IF__L_PAREN__condition__R_PAREN__statement, guardNextTokenNotElse}, {rule::selection_statement:: + IF__L_PAREN__init_statement__condition__R_PAREN__statement, + guardNextTokenNotElse}, + {rule::selection_statement:: IF__CONSTEXPR__L_PAREN__condition__R_PAREN__statement, guardNextTokenNotElse}, + {rule::selection_statement:: + IF__CONSTEXPR__L_PAREN__init_statement__condition__R_PAREN__statement, + guardNextTokenNotElse}, // The grammar distinguishes (only) user-defined vs plain string literals, // where the clang lexer distinguishes (only) encoding types. |