Some functions lose their formals after File.create_project_from_visitor
ID0001073: This issue was created automatically from Mantis Issue 1073. Further discussion may take place here.
|Priority||normal||Severity||major||Reproducibility||have not tried|
|Product Version||Frama-C Nitrogen-20111001||Target Version||-||Fixed in Version||Frama-C Oxygen-20120901|
When a function is defined but not declared, it loses its formal arguments when creating a new project with [File.create_project_from_visitor].
The problem is that [Cil.setFormalsDecl] is not called for these functions in the generated project.
Additional Information :
A simple way to experiment is to use Filter with a parameter that makes everything visible (I have sent such a mini-plug-in to Virgile and Boris). In the generated project, we can see with [-then-on newproj -print] that these functions have lost their formals. Moreover, [Cil.getFormalsDecl fundec.svar] raises Not_found on these [fundec].
I haven't found where this should be fixed (File ? Globals.Functions ? ...), but a workaround is to call [Cil.setFormalsDecl] afterward on such functions (ugly, but working !).