[PATCH] D120310: [clang][analyzer] Add modeling of 'errno' (work-in-progress).

Balázs Kéri via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 22 01:08:18 PST 2022


balazske created this revision.
Herald added subscribers: steakhal, ASDenysPetrov, martong, gamesh411, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun, mgorny.
Herald added a reviewer: Szelethus.
balazske requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

Add a checker to maintain the system-defined value 'errno'.
The value is supposed to be set in the future by existing or
new checkers that evaluate errno-modifying function calls.

The patch is work-in-progress because the possible definitions
of `errno` on various implementations should be collected.
Some tests (dependent on these) are missing yet.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D120310

Files:
  clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
  clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
  clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
  clang/lib/StaticAnalyzer/Checkers/Errno.h
  clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
  clang/lib/StaticAnalyzer/Core/MemRegion.cpp
  clang/test/Analysis/Inputs/errno_func.h
  clang/test/Analysis/Inputs/errno_var.h
  clang/test/Analysis/Inputs/system-header-simulator.h
  clang/test/Analysis/analyzer-enabled-checkers.c
  clang/test/Analysis/errno.c
  clang/test/Analysis/global-region-invalidation.c
  clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D120310.410471.patch
Type: text/x-patch
Size: 18048 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220222/28cf98f9/attachment-0001.bin>


More information about the cfe-commits mailing list