old_errors.adb, [...]: Adjust.
authorArnaud Charlet <charlet@adacore.com>
Wed, 28 May 2008 13:20:22 +0000 (13:20 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 28 May 2008 13:20:22 +0000 (15:20 +0200)
* gnat.dg/old_errors.adb, gnat.dg/deep_old.adb: Adjust.
* gnat.dg/fixce.adb: New test.
* gnat.dg/frunaligned*.ad[sb]: New test.

From-SVN: r136082

gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/deep_old.adb
gcc/testsuite/gnat.dg/fixce.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/frunaligned.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/frunaligned1.ads [new file with mode: 0644]
gcc/testsuite/gnat.dg/old_errors.adb

index 1bfa4d20e05ce69810ba99e22cf282e234f18cc9..7533e3787181358623fc5a705fd769122438125e 100644 (file)
@@ -1,8 +1,12 @@
 2008-05-28  Arnaud Charlet  <charlet@adacore.com>
 
+       * gnat.dg/old_errors.adb, gnat.dg/deep_old.adb: Adjust.
+
        * gnat.dg/specs/iface_eq_test.ads,
        gnat.dg/specs/iface_eq_test-child.ads: New test.
        * gnat.dg/specs/self_class.ads: New test.
+       * gnat.dg/fixce.adb: New test.
+       * gnat.dg/frunaligned*.ad[sb]: New test.
 
 2008-05-27  Andy Hutchinson  <hutchinsonandy@aim.com>
 
index 6aca027f4acf0463bd97f7afc3bcbe8bcf6df427..d7818ff96869fcb95a347dc8e14b522c5a7fcc70 100644 (file)
@@ -1,3 +1,5 @@
+--  { dg-options "-gnatws" }
+
 procedure Deep_Old (X : Integer) is
 begin
    begin
diff --git a/gcc/testsuite/gnat.dg/fixce.adb b/gcc/testsuite/gnat.dg/fixce.adb
new file mode 100644 (file)
index 0000000..91e02e7
--- /dev/null
@@ -0,0 +1,13 @@
+--  { dg-do run }
+
+procedure fixce is
+   type D is delta 128.0 / (2 ** 15) range 0.0 .. 256.0;
+   type R is range 0 .. 200;
+   dd : D;
+   RA : constant array (1 .. 3) of R := (127, 128, 200);
+begin
+   dd := D (RA (2));
+   for i in RA'range loop
+      dd := D (RA (i));
+   end loop;
+end fixce;
diff --git a/gcc/testsuite/gnat.dg/frunaligned.adb b/gcc/testsuite/gnat.dg/frunaligned.adb
new file mode 100644 (file)
index 0000000..a57e872
--- /dev/null
@@ -0,0 +1,8 @@
+--  { dg-do compile }
+--  { dg-options "-gnatws" }
+with FRUnaligned1; use FRUnaligned1;
+function FRUnaligned return r is
+   ss : s;
+begin
+   return ss.y;
+end;
diff --git a/gcc/testsuite/gnat.dg/frunaligned1.ads b/gcc/testsuite/gnat.dg/frunaligned1.ads
new file mode 100644 (file)
index 0000000..4a8db36
--- /dev/null
@@ -0,0 +1,12 @@
+package FRUnaligned1 is
+   type r is array (1 .. 72) of Boolean;
+   pragma Pack (r);
+   type s is record
+      x : Boolean;
+      y : r;
+   end record;
+   for s use record
+      x at 0 range 0 .. 0;
+      y at 0 range 1 .. 72;
+   end record;
+end FRUnaligned1;
index 846c6c61f259e81c8a29b7bb60271df3b4c32ec6..a5e4d42177f267c92f0af20df8432d8e064fc9c1 100644 (file)
@@ -37,7 +37,7 @@ package body Old_Errors is
       begin
          Y := Z'Old; -- { dg-error "cannot refer to local variable" }
       end;
-      Y := I'Old;   -- OK
+      Y := I'Old;   -- { dg-warning "Old applied to constant has no effect" }
       Y := O'Old;   -- OK
       Y := IO'Old;  -- OK
       Y := G;       -- OK, error has been signalled at G declaration