References to IN parameters are not considered in Alfa section, as these will
be translated as constants in the intermediate language for formal
verification.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-09-02 Yannick Moy <[email protected]>
* lib-xref-alfa.adb (Is_Alfa_Reference): Ignore IN parameters in Alfa
references.
Index: lib-xref-alfa.adb
===================================================================
--- lib-xref-alfa.adb (revision 178438)
+++ lib-xref-alfa.adb (working copy)
@@ -608,11 +608,20 @@
-- On non-callable entities, the only references of interest are
-- reads and writes.
- if Ekind (E) in Overloadable_Kind then
- return Typ = 's';
- else
- return Typ = 'r' or else Typ = 'm';
- end if;
+ case Ekind (E) is
+ when Overloadable_Kind =>
+ return Typ = 's';
+
+ -- References to IN parameters are not considered in Alfa
+ -- section, as these will be translated as constants in the
+ -- intermediate language for formal verification.
+
+ when E_In_Parameter =>
+ return False;
+
+ when others =>
+ return Typ = 'r' or else Typ = 'm';
+ end case;
end Is_Alfa_Reference;
-------------------