foo ? (void)x : (signed char)y (csmithreduction)
ID0001081: This issue was created automatically from Mantis Issue 1081. Further discussion may take place here.
Id | Project | Category | View | Due Date | Updated |
---|---|---|---|---|---|
ID0001081 | Frama-C | Kernel | public | 2012-02-05 | 2012-09-19 |
Reporter | pascal | Assigned To | virgile | Resolution | fixed |
Priority | normal | Severity | minor | Reproducibility | always |
Platform | - | OS | - | OS Version | - |
Product Version | Frama-C Nitrogen-20111001 | Target Version | - | Fixed in Version | Frama-C Oxygen-20120901 |
Description :
The program below should probably be rejected as ill-typed:
main(){ int foo, x, y; foo ? (void)x : (signed char)y; return 0; }
but:
$ ppc/bin/toplevel.opt -val t.c [kernel] preprocessing with "gcc -C -E -I. t.c" ... [value] Values at end of function main: __retres ? {0}
Incidentally, for this example, the access to uninitialized variable foo should also cause the program to be analyzed as non-terminating. Not sure whether that secondary bug is in the front-end or in the value analysis.