aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-03-31 20:52:41 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-03-31 20:52:41 +0000
commitd4d73ce26b36bdf1b061ab0297ed7d613afec9c5 (patch)
treed430c1e0cfadd9de02789a9bea82ab916411352a /gcc/testsuite
parent35ca26acc659500991b2119a0b6d9526605ca168 (diff)
downloadgcc-d4d73ce26b36bdf1b061ab0297ed7d613afec9c5.zip
gcc-d4d73ce26b36bdf1b061ab0297ed7d613afec9c5.tar.gz
gcc-d4d73ce26b36bdf1b061ab0297ed7d613afec9c5.tar.bz2
tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop a zero minimum index only if it is redundant.
* tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop a zero minimum index only if it is redundant. From-SVN: r171800
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gnat.dg/opt16.adb33
2 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 81f9bb2..b9c2441 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2011-03-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt16.adb: New test.
+
2011-03-31 Jason Merrill <jason@redhat.com>
* g++.dg/cpp0x/defaulted24.C: New.
diff --git a/gcc/testsuite/gnat.dg/opt16.adb b/gcc/testsuite/gnat.dg/opt16.adb
new file mode 100644
index 0000000..d8e93bd
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/opt16.adb
@@ -0,0 +1,33 @@
+-- { dg-do compile }
+-- { dg-options "-O2 -gnatws" }
+
+procedure Opt16 is
+
+ generic
+ type T (<>) is private;
+ V, V1 : T;
+ with function F1 (X : T) return T;
+ package GP is
+ R : Boolean := F1 (V) = V1;
+ end GP;
+
+ type AB is array (Boolean range <>) of Boolean;
+
+begin
+ for I1 in Boolean loop
+ for I2 in Boolean loop
+ declare
+ B1 : Boolean := I1;
+ B2 : Boolean := I2;
+ AB1 : AB (Boolean) := (I1, I2);
+ T : AB (B1 .. B2) := (B1 .. B2 => True);
+ F : AB (B1 .. B2) := (B1 .. B2 => False);
+
+ package P is new GP (AB, AB1, NOT AB1, "NOT");
+
+ begin
+ null;
+ end;
+ end loop;
+ end loop;
+end;