aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGiovanni Bajo <giovannibajo@libero.it>2003-06-30 21:02:04 +0200
committerWolfgang Bangerth <bangerth@gcc.gnu.org>2003-06-30 13:02:04 -0600
commitf8bee204f6b5c5d6cee07c631453f0cb503b3caf (patch)
treeca61d86e1b8700587163aeeb285f97ae86a48e4a /gcc
parentb3c5e31b814a93efd8163731bee299aad0b66955 (diff)
downloadgcc-f8bee204f6b5c5d6cee07c631453f0cb503b3caf.zip
gcc-f8bee204f6b5c5d6cee07c631453f0cb503b3caf.tar.gz
gcc-f8bee204f6b5c5d6cee07c631453f0cb503b3caf.tar.bz2
mangle.c (write_expression): Exit gracefully when trying to mangle a CALL_EXPR.
2003-06-30 Giovanni Bajo <giovannibajo@libero.it> * mangle.c (write_expression): Exit gracefully when trying to mangle a CALL_EXPR. From-SVN: r68724
Diffstat (limited to 'gcc')
-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 821c85f..01acce9 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 4885ee7..833220c 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)));