]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR tree-optimization/43505 (type mismatch between an SSA_NAME and its symbol with...
authorJan Hubicka <jh@suse.cz>
Sun, 28 Mar 2010 21:46:50 +0000 (23:46 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Sun, 28 Mar 2010 21:46:50 +0000 (21:46 +0000)
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

gcc/ChangeLog
gcc/cgraph.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr43505.f90 [new file with mode: 0644]

index 5c6d82cbad22356fa91e0b3aac1f86ffa83de55e..aaff4b425aafdcf053419007ed8734d329878f33 100644 (file)
@@ -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
index 0e02bae140263f602ac325a6968c5eb9a0d710c7..8fe72b44c5374aec1d55e51e6b569674eebd1b56 100644 (file)
@@ -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)
index 51cfa8b82b81b8aab821583ff17814bfd8260c04..df9d597793c0c56f3380e25ba95f41147b9e1280 100644 (file)
@@ -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 (file)
index 0000000..bdeb6c5
--- /dev/null
@@ -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
+
+