-
Notifications
You must be signed in to change notification settings - Fork 271
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
Value set dereferencing: do not treat struct prefixes as equal #5876
base: develop
Are you sure you want to change the base?
Conversation
ae46163
to
f14572b
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #5876 +/- ##
===========================================
+ Coverage 77.81% 78.36% +0.55%
===========================================
Files 1721 1721
Lines 189460 188104 -1356
Branches 18401 18456 +55
===========================================
- Hits 147432 147414 -18
+ Misses 42028 40690 -1338 ☔ View full report in Codecov by Sentry. |
f14572b
to
012b81b
Compare
I had to go back and check my copy of ISO 9899 because I thought there was a rule about this but ... I can't find it. I wrote the following...
This compiles but I don't think it is actually standard C:
which we can handle:
and correctly put in the casts:
|
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.
Seems correct but removing things like this makes me nervous. Please could you check whether it is covered by any of the tests-- it should be dead right? The code seems to be almost exactly a decade old but that might well be the date of the move from CVS to Subversion and the "start" of history.
@@ -1,11 +0,0 @@ | |||
CORE |
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.
If we are removing the .desc
file, should we remove the Java file as well or is it used for other things?
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.
There are other tests in this directory that are still using this Java code and that do pass as expected.
012b81b
to
1c609f1
Compare
[...] Thanks, I included your proposed test as a further regression test. Also, it may be that some of the tests actually used this code, but they will now fall back to the code path that actually does the right thing and creates a byte extract. |
1c609f1
to
c0b8a22
Compare
c0b8a22
to
04e9f6e
Compare
4506973
to
5e48a43
Compare
5e48a43
to
fccede9
Compare
fccede9
to
453c315
Compare
Structs can't be casted, but pointers to structs can be casted to pointers to structs that are prefixes -- this is what this piece of code was meant to cover. |
But then |
453c315
to
5496378
Compare
739b4d5
to
fdefa33
Compare
fdefa33
to
44e82f6
Compare
b97453f
to
5e0c3b7
Compare
637b95a
to
3b8a82d
Compare
Two distinct struct types cannot be cast between, even when one is a prefix of the other. Value set dereferencing taking this approach just resulted in propositional encoding producing a warning about invalid type casts.
3b8a82d
to
b450a9e
Compare
Two distinct struct types cannot be cast between, even when one is a
prefix of the other. Value set dereferencing taking this approach just
resulted in propositional encoding producing a warning about invalid
type casts.