This was a fork of Checked C clang used from 2021-2024. The changes have been merged into the original Checked C clang repo, which is now at https://github.com/checkedc/checkedc-clang.
AvailableFactsAnalysis.cpp uses std::set as the main data structure for storing/iterating the collected facts. The implementation of std::set is platform specific. That’s the reason the test test/CheckedC/dump-dataflow-facts.c fails on Windows (but passes on Linux). On Windows X64, there are run-to-run differences in the output order of blocks and facts when I run this test by hand.
The fix will involve rethinking about the data structures used and sorting before printing.
This issue was copied from https://github.com/microsoft/checkedc-clang/issues/756
AvailableFactsAnalysis.cpp uses std::set as the main data structure for storing/iterating the collected facts. The implementation of std::set is platform specific. That’s the reason the test test/CheckedC/dump-dataflow-facts.c fails on Windows (but passes on Linux). On Windows X64, there are run-to-run differences in the output order of blocks and facts when I run this test by hand.
The fix will involve rethinking about the data structures used and sorting before printing.