aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2011-03-11 15:59:42 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2011-03-11 15:59:42 +0000
commit5f11a50a53603f4888a981e4bc162ef9069bbcd8 (patch)
tree5a00831f10217363ca6f0423beee4d0e0c453a75 /gcc/tree.c
parente33eba75933fdd7bd895a3b35ef1b1b710ddbb13 (diff)
downloadgcc-5f11a50a53603f4888a981e4bc162ef9069bbcd8.zip
gcc-5f11a50a53603f4888a981e4bc162ef9069bbcd8.tar.gz
gcc-5f11a50a53603f4888a981e4bc162ef9069bbcd8.tar.bz2
re PR c++/48073 (ICE with -flto in templated C++ code)
2011-03-11 Richard Guenther <rguenther@suse.de> PR lto/48073 * tree.c (find_decls_types_r): Do not walk types only reachable from IDENTIFIER_NODEs. * g++.dg/lto/20110311-1_0.C: New testcase. From-SVN: r170875
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index d923ac8..be46990 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -4822,7 +4822,8 @@ find_decls_types_r (tree *tp, int *ws, void *data)
fld_worklist_push (BLOCK_ABSTRACT_ORIGIN (t), fld);
}
- fld_worklist_push (TREE_TYPE (t), fld);
+ if (TREE_CODE (t) != IDENTIFIER_NODE)
+ fld_worklist_push (TREE_TYPE (t), fld);
return NULL_TREE;
}