[all-commits] [llvm/llvm-project] 53ae31: [Clang] Check enable_if attribute without delayed ...

Younan Zhang via All-commits all-commits at lists.llvm.org
Mon Jan 19 18:14:02 PST 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 53ae317ed28b71c991309d38a7171a3173f364d7
      https://github.com/llvm/llvm-project/commit/53ae317ed28b71c991309d38a7171a3173f364d7
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2026-01-20 (Tue, 20 Jan 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/SemaCXX/enable_if.cpp

  Log Message:
  -----------
  [Clang] Check enable_if attribute without delayed diagnostics (#176080)

We ensure immediate access control checking when evaluating the
enable_if attribute to rule out inaccessible constructors during
potential overload resolution, treating them as SFINAE errors rather
than hard errors, making the behavior more preferable with the nature of
the enable_if attribute.

Compared to the last patch, we now avoid switching the DC directly
because there are cases where we're checking enable_if attribute within
a lambda and getCurLambda() requires a lambda context to distinguish
from template instantiation.

This reapplies #175899

Fixes https://github.com/llvm/llvm-project/issues/175895



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