Skip to content
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

Move __CPROVER_uninterpreted_* conversion to C type checker #8280

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

tautschnig
Copy link
Collaborator

We already had type checking of mathematical_function types to support lambda expressions. Special-case symbols with name __CPROVER_uninterpreted_* will now also produce these types. GOTO conversion will no longer give specific treatment to function calls with symbol name __CPROVER_uninterpreted_*.

  • Each commit message has a non-empty body, explaining why the change was made.
  • n/a Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
  • n/a The feature or user visible behaviour I have added or modified has been documented in the User Guide in doc/cprover-manual/
  • Regression or unit tests are included, or existing tests cover the modified code (in this case I have detailed which ones those are in the commit message).
  • n/a My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • n/a White-space or formatting changes outside the feature-related changed lines are in commits of their own.

Copy link

codecov bot commented May 9, 2024

Codecov Report

Attention: Patch coverage is 86.95652% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 77.45%. Comparing base (f18b509) to head (2c13d82).

Files Patch % Lines
src/ansi-c/c_typecheck_expr.cpp 66.66% 3 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #8280      +/-   ##
===========================================
- Coverage    77.55%   77.45%   -0.11%     
===========================================
  Files         1721     1721              
  Lines       190128   190372     +244     
  Branches     18438    18475      +37     
===========================================
- Hits        147448   147445       -3     
- Misses       42680    42927     +247     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

macOS eventually calls a function called `__tolower`. Rename our
previous implementation to `__CPROVER_tolower` and make both `tolower`
and `__tolower` use this. Also enable the regression test of it.
We already had type checking of mathematical_function types to support
lambda expressions. Special-case symbols with name
`__CPROVER_uninterpreted_*` will now also produce these types. GOTO
conversion will no longer give specific treatment to function calls with
symbol name `__CPROVER_uninterpreted_*`.
@remi-delmas-3000
Copy link
Collaborator

We already had type checking of mathematical_function types to support lambda expressions. Special-case symbols with name _CPROVER_uninterpreted* will now also produce these types.

What does this mean in practice ? What does it enable for the user ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants