-
Notifications
You must be signed in to change notification settings - Fork 270
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 goto_convert files #8253
Move goto_convert files #8253
Conversation
f4e7ebe
to
ce7ca11
Compare
ce7ca11
to
5744353
Compare
@@ -16,7 +16,7 @@ Author: Diffblue Ltd. | |||
#include <util/symbol_table_base.h> | |||
#include <util/unicode.h> | |||
|
|||
#include <goto-programs/allocate_objects.h> | |||
#include <ansi-c/allocate_objects.h> |
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.
Is this one really C specific? It appears to be used by JBMC, and perhaps more so than anywhere else?
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.
I'd say it tries to do too much. Object construction is clearly language specific, and this should get split up.
I have a couple of concerns:
|
Ok, will do.
No, there's also object construction, but that appears to be intertwined with the conversion. As said in the comment about it, it's also language specific, and hence should move out of the goto-programs folder.
This is getting reduced, and I'd like to get rid of it altogether.
We realistically won't do the cleanup. For symtab2gb, this lives outside of the codebase. For jbmc, we don't have the person to do it. |
Happy to approve once this is done: I think this goes a long way towards making all of my other concerns easy to track (and, if resources ever permit: fix). |
5744353
to
9f75d3b
Compare
Now with ansi-c/goto-conversion subdirectory. |
8a7dcf8
to
4c01328
Compare
@@ -1,3 +1,4 @@ | |||
ansi-c |
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.
❓ Isn't linking a pure GOTO thing? Why is there a dependency on ansi-c now? This seems to indicate that either some functionality has been moved that should not be moved or that some functionality is used in other modules that shouldn't be used there.
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.
The culprit for this is recreate_initialize_function
. I'd like to kill it, and one benefit would be to remove this coupling.
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.
Being the one who introduced this function in the first place: can you share some ideas on how to replace it?
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.
As mentioned out-of-band, simply create the goto instructions directly. This should be done separately.
The goto_convertt class and associated helpers convert a C parse tree into a set of GOTO functions. They are specific to C, and hence, should be in the ansi-c/ directory.
4c01328
to
a5cc785
Compare
a5cc785
to
2b3d12c
Compare
The
goto_convertt
class and associated helpers convert a C parse tree into a set of GOTO functions. They are specific to C, and hence, should be in theansi-c/
directory.