diff options
author | Jason Merrill <jason@redhat.com> | 2011-06-08 17:34:54 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2011-06-08 17:34:54 -0400 |
commit | 535fb6eb200870e582a7f4abf2ea929cfc7e24c6 (patch) | |
tree | 6f601052cecb3f9b63f6d5c0192a4bd79531bc0c | |
parent | 207202016ccaa1a79bcfa39b69fbe07ea762fe13 (diff) | |
download | gcc-535fb6eb200870e582a7f4abf2ea929cfc7e24c6.zip gcc-535fb6eb200870e582a7f4abf2ea929cfc7e24c6.tar.gz gcc-535fb6eb200870e582a7f4abf2ea929cfc7e24c6.tar.bz2 |
semantics.c (potential_constant_expression_1): Handle destructor call.
* semantics.c (potential_constant_expression_1): Handle destructor
call.
From-SVN: r174819
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index f785c89..5675020 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2011-06-08 Jason Merrill <jason@redhat.com> + + * semantics.c (potential_constant_expression_1): Handle destructor + call. + 2011-06-08 Jakub Jelinek <jakub@redhat.com> * cp-tree.h (struct tinst_level): Add chain_next GTY diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index ebca840..53e5993 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -7763,6 +7763,12 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags) want_rval = true; goto binary; + case BIT_NOT_EXPR: + /* A destructor. */ + if (TYPE_P (TREE_OPERAND (t, 0))) + return true; + /* else fall through. */ + case REALPART_EXPR: case IMAGPART_EXPR: case CONJ_EXPR: @@ -7771,7 +7777,6 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags) case FLOAT_EXPR: case NEGATE_EXPR: case ABS_EXPR: - case BIT_NOT_EXPR: case TRUTH_NOT_EXPR: case FIXED_CONVERT_EXPR: case UNARY_PLUS_EXPR: |