diff options
author | Rong Xu <xur@google.com> | 2014-07-21 16:47:22 -0700 |
---|---|---|
committer | Rong Xu <xur@google.com> | 2014-07-29 15:31:03 -0700 |
commit | 38a8aecfb882072900434499696b5c32a2274515 (patch) | |
tree | 2aac97f0ae24b03cd98c1a06e989c031c173f889 /gcc-4.9/gcc/testsuite/gnat.dg | |
parent | c231900e5dcc14d8296bd9f62b45997a49d4d5e7 (diff) | |
download | toolchain_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.adb | 2 | ||||
-rw-r--r-- | gcc-4.9/gcc/testsuite/gnat.dg/enum3.adb | 23 | ||||
-rw-r--r-- | gcc-4.9/gcc/testsuite/gnat.dg/opt38.adb | 9 | ||||
-rw-r--r-- | gcc-4.9/gcc/testsuite/gnat.dg/opt38_pkg.adb | 33 | ||||
-rw-r--r-- | gcc-4.9/gcc/testsuite/gnat.dg/opt38_pkg.ads | 5 | ||||
-rw-r--r-- | gcc-4.9/gcc/testsuite/gnat.dg/opt39.adb | 31 | ||||
-rw-r--r-- | gcc-4.9/gcc/testsuite/gnat.dg/overflow_fixed.adb | 19 |
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; |