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 <felisous@amazon.com>

* Update bounds to aws_hash_string proof

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Update cbmc-batch.yaml files

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Disable pointers check on parts of hashlittle2

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Update bounds in aws_hash_c_string and aws_hash_string proofs

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Improve documentation on the aws_hash_string proof

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* PR comments

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Update cbmc-batch.yaml files

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* PR comments

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Update proofs bounds

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Guard CPROVER pragmas with CBMC macro

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Update postconditions

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>
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 <felisous@amazon.com>

* Update bounds to aws_hash_string proof

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Update cbmc-batch.yaml files

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Disable pointers check on parts of hashlittle2

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Update bounds in aws_hash_c_string and aws_hash_string proofs

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Improve documentation on the aws_hash_string proof

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* PR comments

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Update cbmc-batch.yaml files

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* PR comments

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Update proofs bounds

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Guard CPROVER pragmas with CBMC macro

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Update postconditions

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Adds a proof harness for the aws_hash_array_ignore_case function

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Adds a precondition to aws_hash_array_ignore_case function

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Adds a proof harness for aws_hash_byte_cursor_ptr_ignore_case function

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Update the bound of aws_hash_array_ignore_case proof

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* PR comments

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Guard CPROVER pragmas with CBMC

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>

* Remove meaningless const qualifiers

Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>
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