2008-07-31 Arnaud Charlet <charlet@adacore.com>
+ * gnat.dg/sync_iface_test.ad[s,b]: New test.
+
* gnat.dg/specs/sync_iface_test.ads: New test.
2008-07-31 H.J. Lu <hongjiu.lu@intel.com>
--- /dev/null
+-- { dg-do compile }
+package body Sync_Iface_Test is
+ protected body Buffer is
+ procedure Dummy is begin null; end;
+ end;
+
+ function First (Obj : Buffer) return Natural is
+ begin
+ return 0;
+ end;
+
+ procedure Do_Test (Dummy : Natural; Item : Buffer)
+ is
+ Position1 : Natural := First (Item);
+ Position2 : Natural := Item.First; -- Problem here
+ begin
+ null;
+ end;
+end;
--- /dev/null
+package Sync_Iface_Test is
+ type Iface is limited interface;
+ function First (Obj : Iface) return Natural is abstract;
+
+ protected type Buffer is new Iface with
+ procedure Dummy;
+ end;
+ overriding function First (Obj : Buffer) return Natural;
+
+ procedure Do_Test (Dummy : Natural; Item : Buffer);
+end;