The Alfa section of ALI files mentioned objects of task type or protected type
in effects, but it should not, because we do not consider effects on such
objects. The present patch fixes this.
Tested on x86_64-pc-linux-gnu, committed on trunk
2011-09-05 Johannes Kanig <[email protected]>
* lib-xref-alfa.adb (Is_Alfa_Reference): Never declare effects on
objects of task type or protected type.
Index: lib-xref-alfa.adb
===================================================================
--- lib-xref-alfa.adb (revision 178448)
+++ lib-xref-alfa.adb (working copy)
@@ -620,7 +620,22 @@
return False;
when others =>
+
+ -- Objects of Task type or protected type are not Alfa
+ -- references.
+
+ if Present (Etype (E)) then
+ case Ekind (Etype (E)) is
+ when E_Task_Type | E_Protected_Type =>
+ return False;
+
+ when others =>
+ null;
+ end case;
+ end if;
+
return Typ = 'r' or else Typ = 'm';
+
end case;
end Is_Alfa_Reference;