[all-commits] [llvm/llvm-project] 3423d5: [AST][RecoveryExpr] Popagate the error-bit from a ...

Haojian Wu via All-commits all-commits at lists.llvm.org
Mon Oct 5 01:42:06 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 3423d5c9da812b0076d1cf14e96ce453e35257b6
      https://github.com/llvm/llvm-project/commit/3423d5c9da812b0076d1cf14e96ce453e35257b6
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2020-10-05 (Mon, 05 Oct 2020)

  Changed paths:
    M clang/lib/AST/ComputeDependence.cpp
    M clang/test/Sema/invalid-member.cpp

  Log Message:
  -----------
  [AST][RecoveryExpr] Popagate the error-bit from a VarDecl's initializer to DeclRefExpr.

The error-bit was missing, if a DeclRefExpr (which refers to a VarDecl
with a contains-errors initializer).

It could cause different violations in clang -- the DeclRefExpr is value-dependent,
but not contains-errors, `ABC<DeclRefExpr>` could produce a non-error
and non-dependent type in non-template context, which will lead to
crashes in constexpr evaluation.

Reviewed By: sammccall

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




More information about the All-commits mailing list