[all-commits] [llvm/llvm-project] 8fc3d7: Stop wrapping GCCAsmStmts inside StmtExprs to dest...

Akira Hatanaka via All-commits all-commits at lists.llvm.org
Fri Jun 17 17:29:18 PDT 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8fc3d719eee7ab41641506cbdc59f3ade0eb36e4
  Author: Akira Hatanaka <ahatanaka at apple.com>
  Date:   2022-06-17 (Fri, 17 Jun 2022)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/test/CodeGenCXX/asm.cpp
    A clang/test/CodeGenObjC/asm.m
    M clang/test/SemaTemplate/instantiate-expr-1.cpp

  Log Message:
  Stop wrapping GCCAsmStmts inside StmtExprs to destruct temporaries

Instead, just pop the cleanups at the end of the asm statement.

This fixes an assertion failure in BuildStmtExpr. It also fixes a bug
where blocks and C compound literals were destructed at the end of the
asm statement instead of at the end of the enclosing scope.

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

More information about the All-commits mailing list