Skip to content
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

Make componentt::{base,pretty}_name comments #5815

Merged
merged 1 commit into from
Dec 15, 2023

Conversation

tautschnig
Copy link
Collaborator

The only semantically relevant name information is the ID_name entry.
Two components should not be considered different when they only differ
in their base_name or pretty_name. Thus, use ID_C_base_name and
ID_C_pretty_name, respectively, to store these.

The goto binary version is incremented as goto binaries compiled before
this patch are incompatible with the changes introduced here.

  • Each commit message has a non-empty body, explaining why the change was made.
  • n/a 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.

Sorry, something went wrong.

@codecov
Copy link

codecov bot commented Feb 11, 2021

Codecov Report

Attention: 9 lines in your changes are missing coverage. Please review.

Comparison is base (74075ec) 79.09% compared to head (8e4f8e3) 79.09%.

Files Patch % Lines
src/ansi-c/expr2c.cpp 42.85% 4 Missing ⚠️
src/cpp/expr2cpp.cpp 0.00% 3 Missing ⚠️
src/goto-instrument/alignment_checks.cpp 0.00% 2 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #5815      +/-   ##
===========================================
- Coverage    79.09%   79.09%   -0.01%     
===========================================
  Files         1699     1699              
  Lines       196512   196516       +4     
===========================================
  Hits        155428   155428              
- Misses       41084    41088       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Collaborator

@martin-cs martin-cs left a comment

Choose a reason for hiding this comment

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

Changes are fine but a change to the format number feels like it is worth a major or minor version number change.

@@ -12,7 +12,7 @@ Author: CM Wintersteiger
#ifndef CPROVER_GOTO_PROGRAMS_WRITE_GOTO_BINARY_H
#define CPROVER_GOTO_PROGRAMS_WRITE_GOTO_BINARY_H

#define GOTO_BINARY_VERSION 5
#define GOTO_BINARY_VERSION 6
Copy link
Collaborator

Choose a reason for hiding this comment

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

Does this need a major or minor version number bump?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I don't know how many customers have use cases where they build goto binaries, store them, and (re-)analyse them at a later point in time. I know that's something I occasionally see, but I have no idea how common this is. So I'm with you that a version number change is desirable, but I'd lean towards minor-version-bump-is-sufficient. If others agree with this, then we could contemplate merging this PR just before one of the next regular version bumps (e.g., next Thursday).

@hannes-steffenhagen-diffblue
Copy link
Contributor

hannes-steffenhagen-diffblue commented Feb 19, 2021

I concur with @martin-cs, changing the goto binary format should be a major version bump as it's a pretty clear example of a breaking change.

While hopefully this would not impact too many people, this gives us an opportunity to tell people "Here, this breaks this particular use case, watch out for that, if you're not doing that you should be fine".

Of course in principle any change is potentially a breaking change for someone, but my view has been that if we know something is a breaking change it should result in a major version bump.

@tautschnig tautschnig force-pushed the componentt branch 2 times, most recently from d657a5d to 1691c0d Compare May 7, 2021 06:20
@tautschnig tautschnig added the Version 6 Pull requests and issues requiring a major version bump label May 25, 2022
@tautschnig tautschnig assigned tautschnig and unassigned kroening Nov 20, 2022
@tautschnig tautschnig removed their assignment Nov 22, 2022
The only semantically relevant name information is the ID_name entry.
Two components should not be considered different when they only differ
in their base_name or pretty_name. Thus, use ID_C_base_name and
ID_C_pretty_name, respectively, to store these.

The goto binary version is incremented as goto binaries compiled before
this patch are incompatible with the changes introduced here.

Fixes: diffblue#5818
@tautschnig
Copy link
Collaborator Author

As side effect, this PR also sorts out the goto binary version bump that we will want anyhow with version 6 (and the breaking changes that we intend to merge as part of this).

@kroening
Copy link
Member

As side effect, this PR also sorts out the goto binary version bump that we will want anyhow with version 6 (and the breaking changes that we intend to merge as part of this).

I haven't seen yet a convincing reason to do this -- I'd be convinced by the changes to the array type, but that needs more work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cleanup Version 6 Pull requests and issues requiring a major version bump
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

5 participants