From a365cae76a8abefaf8c46489287be4ac478308ae Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Tue, 28 Jun 2011 22:00:00 +0000 Subject: [PATCH] * tree-ssa-dom.c (initialize_hash_element): Fix oversight. From-SVN: r175603 --- gcc/ChangeLog | 4 ++++ gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gnat.dg/opt17.adb | 13 +++++++++++++ gcc/testsuite/gnat.dg/opt17.ads | 7 +++++++ gcc/tree-ssa-dom.c | 1 + 5 files changed, 29 insertions(+) create mode 100644 gcc/testsuite/gnat.dg/opt17.adb create mode 100644 gcc/testsuite/gnat.dg/opt17.ads diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8dafef711f74..e164ed90ce90 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2011-06-28 Eric Botcazou + + * tree-ssa-dom.c (initialize_hash_element): Fix oversight. + 2011-06-20 Andrey Belevantsev Backport from mainline diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f0c4342233f8..6022ac354fb2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2011-06-28 Eric Botcazou + + * gnat.dg/opt17.ad[sb]: New test. + 2011-06-20 Andrey Belevantsev Backport from mainline diff --git a/gcc/testsuite/gnat.dg/opt17.adb b/gcc/testsuite/gnat.dg/opt17.adb new file mode 100644 index 000000000000..361f7607b883 --- /dev/null +++ b/gcc/testsuite/gnat.dg/opt17.adb @@ -0,0 +1,13 @@ +-- { dg-do compile } +-- { dg-options "-O" } + +package body Opt17 is + + function Func return S is + V : String (1 .. 6); + begin + V (1 .. 3) := "ABC"; + return V (1 .. 5); + end; + +end Opt17; diff --git a/gcc/testsuite/gnat.dg/opt17.ads b/gcc/testsuite/gnat.dg/opt17.ads new file mode 100644 index 000000000000..601c2f201c8d --- /dev/null +++ b/gcc/testsuite/gnat.dg/opt17.ads @@ -0,0 +1,7 @@ +package Opt17 is + + subtype S is String (1 .. 5); + + function Func return S; + +end Opt17; diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c index a9fddbe97d49..6b080383532d 100644 --- a/gcc/tree-ssa-dom.c +++ b/gcc/tree-ssa-dom.c @@ -231,6 +231,7 @@ initialize_hash_element (gimple stmt, tree lhs, { case GIMPLE_SINGLE_RHS: expr->kind = EXPR_SINGLE; + expr->type = TREE_TYPE (gimple_assign_lhs (stmt)); expr->ops.single.rhs = gimple_assign_rhs1 (stmt); break; case GIMPLE_UNARY_RHS: -- 2.47.2