[all-commits] [llvm/llvm-project] 95ca07: [LifetimeSafety] Warn on inapplicable [[clang::lif...

NeKon69 via All-commits all-commits at lists.llvm.org
Fri Jun 12 07:11:05 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 95ca0744abc76f10da86bdd6e74f674a10a869f2
      https://github.com/llvm/llvm-project/commit/95ca0744abc76f10da86bdd6e74f674a10a869f2
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-06-12 (Fri, 12 Jun 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/test/Sema/LifetimeSafety/annotation-suggestions-fixits.cpp
    M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
    M clang/test/Sema/LifetimeSafety/dangling-field.cpp
    A clang/test/Sema/LifetimeSafety/inapplicable-lifetimebound.cpp
    M clang/test/Sema/LifetimeSafety/lifetime-facts.cpp
    M clang/test/Sema/LifetimeSafety/lifetimebound-violation.cpp
    M clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-cross-tu.cpp
    M clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-intra-tu.cpp
    M clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-macro.cpp
    M clang/test/Sema/LifetimeSafety/nocfg.cpp
    M clang/test/Sema/LifetimeSafety/noescape-violation.cpp
    M clang/test/Sema/LifetimeSafety/safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Warn on inapplicable [[clang::lifetimebound]] parameters (#201101)

Adds `-Wlifetime-safety-inapplicable-lifetimebound` to diagnose
`[[clang::lifetimebound]]` annotations that have no effect because the
parameter type cannot carry a lifetime.

This currently diagnoses scalar parameters and `gsl::Owner` parameters
and unannotated record values (because they currently do not have
origins), while still allowing references, pointers and `gsl::Pointer`
values.

Closes #177184



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