diff options
author | Giovanni Bajo <giovannibajo@libero.it> | 2003-07-01 17:38:02 +0200 |
---|---|---|
committer | Wolfgang Bangerth <bangerth@gcc.gnu.org> | 2003-07-01 09:38:02 -0600 |
commit | 814ae570ea5766e19935e344d03709814bd002bd (patch) | |
tree | c8ff3baf28e493ae35ee73fbffbe0022ba71c4e5 | |
parent | 3d8daef2cd4ef4f8c071ed1c9779dbbbe2c4ddc2 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/error.c | 7 |
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; |