I think I found another issue with crest when dealing with bit fields.
Given a program like:
struct {
unsigned a : 16;
} b = {1};
int d;
int main() {
if (b.a < -1) {
d = 9;
}
printf("d: %d\n",d);
}
Crest outputs d: 9, while the correct output should clearly be d: 0. Interestingly if the width of a is changed to 32, the bug disappears. Any other width but 32, shows the error.
I think I found another issue with crest when dealing with bit fields.
Given a program like:
Crest outputs
d: 9
, while the correct output should clearly bed: 0
. Interestingly if the width of a is changed to 32, the bug disappears. Any other width but 32, shows the error.