Skip to content

Make sure pragmas propagate to all source locations #4666

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 1 commit into from
May 22, 2019

Conversation

tautschnig
Copy link
Collaborator

The previous fix would still fail for assignments with side effects as
those expressions are broken up, and the inner assignment would not have
had the pragma annotated. Instead, store the pragmas in the parser's
source location, which is copied to all expressions.

  • Each commit message has a non-empty body, explaining why the change was made.
  • 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
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✔️
Passed Diffblue compatibility checks (cbmc commit: 9e0af23).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/112150720

@kroening kroening assigned peterschrammel and unassigned kroening May 21, 2019
The previous fix would still fail for assignments with side effects as
those expressions are broken up, and the inner assignment would not have
had the pragma annotated. Instead, store the pragmas in the parser's
source location, which is copied to all expressions.
Copy link
Contributor

@smowton smowton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good as far as I can tell; this is still quite sparsely tested though

@tautschnig tautschnig merged commit 1d021aa into diffblue:develop May 22, 2019
@tautschnig tautschnig deleted the suppression-fix branch May 22, 2019 10:44
danielsn added a commit to danielsn/aws-c-common that referenced this pull request May 23, 2019
feliperodri pushed a commit to danielsn/aws-c-common that referenced this pull request May 31, 2019
feliperodri pushed a commit to danielsn/aws-c-common that referenced this pull request May 31, 2019
feliperodri pushed a commit to danielsn/aws-c-common that referenced this pull request Jun 5, 2019
feliperodri pushed a commit to danielsn/aws-c-common that referenced this pull request Jun 6, 2019
feliperodri pushed a commit to danielsn/aws-c-common that referenced this pull request Jun 10, 2019
feliperodri pushed a commit to danielsn/aws-c-common that referenced this pull request Jun 20, 2019
feliperodri pushed a commit to danielsn/aws-c-common that referenced this pull request Jun 20, 2019
danielsn added a commit to awslabs/aws-c-common that referenced this pull request Jun 21, 2019
* aws_hash_ptr + aws_hash_c_string

* suppress undefined checks

* check inputs to hash functions

* turn on overflow checking, will work once diffblue/cbmc#4666 is merged

* whitespace change to retrigger ci

* Update bounds to aws_hash_c_string proof

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Update bounds to aws_hash_string proof

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Update cbmc-batch.yaml files

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Disable pointers check on parts of hashlittle2

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Update bounds in aws_hash_c_string and aws_hash_string proofs

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Improve documentation on the aws_hash_string proof

Signed-off-by: Felipe R. Monteiro <[email protected]>

* PR comments

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Update cbmc-batch.yaml files

Signed-off-by: Felipe R. Monteiro <[email protected]>

* PR comments

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Update proofs bounds

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Guard CPROVER pragmas with CBMC macro

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Update postconditions

Signed-off-by: Felipe R. Monteiro <[email protected]>
dislogical pushed a commit to awslabs/aws-c-common that referenced this pull request Jun 21, 2019
* aws_hash_ptr + aws_hash_c_string

* suppress undefined checks

* check inputs to hash functions

* turn on overflow checking, will work once diffblue/cbmc#4666 is merged

* whitespace change to retrigger ci

* Update bounds to aws_hash_c_string proof

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Update bounds to aws_hash_string proof

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Update cbmc-batch.yaml files

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Disable pointers check on parts of hashlittle2

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Update bounds in aws_hash_c_string and aws_hash_string proofs

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Improve documentation on the aws_hash_string proof

Signed-off-by: Felipe R. Monteiro <[email protected]>

* PR comments

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Update cbmc-batch.yaml files

Signed-off-by: Felipe R. Monteiro <[email protected]>

* PR comments

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Update proofs bounds

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Guard CPROVER pragmas with CBMC macro

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Update postconditions

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Adds a proof harness for the aws_hash_array_ignore_case function

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Adds a precondition to aws_hash_array_ignore_case function

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Adds a proof harness for aws_hash_byte_cursor_ptr_ignore_case function

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Update the bound of aws_hash_array_ignore_case proof

Signed-off-by: Felipe R. Monteiro <[email protected]>

* PR comments

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Guard CPROVER pragmas with CBMC

Signed-off-by: Felipe R. Monteiro <[email protected]>

* Remove meaningless const qualifiers

Signed-off-by: Felipe R. Monteiro <[email protected]>
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.

6 participants