aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-03-28 23:46:50 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-03-28 21:46:50 +0000
commit88cc1e04bd259dda9e84fc92e3e33e25213c4d46 (patch)
tree03d694c6b00fbe271075e4a351217304ce819944 /gcc
parentf48aa01a62442f2307c42473c782c7c0a9c99190 (diff)
downloadgcc-88cc1e04bd259dda9e84fc92e3e33e25213c4d46.zip
gcc-88cc1e04bd259dda9e84fc92e3e33e25213c4d46.tar.gz
gcc-88cc1e04bd259dda9e84fc92e3e33e25213c4d46.tar.bz2
re PR tree-optimization/43505 (type mismatch between an SSA_NAME and its symbol with -O3)
PR tree-optimization/43505 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement map should not be copied. * gfortran.dg/pr43505.f90: New testcase. From-SVN: r157786
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/cgraph.c1
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/pr43505.f9043
4 files changed, 55 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5c6d82c..aaff4b4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-03-28 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/43505
+ * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
+ map should not be copied.
+
2010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR middle-end/41674
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index 0e02bae..8fe72b4 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -1891,6 +1891,7 @@ cgraph_clone_node (struct cgraph_node *n, gcov_type count, int freq,
new_node->rtl = n->rtl;
new_node->count = count;
new_node->clone = n->clone;
+ new_node->clone.tree_map = 0;
if (n->count)
{
if (new_node->count > n->count)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 51cfa8b..df9d597 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2010-03-28 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/43505
+ * gfortran.dg/pr43505.f90: New testcase.
+
2010-03-27 Uros Bizjak <ubizjak@gmail.com>
PR tree-optimization/43528
diff --git a/gcc/testsuite/gfortran.dg/pr43505.f90 b/gcc/testsuite/gfortran.dg/pr43505.f90
new file mode 100644
index 0000000..bdeb6c5
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr43505.f90
@@ -0,0 +1,43 @@
+ MODULE MAIN1
+ INTEGER , PARAMETER :: MXGLVL = 87
+ CHARACTER(8) :: SRCTYP
+ REAL :: GRIDWS(MXGLVL)
+ REAL :: ZI, HS
+ END MODULE MAIN1
+
+ PROGRAM TEST
+ USE MAIN1
+ IF (HS >= ZI) THEN
+ ELSEIF ( SRCTYP == 'AREA' &
+ .OR. SRCTYP == 'AREAPOLY' &
+ .OR. SRCTYP == 'AREACIRC' &
+ .OR. SRCTYP == 'OPENPIT' ) THEN
+ CALL ANYAVG (MXGLVL, GRIDWS)
+ CALL ANYAVG (MXGLVL, GRIDWS)
+ ELSE
+ IF ( HS > 0.0 ) THEN
+ CALL ANYAVG (MXGLVL, GRIDWS)
+ CALL ANYAVG (MXGLVL, GRIDWS)
+ CALL ANYAVG (MXGLVL, GRIDWS)
+ ENDIF
+ ENDIF
+ IF (HS.LT.ZI) THEN
+ ZI = HS
+ ENDIF
+ contains
+ SUBROUTINE ANYAVG(NLVLS,HTS)
+ INTEGER NLVLS
+ REAL HTS(NLVLS)
+ IF (5.LT.NLVLS) THEN
+ CALL GINTRP (HTS(5),HTS(5+1))
+ ENDIF
+ CALL GINTRP (HTS(5-1), HTS(5))
+ END SUBROUTINE ANYAVG
+
+ subroutine gintrp (x1, x2)
+ print *, x1, x2
+ end subroutine
+
+ END PROGRAM TEST
+
+