PR ada/15808
* sem_ch6.adb (Check_Private_Overriding): Check for generic packages
as well.
gcc/testsuite/
PR ada/15808
* gnat.dg/specs/abstract_private.ads: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139190
138bc75d-0d04-0410-961f-
82ee72b054a4
+2008-08-18 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/15808
+ * sem_ch6.adb (Check_Private_Overriding): Check for generic packages
+ as well.
+
2008-08-17 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement.
procedure Check_Private_Overriding (T : Entity_Id) is
begin
- if Ekind (Current_Scope) = E_Package
+ if Is_Package_Or_Generic_Package (Current_Scope)
and then In_Private_Part (Current_Scope)
and then Visible_Part_Type (T)
and then not In_Instance
+2008-08-18 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/15808
+ * gnat.dg/specs/abstract_private.ads: New.
+
2008-08-18 Richard Guenther <rguenther@suse.de>
* gcc.dg/fold-alloca-1.c: Scan cfg dump instead of cleanup_cfg1.
--- /dev/null
+generic
+package Abstract_Private is
+
+ type T1 is abstract tagged private;
+ procedure P1 (X : T1) is abstract;
+
+ type T2 is abstract tagged private;
+
+private
+
+ type T1 is abstract tagged null record;
+ procedure P2 (X : T1) is abstract; -- { dg-error "must be visible" }
+
+ type T2 is abstract new T1 with null record;
+ procedure P1 (X : T2) is abstract;
+
+end Abstract_Private;