[all-commits] [llvm/llvm-project] 106bde: [Sema][ObjC] Invalidate BlockDecl with invalid ret...

Ding Fei via All-commits all-commits at lists.llvm.org
Mon Jul 24 03:25:02 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 106bde9ab2bdffb2409311ef2d4f2c3c9ca77d3f
      https://github.com/llvm/llvm-project/commit/106bde9ab2bdffb2409311ef2d4f2c3c9ca77d3f
  Author: dingfei <fding at feysh.com>
  Date:   2023-07-24 (Mon, 24 Jul 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/test/AST/ast-dump-recovery.m

  Log Message:
  -----------
  [Sema][ObjC] Invalidate BlockDecl with invalid return expr & its parent BlockExpr

Invalidate BlockDecl with implicit return type, in case any of the return value exprs is invalid.
Propagating the error info up by replacing BlockExpr with a RecoveryExpr.

The idea of this fix is given by @hokein(Haojian Wu)

Fix https://github.com/llvm/llvm-project/issues/63863.

Differential Revision: https://reviews.llvm.org/D155396




More information about the All-commits mailing list