Commit 862e370
Port Assignment-3/CPP from AbstractStateManager to AbstractInterpretation
Upstream SVF folded the AbstractStateManager class back into the .cpp
implementations and removed the public AE/Svfexe/AbstractStateManager.h
header. Assignment_3.h still tried to include that header, so the
macOS-latest CI fails with:
Assignment-3/CPP/Assignment_3.h:29:10: fatal error:
'AE/Svfexe/AbstractStateManager.h' file not found
The methods Assignment-3 actually uses on the manager — getTrace(),
operator[], getGepByteOffset() — are now on AbstractInterpretation.
Switch the field type to AbstractInterpretation* and obtain it via the
upstream singleton (AbstractInterpretation::getAEInstance()). The
singleton wires SVFIR from PAG::getPAG() internally, so we no longer
need to construct an explicit Andersen analysis just to feed the
manager.
The destructor used to 'delete svfStateMgr'; that's wrong for the
singleton (SVF owns its lifetime), so drop it.
Verified locally: docker run ubuntu:24.04 with svf-lib (v1.0.2555) +
LLVM 21.1.0 prebuilt + Z3, cmake . && make -j4 builds 100% — both
libassign3 and the ass3 binary link cleanly.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent defba7a commit 862e370
2 files changed
Lines changed: 8 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| |||
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
125 | | - | |
| 125 | + | |
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
| |||
133 | 133 | | |
134 | 134 | | |
135 | 135 | | |
136 | | - | |
| 136 | + | |
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
543 | 543 | | |
544 | 544 | | |
545 | 545 | | |
546 | | - | |
547 | | - | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
548 | 551 | | |
549 | 552 | | |
550 | 553 | | |
| |||
0 commit comments