[all-commits] [llvm/llvm-project] a91c73: [Lifetime Safety] Name operator calls in alias-cha...

PushkarSingh via All-commits all-commits at lists.llvm.org
Thu Sep 10 00:04:57 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a91c7395c3fb1a37f69f7d8fb0e78c048faf6cb7
      https://github.com/llvm/llvm-project/commit/a91c7395c3fb1a37f69f7d8fb0e78c048faf6cb7
  Author: PushkarSingh <149073046+iitianpushkar at users.noreply.github.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/test/Sema/LifetimeSafety/invalidations.cpp
    M clang/test/Sema/LifetimeSafety/nocfg.cpp
    M clang/test/Sema/LifetimeSafety/safety.cpp

  Log Message:
  -----------
  [Lifetime Safety] Name operator calls in alias-chain diagnostics (#221803)

This updates Lifetime Safety alias-chain diagnostics to identify
overloaded operator and conversion calls instead of describing them
generically as an `expression`.

Previously, these calls were reported as `expression aliases the storage
of ...`, which could make it unclear which operation introduced the
alias. The diagnostic now reports the callee using the existing
diagnostic name printer, producing descriptions such as:

- `result of call to 'operator->'`
- `result of call to 'operator()'`
- `result of call to 'operator basic_string_view'`

Template arguments are preserved for operator function-template
specializations. For example:

- `result of call to 'operator+<const int>'`
- `result of call to 'operator-<__gnu_cxx::basic_iterator<const int>>'`

This makes each aliasing step explicit and identifies the particular
call responsible for propagating the alias.

References to
[#220248#discussion_r3905817437](https://github.com/llvm/llvm-project/pull/220248#discussion_r3905817437)



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