aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2006-07-12 17:57:58 -0400
committerJason Merrill <jason@gcc.gnu.org>2006-07-12 17:57:58 -0400
commitec0897deddeb168c4d6689666560b9ad85430a07 (patch)
treef54e093ca7a337a08299d4dbe6679086cab57ce2
parentf67a67d831550961badfdd84556bcffcfded5651 (diff)
downloadgcc-ec0897deddeb168c4d6689666560b9ad85430a07.zip
gcc-ec0897deddeb168c4d6689666560b9ad85430a07.tar.gz
gcc-ec0897deddeb168c4d6689666560b9ad85430a07.tar.bz2
re PR c++/28217 (ICE in tree_int_cst_sgn)
PR c++/28217 * semantics.c (note_decl_for_pch): Don't premangle templates. From-SVN: r115399
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/semantics.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index dca9874..c7aa918 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2006-07-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/28217
+ * semantics.c (note_decl_for_pch): Don't premangle templates.
+
2006-07-12 Martin Michlmayr <tbm@cyrius.com>
* typeck.c (string_conv_p): Remove spurious quotation mark in
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index 9ecace6..3d5957a 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -2339,8 +2339,9 @@ note_decl_for_pch (tree decl)
/* There's a good chance that we'll have to mangle names at some
point, even if only for emission in debugging information. */
- if (TREE_CODE (decl) == VAR_DECL
- || TREE_CODE (decl) == FUNCTION_DECL)
+ if ((TREE_CODE (decl) == VAR_DECL
+ || TREE_CODE (decl) == FUNCTION_DECL)
+ && !processing_template_decl)
mangle_decl (decl);
}