aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2016-06-24 19:28:18 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2016-06-24 19:28:18 +0000
commit7b22b4c6c8dfb60f51e872b3e9f153652b9beadd (patch)
tree62f49803ce42203d6f5228c0422e7832b8cb8847 /gcc
parent37e373c2b825584243f3d67a31263e5a0f7b9d15 (diff)
downloadgcc-7b22b4c6c8dfb60f51e872b3e9f153652b9beadd.zip
gcc-7b22b4c6c8dfb60f51e872b3e9f153652b9beadd.tar.gz
gcc-7b22b4c6c8dfb60f51e872b3e9f153652b9beadd.tar.bz2
re PR debug/71642 (ICE: in gen_type_die_with_usage, at dwarf2out.c:22729)
PR debug/71642 * tree-inline.c (remap_decl): When fixing up DECL_ORIGINAL_TYPE, just copy the type name. From-SVN: r237771
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gfortran.dg/pr71642.f9027
-rw-r--r--gcc/tree-inline.c2
4 files changed, 38 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 71b8181..2bcf6b4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2016-06-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR debug/71642
+ * tree-inline.c (remap_decl): When fixing up DECL_ORIGINAL_TYPE, just
+ copy the type name.
+
2016-06-24 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/71647
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1ec279c..bbb2214 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2016-06-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gfortran.dg/pr71642.f90: New test.
+
2016-06-24 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/71647
diff --git a/gcc/testsuite/gfortran.dg/pr71642.f90 b/gcc/testsuite/gfortran.dg/pr71642.f90
new file mode 100644
index 0000000..53491d9
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr71642.f90
@@ -0,0 +1,27 @@
+! PR debug/71642
+! { dg-do compile }
+! { dg-options "-g" }
+
+MODULE gauss_colloc
+ INTEGER, PARAMETER :: dp=8
+CONTAINS
+SUBROUTINE collocGauss(h,h_inv,grid,poly,alphai,posi,max_r2,&
+ periodic,gdim,local_bounds,local_shift,poly_shift,scale,lgrid,error)
+ REAL(dp), DIMENSION(0:, 0:, 0:), &
+ INTENT(inout) :: grid
+ INTEGER, INTENT(inout), OPTIONAL :: lgrid
+ CONTAINS
+ SUBROUTINE kloop6
+ IF (kJump/=1 .AND. (ikstart+kmax-kstart>=ndim(2)+l_shift(2) .OR.&
+ ikstart2+kmin-kstart2<=l_ub(2)-ndim(2))) THEN
+ DO
+ DO k=kstart2,kend2,-1
+ IF ( PRESENT ( lgrid ) ) THEN
+ grid(ik,ij,ii) = grid(ik,ij,ii) + p_v*res_k
+ END IF
+ END DO
+ END DO
+ END IF
+ END SUBROUTINE
+END SUBROUTINE
+END MODULE gauss_colloc
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index a0d9e93..ef58866 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -377,7 +377,7 @@ remap_decl (tree decl, copy_body_data *id)
{
tree x = build_variant_type_copy (TREE_TYPE (t));
TYPE_STUB_DECL (x) = TYPE_STUB_DECL (TREE_TYPE (t));
- TYPE_NAME (x) = t;
+ TYPE_NAME (x) = TYPE_NAME (TREE_TYPE (t));
DECL_ORIGINAL_TYPE (t) = x;
}
}