summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbangerth <bangerth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-30 19:02:04 +0000
committerbangerth <bangerth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-30 19:02:04 +0000
commit33df020e352ce90443d6f52dbe9f99e4a4767c6b (patch)
treeca61d86e1b8700587163aeeb285f97ae86a48e4a
parentce4e64edfef140252420b4a14342f0ba20687411 (diff)
downloadppe42-gcc-33df020e352ce90443d6f52dbe9f99e4a4767c6b.tar.gz
ppe42-gcc-33df020e352ce90443d6f52dbe9f99e4a4767c6b.zip
2003-06-30 Giovanni Bajo <giovannibajo@libero.it>
* mangle.c (write_expression): Exit gracefully when trying to mangle a CALL_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68724 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/mangle.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 821c85f8151..01acce93f47 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,10 @@
2003-06-30 Giovanni Bajo <giovannibajo@libero.it>
+ * mangle.c (write_expression): Exit gracefully when trying to
+ mangle a CALL_EXPR.
+
+2003-06-30 Giovanni Bajo <giovannibajo@libero.it>
+
PR c++/10750
* parser.c (cp_parser_primary_expression): A VAR_DECL with a
(value- or type-) dependent expression as DECL_INITIAL is a
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c
index 4885ee78d5e..833220cb3e2 100644
--- a/gcc/cp/mangle.c
+++ b/gcc/cp/mangle.c
@@ -2008,6 +2008,10 @@ write_expression (tree expr)
switch (code)
{
+ case CALL_EXPR:
+ sorry ("call_expr cannot be mangled due to a defect in the C++ ABI");
+ break;
+
case CAST_EXPR:
write_type (TREE_TYPE (expr));
write_expression (TREE_VALUE (TREE_OPERAND (expr, 0)));
OpenPOWER on IntegriCloud