insufficient precoditions given to Alt-Ergo to prove validity of memory access for user-defined "->" operator
ID0002026: This issue was created automatically from Mantis Issue 2026. Further discussion may take place here.
|ID0002026||Frama-Clang||Plug-in > wp||public||2014-12-11||2015-02-15|
|Product Version||-||Target Version||-||Fixed in Version||-|
The goal given to Alt-Ergo for the memory access in line 13 is:
566 goal main_assert_rte_mem_access: 567 forall t_1,t : int farray. 568 forall a : addr. 569 linked(t) -> 570 valid_rw(t_1, shiftfield_F__Z1X_a(a), 1)
where "t_1" doesn't appear outside the conclusion (line 570), and therefor the formula doesn't hold.
It looks like some "assigns \nothing" was missing in the C++ source; however, there is no more place where such a contract could be added. Maybe some function that is used internally by Cxx needs an additional "assigns" clause?