-
Notifications
You must be signed in to change notification settings - Fork 87
Warn when ana.opt.hashcons is disabled but implicitly overridden #1921
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
base: master
Are you sure you want to change the base?
Conversation
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
|
@copilot this should be move to the general place where we check whether configs are compatible. |
|
@copilot tests for this issue are not needed. |
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
| if get_bool "exp.arg.enabled" then | ||
| warn "Disabling ana.opt.hashcons has no effect because hashconsing is implicitly enabled by exp.arg.enabled"; | ||
| if List.mem "apron" (get_string_list "ana.activated") then | ||
| warn "Disabling ana.opt.hashcons has no effect because hashconsing is implicitly enabled by Apron (ana.activated includes 'apron')"; |
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 don't think this is true: the hashconsing functors in Control don't check anything Apron-related, nor is ana.opt.hashcons referenced anywere else that tries to do such implicit enabling.
#1657 (comment) sounds like Apron would just crash in this case.
This should be checked and if I'm correct, then it could be a fail instead of warn.
Plan: Warn when
ana.opt.hashconsis off but hashconsing is forced onana.opt.hashcons=falseis overridden whenexp.arg.enabled,witness.graphml.enabled, or Apron domain is onChanges made:
Added warnings in
check_arguments()inmaingoblint.ml:ana.opt.hashconsis disabled but:exp.arg.enabledis on (covers witness generation use case)Kept variable refactoring in control.ml for consistency:
hashcons_enabledvariable used throughout spec constructionRemoved test files per @michael-schwarz's feedback that tests are not needed
Removed
_codeql_detected_source_rootfile that was accidentally committedAll changes are minimal and focused on warning users about the counterintuitive behavior.
Original prompt
ana.opt.hashconsis off, butwitness.graphml.enabledorexp.arg.enabledare on or an Apron domain is on #1657💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.