aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gnat.dg
diff options
context:
space:
mode:
authorRong Xu <xur@google.com>2014-07-21 16:47:22 -0700
committerRong Xu <xur@google.com>2014-07-29 15:31:03 -0700
commit38a8aecfb882072900434499696b5c32a2274515 (patch)
tree2aac97f0ae24b03cd98c1a06e989c031c173f889 /gcc-4.9/gcc/testsuite/gnat.dg
parentc231900e5dcc14d8296bd9f62b45997a49d4d5e7 (diff)
downloadtoolchain_gcc-38a8aecfb882072900434499696b5c32a2274515.tar.gz
toolchain_gcc-38a8aecfb882072900434499696b5c32a2274515.tar.bz2
toolchain_gcc-38a8aecfb882072900434499696b5c32a2274515.zip
[4.9] Switch gcc-4.9 to use google/gcc-4_9 branch.
This source drop uses svn version r212828 of google/gcc-4.9 branch. We also cherry-picked r213062, r213063 and r213064 to fix windows build issues. All gcc-4.9 patches before July 3rd are ported to google/gcc-4.9. The following prior commits has not been merged to google branch yet. (They are included in this commit). e7af147f979e657fe2df00808e5b4319b0e088c6, baf87df3cb2683649ba7e9872362a7e721117c23, and c231900e5dcc14d8296bd9f62b45997a49d4d5e7. Change-Id: I4bea3ea470387ff751c2be4cb0d4a12059b9299b
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gnat.dg')
-rw-r--r--gcc-4.9/gcc/testsuite/gnat.dg/aliasing1.adb2
-rw-r--r--gcc-4.9/gcc/testsuite/gnat.dg/enum3.adb23
-rw-r--r--gcc-4.9/gcc/testsuite/gnat.dg/opt38.adb9
-rw-r--r--gcc-4.9/gcc/testsuite/gnat.dg/opt38_pkg.adb33
-rw-r--r--gcc-4.9/gcc/testsuite/gnat.dg/opt38_pkg.ads5
-rw-r--r--gcc-4.9/gcc/testsuite/gnat.dg/opt39.adb31
-rw-r--r--gcc-4.9/gcc/testsuite/gnat.dg/overflow_fixed.adb19
7 files changed, 121 insertions, 1 deletions
diff --git a/gcc-4.9/gcc/testsuite/gnat.dg/aliasing1.adb b/gcc-4.9/gcc/testsuite/gnat.dg/aliasing1.adb
index b2b7d123b..bffc4225b 100644
--- a/gcc-4.9/gcc/testsuite/gnat.dg/aliasing1.adb
+++ b/gcc-4.9/gcc/testsuite/gnat.dg/aliasing1.adb
@@ -18,5 +18,5 @@ package body Aliasing1 is
end Aliasing1;
--- { dg-final { scan-tree-dump-not "__gnat_rcheck" "optimized" } }
+-- { dg-final { scan-tree-dump-not "gnat_rcheck" "optimized" } }
-- { dg-final { cleanup-tree-dump "optimized" } }
diff --git a/gcc-4.9/gcc/testsuite/gnat.dg/enum3.adb b/gcc-4.9/gcc/testsuite/gnat.dg/enum3.adb
new file mode 100644
index 000000000..1cb6c4b56
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gnat.dg/enum3.adb
@@ -0,0 +1,23 @@
+-- { dg-do run }
+
+procedure Enum3 is
+ type Enum is (Aaa, Bbb, Ccc);
+ for Enum use (1,2,4);
+begin
+ for Lo in Enum loop
+ for Hi in Enum loop
+ declare
+ subtype S is Enum range Lo .. Hi;
+ type Vector is array (S) of Integer;
+ Vec : Vector;
+ begin
+ for I in S loop
+ Vec (I) := 0;
+ end loop;
+ if Vec /= (S => 0) then
+ raise Program_Error;
+ end if;
+ end;
+ end loop;
+ end loop;
+end;
diff --git a/gcc-4.9/gcc/testsuite/gnat.dg/opt38.adb b/gcc-4.9/gcc/testsuite/gnat.dg/opt38.adb
new file mode 100644
index 000000000..143f4fade
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gnat.dg/opt38.adb
@@ -0,0 +1,9 @@
+-- { dg-do run }
+-- { dg-options "-O2 -gnatn" }
+
+with Opt38_Pkg; use Opt38_Pkg;
+
+procedure Opt38 is
+begin
+ Test (-1);
+end;
diff --git a/gcc-4.9/gcc/testsuite/gnat.dg/opt38_pkg.adb b/gcc-4.9/gcc/testsuite/gnat.dg/opt38_pkg.adb
new file mode 100644
index 000000000..7cbbeeab3
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gnat.dg/opt38_pkg.adb
@@ -0,0 +1,33 @@
+package body Opt38_Pkg is
+
+ procedure Proc (I : Integer);
+ pragma Inline (Proc);
+
+ procedure Proc (I : Integer) is
+
+ procedure Inner;
+ pragma No_Inline (Inner);
+
+ procedure Inner is
+ begin
+ if I /= 110 then
+ raise Program_Error;
+ end if;
+ end;
+
+ begin
+ if I > 0 then
+ Inner;
+ end if;
+ end;
+
+ procedure Test (I : Integer) is
+ begin
+ if I > -1 then
+ Proc (I);
+ else
+ Proc (I + 111);
+ end if;
+ end;
+
+end Opt38_Pkg;
diff --git a/gcc-4.9/gcc/testsuite/gnat.dg/opt38_pkg.ads b/gcc-4.9/gcc/testsuite/gnat.dg/opt38_pkg.ads
new file mode 100644
index 000000000..b6cb4e6bc
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gnat.dg/opt38_pkg.ads
@@ -0,0 +1,5 @@
+package Opt38_Pkg is
+
+ procedure Test (I : Integer);
+
+end Opt38_Pkg;
diff --git a/gcc-4.9/gcc/testsuite/gnat.dg/opt39.adb b/gcc-4.9/gcc/testsuite/gnat.dg/opt39.adb
new file mode 100644
index 000000000..a00cac75f
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gnat.dg/opt39.adb
@@ -0,0 +1,31 @@
+-- { dg-do compile }
+-- { dg-options "-O2 -fno-inline -fdump-tree-optimized" }
+
+procedure Opt39 (I : Integer) is
+
+ type Rec is record
+ I1 : Integer;
+ I2 : Integer;
+ I3 : Integer;
+ I4 : Integer;
+ I5 : Integer;
+ end record;
+
+ procedure Set (A : access Rec; I : Integer) is
+ Tmp : Rec := A.all;
+ begin
+ Tmp.I1 := I;
+ A.all := Tmp;
+ end;
+
+ R : aliased Rec;
+
+begin
+ Set (R'Access, I);
+ if R.I1 /= I then
+ raise Program_Error;
+ end if;
+end;
+
+-- { dg-final { scan-tree-dump-times "MEM" 1 "optimized" } }
+-- { dg-final { cleanup-tree-dump "optimized" } }
diff --git a/gcc-4.9/gcc/testsuite/gnat.dg/overflow_fixed.adb b/gcc-4.9/gcc/testsuite/gnat.dg/overflow_fixed.adb
new file mode 100644
index 000000000..6ece51523
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gnat.dg/overflow_fixed.adb
@@ -0,0 +1,19 @@
+-- { dg-do run }
+-- { dg-options "-gnato -O" }
+
+procedure Overflow_Fixed is
+
+ type Unsigned_8_Bit is mod 2**8;
+
+ procedure Fixed_To_Eight (Value : Duration) is
+ Item : Unsigned_8_Bit;
+ begin
+ Item := Unsigned_8_Bit(Value);
+ raise Program_Error;
+ exception
+ when Constraint_Error => null; -- expected case
+ end;
+
+begin
+ Fixed_To_Eight (-0.5);
+end;