Skip to content

Rewrite tool #34

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 24, 2016
Merged

Rewrite tool #34

merged 3 commits into from
Aug 24, 2016

Conversation

awruef
Copy link
Collaborator

@awruef awruef commented Aug 24, 2016

Initial version of the checked-c conversion tool. Current features:

  • Processes single C files or multiple C files (up to whole programs)
  • Infers "ptr-ness" for local variables used in those programs.
  • Re-write many source files
  • Supports many aspects of the C grammar
  • Contains unit tests

Current weaknesses:

  • Macro support is limited
  • Casting support is limited, needs structural type equality checks
  • No inherent support for standard library functions.
  • Doesn't honor existing checked C types

Andrew Ruef added 2 commits August 24, 2016 13:32
 - Processes single C files or multiple C files (up to whole programs)
 - Infers "ptr-ness" for local variables used in those programs.
 - Re-write many source files
 - Supports many aspects of the C grammar
 - Contains unit tests

Current weaknesses:

 - Macro support is limited
 - Casting support is limited, needs structural type equality checks
 - No inherent support for standard library functions.
 - Doesn't honor existing checked C types
@msftclas
Copy link

Hi @awruef, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@dtarditi
Copy link
Member

Looks good to me. Could you file an issue to create some documentation? It can live clang\docs\checked.

@awruef
Copy link
Collaborator Author

awruef commented Aug 24, 2016

Added issue at #35

@awruef awruef merged commit 856ec58 into master Aug 24, 2016
@awruef awruef deleted the awruef-rewrite-tool branch August 24, 2016 22:43
awruef pushed a commit that referenced this pull request Aug 31, 2016
* Initial version of the checked-c conversion tool. Current features:

 - Processes single C files or multiple C files (up to whole programs)
 - Infers "ptr-ness" for local variables used in those programs.
 - Re-write many source files
 - Supports many aspects of the C grammar
 - Contains unit tests

Current weaknesses:

 - Macro support is limited
 - Casting support is limited, needs structural type equality checks
 - No inherent support for standard library functions.
 - Doesn't honor existing checked C types
dopelsunce pushed a commit to dopelsunce/checkedc-clang that referenced this pull request Sep 28, 2020
Update the specification to disallow array_ptrs of function types. Bounds checking pointers to function types does not make sense because functions do not have sizes in C.  This addiresses issue checkedc#34.

Also correct the capitalization of the _Nt_array_ptr keyword in the specification.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants