diff options
author | Jason Merrill <jason@redhat.com> | 2002-01-23 07:44:45 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2002-01-23 07:44:45 -0500 |
commit | f893c16eeab350c284d0c079843ad32b3bb3bc8d (patch) | |
tree | b1606bf87e0be3cc9792098ad501a40879f36f16 /gcc/cp | |
parent | b21155754fcccc8980d5e696969229bb20375da5 (diff) | |
download | gcc-f893c16eeab350c284d0c079843ad32b3bb3bc8d.zip gcc-f893c16eeab350c284d0c079843ad32b3bb3bc8d.tar.gz gcc-f893c16eeab350c284d0c079843ad32b3bb3bc8d.tar.bz2 |
re PR c++/3331 (member pointer inherits const)
* tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
PR c++/3331
* cp/init.c (resolve_offset_ref): Use build_indirect_ref.
From-SVN: r49132
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/init.c | 5 |
2 files changed, 8 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ff79b13..11d77ed 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,7 +1,12 @@ -2002-01-22 Jason Merrill <jason@redhat.com> +2002-01-23 Jason Merrill <jason@redhat.com> + + PR c++/3331 + * init.c (resolve_offset_ref): Use build_indirect_ref. * decl2.c (grokclassfn): Don't set DECL_REGISTER on 'this'. +2002-01-22 Jason Merrill <jason@redhat.com> + * parse.y (function_body): Suppress the block for the outermost curly braces. * decl.c (pushdecl): Don't try to skip it. diff --git a/gcc/cp/init.c b/gcc/cp/init.c index f159f44..4dd0f9d 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -1880,9 +1880,8 @@ resolve_offset_ref (exp) member = cp_convert (ptrdiff_type_node, member); - return build1 (INDIRECT_REF, type, - build (PLUS_EXPR, build_pointer_type (type), - addr, member)); + addr = build (PLUS_EXPR, build_pointer_type (type), addr, member); + return build_indirect_ref (addr, 0); } else if (TYPE_PTRMEMFUNC_P (TREE_TYPE (member))) { |