[Ada] Minor tweaks to gnat.dg testsuite

Message ID 7034948.epMab8Doca@polaris
State New
Headers show
Series
  • [Ada] Minor tweaks to gnat.dg testsuite
Related show

Commit Message

Eric Botcazou Feb. 16, 2018, 11:27 p.m.
The gnat.dg testsuite contains a dozen of spurious failures on 64-bit Windows 
because of a couple of issues: the target is P64 and some patterns in filename 
give rise to warning at link time.

Fixed thusly, applied to all active branches.


2018-02-16  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/84277
	* gnat.dg/array11.adb (Array11): Tweak index and remove warning.
	* gnat.dg/dispatch1.adb: Rename into...
	* gnat.dg/disp1.adb: ...this.
	* gnat.dg/dispatch1_p.ads: Rename into...
	* gnat.dg/disp1_pkg.ads: ...this.
	* gnat.dg/disp2.adb: Rename into...
	* gnat.dg/dispatch2.adb: ...this.
	* gnat.dg/dispatch2_p.ads: Rename into...
	* gnat.dg/disp2_pkg.ads: ...this.
	* gnat.dg/dispatch2_p.adb: Rename into...
	* gnat.dg/disp2_pkg.adb: this.
	* gnat.dg/generic_dispatch.adb: Rename into...
	* gnat.dg/generic_disp.adb: this.
	* gnat.dg/generic_dispatch_p.ads: Rename into...
	* gnat.dg/generic_disp_pkg.ads: ...this.
	* gnat.dg/generic_dispatch_p.adb: Rename into...
	* gnat.dg/generic_disp_pkg.adb: ...this.
	* gnat.dg/null_pointer_deref1.adb (Null_Pointer_Deref1): Robustify.
	* gnat.dg/null_pointer_deref2.adb (Null_Pointer_Deref2): Likewise.
	* gnat.dg/object_overflow1.adb: Tweak index.
	* gnat.dg/object_overflow2.adb: Likewise.
	* gnat.dg/object_overflow3.adb: Likewise.
	* gnat.dg/object_overflow4.adb: Likewise.
	* gnat.dg/object_overflow5.adb: Likewise.

-- 
Eric Botcazou

Patch

Index: gnat.dg/array11.adb
===================================================================
--- gnat.dg/array11.adb	(revision 257730)
+++ gnat.dg/array11.adb	(working copy)
@@ -1,15 +1,17 @@ 
 -- { dg-do compile }
 
+with System;
+
 procedure Array11 is
 
   type Rec is null record;
-  type Ptr is access all Rec;
+  type Index_T is mod System.Memory_Size;
 
-  type Arr1 is array (1..8) of aliased Rec; -- { dg-warning "padded" }
-  type Arr2 is array (Long_Integer) of aliased Rec; -- { dg-warning "padded" }
+  type Arr1 is array (1 .. 8) of aliased Rec; -- { dg-warning "padded" }
+  type Arr2 is array (Index_T) of aliased Rec; -- { dg-warning "padded" }
 
   A1 : Arr1;
-  A2 : Arr2; -- { dg-warning "Storage_Error" }
+  A2 : Arr2;
 
 begin
   null;
Index: gnat.dg/disp1.adb
===================================================================
--- gnat.dg/disp1.adb	(revision 257730)
+++ gnat.dg/disp1.adb	(working copy)
@@ -1,7 +1,8 @@ 
 -- { dg-do run }
 
-with dispatch1_p; use dispatch1_p;
-procedure dispatch1 is
+with Disp1_Pkg; use Disp1_Pkg;
+
+procedure Disp1 is
    O   : DT_I1;
    Ptr : access I1'Class;
 begin
Index: gnat.dg/disp1_pkg.ads
===================================================================
--- gnat.dg/disp1_pkg.ads	(revision 257730)
+++ gnat.dg/disp1_pkg.ads	(working copy)
@@ -1,4 +1,6 @@ 
-package dispatch1_p is
+package Disp1_Pkg is
+
    type I1 is interface;
    type DT_I1 is new I1 with null record;
-end;
+
+end Disp1_Pkg;
Index: gnat.dg/disp2.adb
===================================================================
--- gnat.dg/disp2.adb	(revision 257730)
+++ gnat.dg/disp2.adb	(working copy)
@@ -1,7 +1,8 @@ 
 --  { dg-do run }
 
-with dispatch2_p; use dispatch2_p;
-procedure dispatch2 is
+with Disp2_Pkg; use Disp2_Pkg;
+
+procedure Disp2 is
    Obj : Object_Ptr := new Object;
 begin
    if Obj.Get_Ptr /= Obj.Impl_Of then
Index: gnat.dg/disp2_pkg.adb
===================================================================
--- gnat.dg/disp2_pkg.adb	(revision 257730)
+++ gnat.dg/disp2_pkg.adb	(working copy)
@@ -1,7 +1,8 @@ 
---
-package body dispatch2_p is
+package body Disp2_Pkg is
+
   function Impl_Of (Self : access Object) return Object_Ptr is
   begin
     return Object_Ptr (Self);
   end Impl_Of;
-end;
+
+end Disp2_Pkg;
Index: gnat.dg/disp2_pkg.ads
===================================================================
--- gnat.dg/disp2_pkg.ads	(revision 257730)
+++ gnat.dg/disp2_pkg.ads	(working copy)
@@ -1,8 +1,11 @@ 
-package dispatch2_p is
+package Disp2_Pkg is
+
   type Object     is tagged null record;
   type Object_Ptr is access all Object'CLASS;
---
+
   function Impl_Of (Self : access Object) return Object_Ptr;
   function Get_Ptr (Self : access Object) return Object_Ptr
     renames Impl_Of;
-end;
+
+end Disp2_Pkg;
+
Index: gnat.dg/dispatch1.adb
===================================================================
--- gnat.dg/dispatch1.adb	(revision 257730)
+++ gnat.dg/dispatch1.adb	(nonexistent)
@@ -1,9 +0,0 @@ 
--- { dg-do run }
-
-with dispatch1_p; use dispatch1_p;
-procedure dispatch1 is
-   O   : DT_I1;
-   Ptr : access I1'Class;
-begin
-   Ptr := new I1'Class'(I1'Class (O));
-end;
Index: gnat.dg/dispatch1_p.ads
===================================================================
--- gnat.dg/dispatch1_p.ads	(revision 257730)
+++ gnat.dg/dispatch1_p.ads	(nonexistent)
@@ -1,4 +0,0 @@ 
-package dispatch1_p is
-   type I1 is interface;
-   type DT_I1 is new I1 with null record;
-end;
Index: gnat.dg/dispatch2.adb
===================================================================
--- gnat.dg/dispatch2.adb	(revision 257730)
+++ gnat.dg/dispatch2.adb	(nonexistent)
@@ -1,10 +0,0 @@ 
---  { dg-do run }
-
-with dispatch2_p; use dispatch2_p;
-procedure dispatch2 is
-   Obj : Object_Ptr := new Object;
-begin
-   if Obj.Get_Ptr /= Obj.Impl_Of then
-      raise Program_Error;
-   end if;
-end;
Index: gnat.dg/dispatch2_p.adb
===================================================================
--- gnat.dg/dispatch2_p.adb	(revision 257730)
+++ gnat.dg/dispatch2_p.adb	(nonexistent)
@@ -1,7 +0,0 @@ 
---
-package body dispatch2_p is
-  function Impl_Of (Self : access Object) return Object_Ptr is
-  begin
-    return Object_Ptr (Self);
-  end Impl_Of;
-end;
Index: gnat.dg/dispatch2_p.ads
===================================================================
--- gnat.dg/dispatch2_p.ads	(revision 257730)
+++ gnat.dg/dispatch2_p.ads	(nonexistent)
@@ -1,8 +0,0 @@ 
-package dispatch2_p is
-  type Object     is tagged null record;
-  type Object_Ptr is access all Object'CLASS;
---
-  function Impl_Of (Self : access Object) return Object_Ptr;
-  function Get_Ptr (Self : access Object) return Object_Ptr
-    renames Impl_Of;
-end;
Index: gnat.dg/generic_disp.adb
===================================================================
--- gnat.dg/generic_disp.adb	(revision 257730)
+++ gnat.dg/generic_disp.adb	(working copy)
@@ -1,9 +1,10 @@ 
 --  { dg-do run }
 
-with generic_dispatch_p; use generic_dispatch_p;
-procedure generic_dispatch is
+with Generic_Disp_Pkg; use Generic_Disp_Pkg;
+
+procedure Generic_Disp is
    I : aliased Integer := 0;
    D : Iface'Class := Dispatching_Constructor (DT'Tag, I'access);
 begin   
    null;   
-end generic_dispatch;
+end Generic_Disp;
Index: gnat.dg/generic_disp_pkg.adb
===================================================================
--- gnat.dg/generic_disp_pkg.adb	(revision 257730)
+++ gnat.dg/generic_disp_pkg.adb	(working copy)
@@ -1,7 +1,9 @@ 
-package body generic_dispatch_p is
+package body Generic_Disp_Pkg is
+
    function Constructor (I : not null access Integer) return DT is
       R : DT; 
-  begin
+   begin
       return R;
    end Constructor;
-end;
+
+end Generic_Disp_Pkg;
Index: gnat.dg/generic_disp_pkg.ads
===================================================================
--- gnat.dg/generic_disp_pkg.ads	(revision 257730)
+++ gnat.dg/generic_disp_pkg.ads	(working copy)
@@ -1,5 +1,6 @@ 
 with Ada.Tags.Generic_Dispatching_Constructor;
-package generic_dispatch_p is
+
+package Generic_Disp_Pkg is
    type Iface is interface;
    function Constructor (I : not null access Integer) return Iface is abstract;
    function Dispatching_Constructor
@@ -10,4 +11,4 @@  package generic_dispatch_p is
    type DT is new Iface with null record; 
    overriding
    function Constructor (I : not null access Integer) return DT;
-end;
+end Generic_Disp_Pkg;
Index: gnat.dg/generic_dispatch.adb
===================================================================
--- gnat.dg/generic_dispatch.adb	(revision 257730)
+++ gnat.dg/generic_dispatch.adb	(nonexistent)
@@ -1,9 +0,0 @@ 
---  { dg-do run }
-
-with generic_dispatch_p; use generic_dispatch_p;
-procedure generic_dispatch is
-   I : aliased Integer := 0;
-   D : Iface'Class := Dispatching_Constructor (DT'Tag, I'access);
-begin   
-   null;   
-end generic_dispatch;
Index: gnat.dg/generic_dispatch_p.adb
===================================================================
--- gnat.dg/generic_dispatch_p.adb	(revision 257730)
+++ gnat.dg/generic_dispatch_p.adb	(nonexistent)
@@ -1,7 +0,0 @@ 
-package body generic_dispatch_p is
-   function Constructor (I : not null access Integer) return DT is
-      R : DT; 
-  begin
-      return R;
-   end Constructor;
-end;
Index: gnat.dg/generic_dispatch_p.ads
===================================================================
--- gnat.dg/generic_dispatch_p.ads	(revision 257730)
+++ gnat.dg/generic_dispatch_p.ads	(nonexistent)
@@ -1,13 +0,0 @@ 
-with Ada.Tags.Generic_Dispatching_Constructor;
-package generic_dispatch_p is
-   type Iface is interface;
-   function Constructor (I : not null access Integer) return Iface is abstract;
-   function Dispatching_Constructor
-      is new Ada.Tags.Generic_Dispatching_Constructor
-               (T           => Iface,
-                Parameters  => Integer,
-                Constructor => Constructor);
-   type DT is new Iface with null record; 
-   overriding
-   function Constructor (I : not null access Integer) return DT;
-end;
Index: gnat.dg/null_pointer_deref1.adb
===================================================================
--- gnat.dg/null_pointer_deref1.adb	(revision 257730)
+++ gnat.dg/null_pointer_deref1.adb	(working copy)
@@ -17,5 +17,5 @@  procedure Null_Pointer_Deref1 is
 begin
    Data.all := 1;
 exception
-   when Constraint_Error | Storage_Error => null;
+   when others => null;
 end;
Index: gnat.dg/null_pointer_deref2.adb
===================================================================
--- gnat.dg/null_pointer_deref2.adb	(revision 257730)
+++ gnat.dg/null_pointer_deref2.adb	(working copy)
@@ -20,7 +20,7 @@  procedure Null_Pointer_Deref2 is
    begin
       Data.all := 1;
    exception
-      when Constraint_Error | Storage_Error => null;
+      when others => null;
    end T;
 
 begin
Index: gnat.dg/object_overflow1.adb
===================================================================
--- gnat.dg/object_overflow1.adb	(revision 257730)
+++ gnat.dg/object_overflow1.adb	(working copy)
@@ -1,10 +1,12 @@ 
 -- { dg-do compile }
 
+with Interfaces.C; use Interfaces.C;
+
 procedure Object_Overflow1 is
 
   procedure Proc (x : Boolean) is begin null; end;
 
-  type Arr is array(Long_Integer) of Boolean;
+  type Arr is array(ptrdiff_t) of Boolean;
   Obj : Arr; -- { dg-warning "Storage_Error" }
 
 begin
Index: gnat.dg/object_overflow2.adb
===================================================================
--- gnat.dg/object_overflow2.adb	(revision 257730)
+++ gnat.dg/object_overflow2.adb	(working copy)
@@ -1,10 +1,12 @@ 
 -- { dg-do compile }
 
+with Interfaces.C; use Interfaces.C;
+
 procedure Object_Overflow2 is
 
   procedure Proc (x : Boolean) is begin null; end;
 
-  type Arr is array(0 .. Long_Integer'Last) of Boolean;
+  type Arr is array(0 .. ptrdiff_t'Last) of Boolean;
   Obj : Arr; -- { dg-warning "Storage_Error" }
 
 begin
Index: gnat.dg/object_overflow3.adb
===================================================================
--- gnat.dg/object_overflow3.adb	(revision 257730)
+++ gnat.dg/object_overflow3.adb	(working copy)
@@ -1,10 +1,12 @@ 
 -- { dg-do compile }
 
+with Interfaces.C; use Interfaces.C;
+
 procedure Object_Overflow3 is
 
   procedure Proc (x : Boolean) is begin null; end;
 
-  type Arr is array(0 .. Long_Integer'Last) of Boolean;
+  type Arr is array(0 .. ptrdiff_t'Last) of Boolean;
 
   type Rec is record
     A : Arr;
Index: gnat.dg/object_overflow4.adb
===================================================================
--- gnat.dg/object_overflow4.adb	(revision 257730)
+++ gnat.dg/object_overflow4.adb	(working copy)
@@ -1,14 +1,16 @@ 
 -- { dg-do compile }
 
+with Interfaces.C; use Interfaces.C;
+
 procedure Object_Overflow4 is
 
   procedure Proc (x : Integer) is begin null; end;
 
-  type Index is new Long_Integer range 0 .. Long_Integer'Last;
+  type Index_T is new ptrdiff_t range 0 .. ptrdiff_t'Last;
 
-  type Arr is array(Index range <>) of Integer;
+  type Arr is array(Index_T range <>) of Integer;
 
-  type Rec (Size: Index := 6) is record -- { dg-warning "Storage_Error" }
+  type Rec (Size: Index_T := 6) is record -- { dg-warning "Storage_Error" }
     A: Arr (0..Size);
   end record;
 
Index: gnat.dg/object_overflow5.adb
===================================================================
--- gnat.dg/object_overflow5.adb	(revision 257730)
+++ gnat.dg/object_overflow5.adb	(working copy)
@@ -1,14 +1,16 @@ 
 -- { dg-do compile }
 
+with Interfaces.C; use Interfaces.C;
+
 procedure Object_Overflow5 is
 
   procedure Proc (c : Character) is begin null; end;
 
-  type Index is new Long_Integer range 0 .. Long_Integer'Last;
+  type Index_T is new ptrdiff_t range 0 .. ptrdiff_t'Last;
 
-  type Arr is array(Index range <>) of Character;
+  type Arr is array(Index_T range <>) of Character;
 
-  type Rec (Size: Index := 6) is record -- { dg-warning "Storage_Error" }
+  type Rec (Size: Index_T := 6) is record -- { dg-warning "Storage_Error" }
     A: Arr (0..Size);
   end record;