Hi,
On MSVC the CFG::getBlockEdgeImpl method doesn't always returns addresses with 8-byte alignment (which ProgramPoint requires), resulting in unstable/weird behaviour, at least for the checker.
Any ideas ?
-Argiris
Hi,
On MSVC the CFG::getBlockEdgeImpl method doesn't always returns addresses with 8-byte alignment (which ProgramPoint requires), resulting in unstable/weird behaviour, at least for the checker.
Any ideas ?
-Argiris
Argiris Kirtzidis wrote:
Hi,
On MSVC the CFG::getBlockEdgeImpl method doesn't always returns addresses with 8-byte alignment (which ProgramPoint requires), resulting in unstable/weird behaviour, at least for the checker.
Any ideas ?
I forgot to mention that I've commited a small change here:
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20080421/005454.html
so that these cases can be caught by an assertion.
Thanks Argiris. We'll need to allocate the std::pair<CFGBlock*, CFGBlock*> with a forced alignment. A FoldingSet combined with a BumpPtrAllocator (using a forced alignment) should do the trick.
I probably won't get to fixing this until Monday. Thanks for reporting it!