Frama-C Bug Tracking System - Frama-C
View Issue Details
0001503Frama-CKernelpublic2013-10-18 15:352015-05-10 22:55
pascal 
virgile 
normalminoralways
closedfixed 
Frama-C GIT, precise the release id 
Frama-C Neon-20140301 
0001503: failure: invalid implicit conversion from void to int
The program below appears to conform to the C99 standard:

$ cat r.c
void f()
{
  0 ? 0 * 0 ? 0 : 0 : 0;
}
$ gcc -c -std=c99 -pedantic r.c

But the Frama-C front-end refuses to parse it:

$ frama-c r.c
[kernel] preprocessing with "gcc -C -E -I. r.c"
r.c:3:[kernel] failure: invalid implicit conversion from void to int
[kernel] user error: skipping file "r.c" that has errors.
[kernel] Frama-C aborted: invalid user input.
This may be the first of a non-singleton series of programs misdiagnosed with the "invalid conversion from void to int" diagnostic. The original error is in the Linux kernel. It seems better to submit only reduced programs even if the real problem is still there after the first fix, than to submit the entire code.

The entire file causing the problem is attached to this issue, but I can do reduction again after the 0 ? 0 * 0 ? 0 : 0 : 0; problem is fixed.
No tags attached.
related to 0002117closed yakobowski frama-c gets confused by comma operator inside ternary operator: cannot cast from void to char 
Issue History
2013-10-18 15:35pascalNew Issue
2013-10-18 15:36pascalAssigned To => virgile
2013-10-18 15:36pascalStatusnew => assigned
2013-10-18 15:39pascalFile Added: adreno_a2xx.c.i
2013-10-18 15:41pascalAdditional Information Updated
2013-10-18 15:43pascalDescription Updated
2013-10-29 15:13svnCheckin
2013-10-29 15:13svnStatusassigned => resolved
2013-10-29 15:13svnResolutionopen => fixed
2013-11-08 17:52pascalFile Deleted: adreno_a2xx.c.i
2014-02-12 16:57Note Added: 0004553
2014-03-13 15:56signolesFixed in Version => Frama-C Neon-20140301
2014-03-13 15:57signolesStatusresolved => closed
2015-05-10 22:55yakobowskiRelationship addedrelated to 0002117

Notes
(0004553)
   
2014-02-12 16:57   
Fix committed to stable/neon branch.