* Support for implicit and explicit inclusion of checked header files.
* Added comment header.
* Removed redundant blank lines.
* Fix to handle the presence of clang-specific declarations in header files plus
the fix to push/pop checked scopes.
* Modified header files to check for the __checkedc flag and added test cases.
* Some header files like threads.h, unistd.h, arpa/inet.h and sys/socket.h
may not be present in all compilation environments (Ex. Windows).
Therefore, the wrapper header files and the Checked C header files
should guard their inclusion using __has_include_next.
This will also cause changes in the expected output of some test cases.
* Incorporated review comments.
* The Checked-C-specific declarations in assert_checked.h, stdlib_checked.h
and inttypes_checked.h use the type wchar_t, whose definition is available
in stddef.h. The file inttypes_checked.h includes stddef.h but the other
two don't.
There is new functionality for #pragma CHECKED_SCOPE:
- Create _Bounds_only checked scopes. The syntax is
#pragma CHECKED_SCOPE _Bounds_only.
- Save/restore the checked scope state. The syntax is
#pragma CHECKED_SCOPE push and #pragma CHECKED_SCOPE pop.
- Allow lower-case on/off directives for CHECKED_SCOPE.
Add tests and use the functionality to improve the checked include files
for the C standard library:
- Add tests for #pragma CHECKED_SCOPE _Bounds_only
- Add tests for #pragma CHECKED_SCOPE push and pop functinality.
- Update #include files to use new push and pop functionality so that
they can robustly be included in either checked or unchecked scopes.
- Test that #include files can be included in checked scopes.