[PATCH] D93595: [analyzer] Prototype change to fix type punning of known SVals

Vince Bridgers via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Dec 20 05:14:51 PST 2020


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

This change addresses the specific cases described in these cases,
addresses another related escaped defect and adds covering LITs.

  https://bugs.llvm.org/show_bug.cgi?id=43364
  https://bugs.llvm.org/show_bug.cgi?id=44114

This patch was co-authored with Balazs Benics (steakhal), and debug
assistance from Gabor Marton (martong).

Region store is taught to recognize punned concrete integers and extract
the data in an endianess correct way for scalars and structures. The
escaped defect was incorrect data extracted for big endian targets under
analysis in a particular case.

Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D93595

Files:
  clang/lib/StaticAnalyzer/Core/RegionStore.cpp
  clang/test/Analysis/concrete-endian.cpp
  clang/test/Analysis/punning-structures.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D93595.312972.patch
Type: text/x-patch
Size: 17787 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20201220/98ddf3a2/attachment-0001.bin>


More information about the cfe-commits mailing list