diff options
author | Mark Mitchell <mark@codesourcery.com> | 1999-05-22 11:24:43 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 1999-05-22 11:24:43 +0000 |
commit | 9dd03dd98bed4ef1f04d7729ef4fdb80a1d244c9 (patch) | |
tree | aaf0de4a6e20d9c74522faf9b120363e516411ba | |
parent | 13bd191d0e2519240def60469da8764e4917ccff (diff) | |
download | gcc-9dd03dd98bed4ef1f04d7729ef4fdb80a1d244c9.zip gcc-9dd03dd98bed4ef1f04d7729ef4fdb80a1d244c9.tar.gz gcc-9dd03dd98bed4ef1f04d7729ef4fdb80a1d244c9.tar.bz2 |
* tree.c (mapcar): Handle LVALUE_EXPR.
From-SVN: r27101
-rw-r--r-- | gcc/cp/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/cp/tree.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/new4.C | 10 |
3 files changed, 13 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 39cec74..f0b989c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,7 @@ 1999-05-22 Mark Mitchell <mark@codesourcery.com> + * tree.c (mapcar): Handle LVALUE_EXPR. + * cp-tree.h (cplus_expand_constant): Declare. * cvt.c (convert_to_pointer): Expand PTRMEM_CSTs when they're converted from one pointer-to-object type to another. diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 9d77217..1d1f205 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -1927,6 +1927,7 @@ mapcar (t, func) case NOP_EXPR: case COMPONENT_REF: case CLEANUP_POINT_EXPR: + case NON_LVALUE_EXPR: t = copy_node (t); TREE_TYPE (t) = mapcar (TREE_TYPE (t), func); TREE_OPERAND (t, 0) = mapcar (TREE_OPERAND (t, 0), func); diff --git a/gcc/testsuite/g++.old-deja/g++.other/new4.C b/gcc/testsuite/g++.old-deja/g++.other/new4.C new file mode 100644 index 0000000..b9931b1 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/new4.C @@ -0,0 +1,10 @@ +// Build don't link: +// Origin: Mark Mitchell <mark@codesourcery.com> + +struct S { + S(); + + virtual int f() { + new S[+f()]; + } +}; |