[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)
Stefan Gränitz via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 6 03:51:58 PST 2024
================
@@ -5676,24 +5676,32 @@ Parser::DeclGroupPtrTy Parser::ParseTopLevelStmtDecl() {
// Parse a top-level-stmt.
Parser::StmtVector Stmts;
ParsedStmtContext SubStmtCtx = ParsedStmtContext();
- Actions.PushFunctionScope();
+ ParseScope FnScope(this, Scope::FnScope | Scope::DeclScope |
----------------
weliveindetail wrote:
I tested without it the `ParseScope` and got a segfault, so I assume we can not drop it (without looking into the details). I kept both, `FnScope` and `CompoundStmtScope`, because in `ActOnStartTopLevelStmtDecl()` we push them on the Sema side as well.
https://github.com/llvm/llvm-project/pull/84150
More information about the cfe-commits
mailing list