[all-commits] [llvm/llvm-project] 4bd81c: [Clang] Fix eager skipping in `ParseExpressionList...

Alejandro Álvarez Ayllón via All-commits all-commits at lists.llvm.org
Tue Oct 1 16:54:50 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4bd81c5738d00c9111fc11cb9990a9377d33eaf3
      https://github.com/llvm/llvm-project/commit/4bd81c5738d00c9111fc11cb9990a9377d33eaf3
  Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M clang/lib/Parse/ParseExpr.cpp
    A clang/test/AST/new-unknown-type.cpp
    M clang/test/Parser/colon-colon-parentheses.cpp
    M clang/test/Parser/cxx-ambig-paren-expr-asan.cpp

  Log Message:
  -----------
  [Clang] Fix eager skipping in `ParseExpressionList()` (#110133)

i.e., in a call like `function(new Unknown);` the parser should skip only until the
semicolon.

Before this change, everything was skipped until a balanced closing
parenthesis or brace was found. This strategy can cause completely bogus
ASTs. For instance, in the case of the test `new-unknown-type.cpp`,
`struct Bar` would end nested under the namespace `a::b`.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list