Open
Description
This is a catch-all issue for documentation extensions and cleanups that didn't make the initial submission of the "October 2020" PR to Microsoft (checkedc#930). Some might still be added to that PR if they are done early enough in the review process of the PR, while others will miss it. We can file more specific issues as desired.
- Review the checklist in our main not-yet-public 3C document for more material to add to the public documentation. Some of the most important items:
convert_project.py
method: is anything from here orclang/tools/3c/utils/{,port_tools/}README.md
useful?3c
flags-
-alltypes
: clarify that it means "enable all 3C features that are useful but may cause Checked C type checking failures" and it's just that array bounds inference is currently the only such feature -
-addcr
-debug-solver
: needs explanation of how to interpret the output
-
- Links to 3C design information
- Workflow in
clang/tools/3c/README.md
:- Include "Actually run the Checked C type checker on your code"?
- End with "enforce that all files are checked", referencing here? Is there a compiler flag that could be put into the build system rather than having to verify that every file contains this pragma? Research this and file an enhancement request if not.
- Make sure the link from
clang/tools/3c/README.md
to the tutorial ends up pointing where we want as we revise the tutorial. - Integrate stuff we wrote that is not specific to 3C into the Checked C documentation (as appropriate)
- Build instructions
- Explanation of system headers
(wait for Further improvements to installation of Checked C system headers #296 to avoid having to change it again?)
- Update the old reference to 3C on Microsoft's wiki
- As we file GitHub issues for problems mentioned in the new readmes, add links (where appropriate).
- Remove obsolete stuff from correctcomputation/checkedc-clang wiki
- Revise or retire
clang/tools/3c/utils/{,port_tools/}README.md
- We've developed a new porting workflow that is much better than the one currently described in our public documentation; for now, we're keeping it private as a potential 5C value-add. Unless and until we document the new workflow publicly, it may be worth adding a mention to the public documentation of the old workflow that users interested in the new workflow should contact us, rather than just hoping users will see the mention of 5C in the general readme.
I hope I got everything...
Other things we have since decided we'd like to add: