aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorGiovanni Bajo <giovannibajo@libero.it>2003-07-01 17:38:02 +0200
committerWolfgang Bangerth <bangerth@gcc.gnu.org>2003-07-01 09:38:02 -0600
commit814ae570ea5766e19935e344d03709814bd002bd (patch)
treec8ff3baf28e493ae35ee73fbffbe0022ba71c4e5 /gcc/cp
parent3d8daef2cd4ef4f8c071ed1c9779dbbbe2c4ddc2 (diff)
downloadgcc-814ae570ea5766e19935e344d03709814bd002bd.zip
gcc-814ae570ea5766e19935e344d03709814bd002bd.tar.gz
gcc-814ae570ea5766e19935e344d03709814bd002bd.tar.bz2
re PR c++/8046 (ICE on illegal code involving destructor being treated as bit-not expression)
2003-07-01 Giovanni Bajo <giovannibajo@libero.it> PR c++/8046 * error.c (dump_decl): Handle BIT_NOT_EXPR as pseudo destructor calls. From-SVN: r68775
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/error.c7
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 3b96014..5487d33 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2003-07-01 Giovanni Bajo <giovannibajo@libero.it>
+
+ PR c++/8046
+ * error.c (dump_decl): Handle BIT_NOT_EXPR as
+ pseudo destructor calls.
+
2003-07-01 Nathan Sidwell <nathan@codesourcery.com>
* cp-tree.h (define_label): Replace filename and lineno
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index 4cb5ba4..e26f242 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -877,6 +877,13 @@ dump_decl (tree t, int flags)
dump_type (t, flags);
break;
+ case BIT_NOT_EXPR:
+ /* This is a pseudo distructor call which has not been folded into
+ a PSEUDO_DTOR_EXPR yet. */
+ output_add_character (scratch_buffer, '~');
+ dump_type (TREE_OPERAND (t, 0), flags);
+ break;
+
case TYPE_EXPR:
abort ();
break;