Frama-C Bug Tracking System - Frama-C
View Issue Details
0000630Frama-CKernelpublic2010-11-19 11:472011-02-09 14:37
Reportermuriel 
Assigned Tovirgile 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product VersionFrama-C Boron-20100401 
Target VersionFixed in VersionFrama-C Carbon-20110201 
Summary0000630: bad location with tmp CIL variable
DescriptionHere is an example :

int tmpVarCilInCondMultiple(char c)
{
  if(ap_tolower(c) && ap_isspace(c))
    return 1;
  else return 0;
}

And the resulting transformed code :

int tmpVarCilInCondMultiple(char c__tmpVarCilInCondMultiple )
{
  int tmp__tmpVarCilInCondMultiple ;
  int tmp_0__tmpVarCilInCondMultiple ;

  tmp__tmpVarCilInCondMultiple = ap_tolower(c__tmpVarCilInCondMultiple);
  if (tmp__tmpVarCilInCondMultiple) {
    tmp_0__tmpVarCilInCondMultiple = ap_isspace(c__tmpVarCilInCondMultiple);
    if (tmp_0__tmpVarCilInCondMultiple) {/* ... */ }
    else {/* ... */ }
  }
  else {/* ... */ };
  /* ... */
}

where locations of the if statement was lost (locUnknown), because of the
This is very embarassing for PathCrawler.
TagsNo tags attached.
Attached Files

Notes
(0001340)
monate   
2010-12-21 10:04   
I cannot reproduce your issue: could you check that the bug is still there?
Using frama-gui, I can see that the if statements are properly located on line 3.
(0001364)
monate   
2011-01-04 18:59   
fixed in SVN 11167 and probably since 11080.

Issue History
2010-11-19 11:47murielNew Issue
2010-11-19 22:21signolesStatusnew => assigned
2010-11-19 22:21signolesAssigned To => virgile
2010-12-21 10:04monateNote Added: 0001340
2010-12-21 10:05monateStatusassigned => feedback
2011-01-04 18:59monateNote Added: 0001364
2011-01-04 18:59monateStatusfeedback => resolved
2011-01-04 18:59monateFixed in Version => Frama-C GIT, precise the release id
2011-01-04 18:59monateResolutionopen => fixed
2011-02-09 14:36signolesStatusresolved => closed
2011-02-09 14:37signolesFixed in VersionFrama-C GIT, precise the release id => Frama-C Carbon-20110201