[all-commits] [llvm/llvm-project] 5302d3: [WebKit Checkers] Add built-in recognition for sta...

geoffreygaren via All-commits all-commits at lists.llvm.org
Sat Sep 26 09:53:15 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5302d361339066363854a4e12e16e413af9ce1ce
      https://github.com/llvm/llvm-project/commit/5302d361339066363854a4e12e16e413af9ce1ce
  Author: geoffreygaren <ggaren at apple.com>
  Date:   2026-09-26 (Sat, 26 Sep 2026)

  Changed paths:
    M clang/docs/analyzer/checkers.md
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/test/Analysis/Checkers/WebKit/mock-canborrow.h
    M clang/test/Analysis/Checkers/WebKit/unborrowed-call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/unborrowed-local-vars-cxx23.cpp
    M clang/test/Analysis/Checkers/WebKit/unborrowed-local-vars.cpp

  Log Message:
  -----------
  [WebKit Checkers] Add built-in recognition for standard view types (#226350)

libc++ doesn't fully annotate `[[clang::lifetimebound]]` for all view
types. This results in false negatives in borrow checking.

Ultimately we need to fix this in libc++, but for now we can work around
the most common / most important false negatives. For example, borrow
checking can now check

    for (auto& x : vector | std::views::reverse) { ... }

Assisted-by: Claude



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