Skip to content

C++: use struct tag instead of symbol_type #3060

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 4 commits into from
Oct 5, 2018
Merged

Conversation

kroening
Copy link
Member

  • Each commit message has a non-empty body, explaining why the change was made.
  • My contribution is formatted in line with CODING_STANDARD.md.
  • Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
  • 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).
  • My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • 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.

This PR failed Diffblue compatibility checks (cbmc commit: 7128f26).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/86346729
Status will be re-evaluated on next push.
Please contact @peterschrammel, @thk123, or @allredj for support.

Common spurious failures:

  • the cbmc commit has disappeared in the mean time (e.g. in a force-push)
  • the author is not in the list of contributors (e.g. first-time contributors).

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: 66c428b).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/86348447

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: 2165f29).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/86362376

@@ -67,6 +70,8 @@ void cpp_typecheckt::typecheck_compound_bases(struct_typet &type)
throw 0;
}

base_symbol_expr.type().id(ID_symbol_type);
Copy link
Collaborator

Choose a reason for hiding this comment

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

That seems redundant? I don't think there is any way we could get here with base_symbol_expr.type().id() != ID_symbol_type.

Copy link
Member Author

Choose a reason for hiding this comment

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

Indeed, turned into invariant.

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: a15fd5f).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/86394591

@kroening kroening force-pushed the cpp-struct_tag branch 2 times, most recently from 2a044d7 to eed5246 Compare October 3, 2018 07:35
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: eed5246).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/86707663

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: 114e4aa).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/86902083

@@ -67,6 +70,10 @@ void cpp_typecheckt::typecheck_compound_bases(struct_typet &type)
throw 0;
}

DATA_INVARIANT(
base_symbol_expr.type().id() == ID_symbol_type,
"base classes are identified using symbol_types");
Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm still confused: in line 57 there is a to_symbol_type, and none of the code that's between lines 57 and this one touches base_symbol_expr.

Copy link
Member Author

Choose a reason for hiding this comment

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

Indeed, the invariant is unneeded, will remove.

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.

This PR failed Diffblue compatibility checks (cbmc commit: 8d06e52).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/87022823
Status will be re-evaluated on next push.
Please contact @peterschrammel, @thk123, or @allredj for support.

Common spurious failures:

  • the cbmc commit has disappeared in the mean time (e.g. in a force-push)
  • the author is not in the list of contributors (e.g. first-time contributors).

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: d2f803a).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/87025201

@kroening kroening merged commit 356ab40 into develop Oct 5, 2018
@kroening kroening deleted the cpp-struct_tag branch October 5, 2018 14:47
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.

4 participants