declaration of local variable of class type results in unprovable assigns clause
ID0002106: This issue was created automatically from Mantis Issue 2106. Further discussion may take place here.
Id | Project | Category | View | Due Date | Updated |
---|---|---|---|---|---|
ID0002106 | Frama-Clang | Plug-in > clang | public | 2015-04-27 | 2015-04-27 |
Reporter | Jochen | Assigned To | virgile | Resolution | open |
Priority | normal | Severity | minor | Reproducibility | always |
Platform | Sodium-20150201 | OS | - | OS Version | xubuntu14.04 |
Product Version | - | Target Version | - | Fixed in Version | - |
Description :
The assigns clause in line 4 of the attached program results in two Alt-Ergo obligations (such as "goal _Z3foo_assign_normal: forall t : int farray. not linked(t)" in obligation file "_Z3foo_assign_normal_Alt-Ergo.mlw"), none of which is provable.
However, from a C++ programmer's point of view, the clause should be valid.
Probably, some Frama-Cxx-internal variables are assigned by the implicit constructor "A()", and hence by "foo()", but there is no clue how to refer to them. Maybe they should be added automatically by Frama-Cxx to the set of assigned locations.