Open mattmccutchen-cci opened 3 years ago
For the first bullet:
-addcr
you can say this is an experimental feature that aims to add _Checked
annotations on code blocks that should be fully checked. The flag will also insert _Unchecked
annotations in some cases, e.g., around variadic function calls, like to printf
, which Checked C does not deem as safe.-debug-solver
-- this can just be an undocumented feature. It will be too much work to explain the constraint graph, and that graph is in flux anyway. For the second bullet:
clang
to compile your program, else it cannot verify its safety. Doing so will run its type checker. You could say that explicitly here.For the third bullet: The tutorial link is fine as is. Won't change.
For the fourth bullet, on Checked C stuff that is not specific to us; this is low priority. You could file an issue suggesting they include these changes, or else file a PR to their main trunk with the changes, as you like.
For the fifth bullet: File a PR on this (perhaps with the stuff above) ?
For the rest: Nothing specific to add.
- There's nothing we are going to provide to ensure that the pragma is included. That's a Checked C issue.
Right, I wasn't proposing that 3C do that; I just thought of mentioning it as part of the workflow.
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 (microsoft/checkedc-clang#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.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 outputclang/tools/3c/README.md
:clang/tools/3c/README.md
to the tutorial ends up pointing where we want as we revise the tutorial.(wait for #296 to avoid having to change it again?)clang/tools/3c/utils/{,port_tools/}README.md
I hope I got everything...
Other things we have since decided we'd like to add: