This is an archive of the discontinued LLVM Phabricator instance.

[analyzer] Cleanup some artifacts from non-POD array evaluation
ClosedPublic

Authored by isuckatcs on Sep 10 2022, 10:15 AM.

Details

Summary

Most of the state traits used for non-POD array evaluation were
only cleaned up if the ctors/dtors were inlined, since the cleanup
happened in ExprEngine::processCallExit(). This patch makes sure
they are removed even if said functions are not inlined.

Diff Detail

Event Timeline

isuckatcs created this revision.Sep 10 2022, 10:15 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 10 2022, 10:15 AM
isuckatcs requested review of this revision.Sep 10 2022, 10:15 AM
NoQ accepted this revision.Sep 12 2022, 11:10 AM

Ohh great thanks!!

I wish we had asserts to catch this but that's not urgent I suppose.

This revision is now accepted and ready to land.Sep 12 2022, 11:10 AM

I wish we had asserts to catch this but that's not urgent I suppose.

You mean asserts that check whether the states are empty before they are cleaned up or some specific asserts regarding this patch?

xazax.hun accepted this revision.Sep 15 2022, 4:05 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 17 2022, 1:46 PM
Herald added a subscriber: cfe-commits. · View Herald Transcript