-
Notifications
You must be signed in to change notification settings - Fork 273
Remove base_type_eq #4056
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
Remove base_type_eq #4056
Conversation
ecd484c
to
d10aabd
Compare
I'm worried that this will break linking, where semantic equality still matters as tag names can reasonably differ. Also, I think it is necessary to implement this change as a collection of smaller commits to aid (very likely) future debugging. With a change this size it will be very difficult to revert, and bisecting to identify which of the hunks caused trouble is difficult. Furthermore we'd in the current set-up be completely blocked on the known issues in the Java front-end, even though in theory it ought to be possible to remove any use of (base_)type_eq from C/C++ front-ends. |
Will do C/C++ first; the rest will need to sit for a few months. |
a9e8d4b
to
dde5d34
Compare
@kroening @tautschnig I tried to rebase #4021 yesterday, but found that it continued to stumble on cases where I took a look at why we can't merge this yet, and found the following fixups: I also made #4173 with a value-set fix and some cosmetic / comment improvements that I think should be picked into this PR. |
Status with all four of those merged: Java tests all pass, C tests all pass apart from |
Finished testing this with test-gen, successfully. Results: Required CBMC PRs:
Test-gen demonstration bump: https://github.com/diffblue/test-gen/pull/3049 |
591764d
to
25c5caa
Compare
Remove link_to_library(goto_functions, symbol_table, ...) [blocks: #4056]
goto-cc: also use the linker when processing multiple source files [blocks: #4056]
25c5caa
to
99b4e5e
Compare
Codecov Report
@@ Coverage Diff @@
## develop #4056 +/- ##
===========================================
- Coverage 69.50% 69.50% -0.01%
===========================================
Files 1243 1242 -1
Lines 100674 100580 -94
===========================================
- Hits 69977 69908 -69
+ Misses 30697 30672 -25
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
99b4e5e
to
b9b4ad6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving , but @kroening: please double-check as I've added two commits of my own to make yours work. (Edit: those commits were moved to PRs of there own and have since been merged.)
We consistently use tag types, and two expressions are now base_type_eq if, and only if, they have types that compare equal.
b9b4ad6
to
7a744e6
Compare
base_type_eq has been deprecated since 2019; a previous attempt to remove it (#4056) has failed.
#6989 now takes care of most of the uses, with only three uses remaining thereafter. |
base_type_eq has been deprecated since 2019; a previous attempt to remove it (#4056) has failed.
The last uses have been removed, and base_type_eq has been deprecated since 2019; a previous attempt to remove it (#4056) has failed.
The last uses have been removed, and base_type_eq has been deprecated since 2019; a previous attempt to remove it (#4056) has failed.
base_type_eq has been deprecated since 2019; a previous attempt to remove it (#4056) has failed.
The last uses have been removed, and base_type_eq has been deprecated since 2019; a previous attempt to remove it (#4056) has failed.
The last uses have been removed, and base_type_eq has been deprecated since 2019; a previous attempt to remove it (#4056) has failed.
Closing as this was now completed in #6989. |
These are no longer needed, as symbol_type is no longer in use.