diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-20 12:31:44 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-20 12:31:44 +0000 |
commit | f607c97bf2165fb615a98372a707929ca6f39e46 (patch) | |
tree | 4e9b7a1fefd171a2f1b5d078b55d477f30d5c3e2 /gcc/cp/cp-objcp-common.c | |
parent | 032987e98aa0513d8978c2725dee4b8dcca968bf (diff) | |
download | gcc-f607c97bf2165fb615a98372a707929ca6f39e46.tar.gz |
2007-08-20 Richard Guenther <rguenther@suse.de>
PR c++/22369
PR c++/22451
* call.c (build_new_method_call): Convert initializer to
the basetype.
* init.c (build_aggr_init): Do not fiddle with types.
(build_vec_delete_1): Use correct type for POINTER_PLUS_EXPR.
* except.c (build_throw): Do not drop qualifiers for the
pointer type.
* typeck.c (get_member_function_from_ptrfunc): Do not
fiddle with types, instead convert.
(build_ptrmemfunc1): Convert to the target type for
initialization.
(gfc_trans_allocate): Convert result to target type.
* cp-objcp-common.c (cxx_get_alias_set): Pointers to
pointer-to-member structures shall have alias set zero as well.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127647 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/cp-objcp-common.c')
-rw-r--r-- | gcc/cp/cp-objcp-common.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cp/cp-objcp-common.c b/gcc/cp/cp-objcp-common.c index b83ef363b8d..fbd407c3e12 100644 --- a/gcc/cp/cp-objcp-common.c +++ b/gcc/cp/cp-objcp-common.c @@ -44,7 +44,9 @@ cxx_get_alias_set (tree t) return get_alias_set (TYPE_CONTEXT (t)); /* Punt on PMFs until we canonicalize functions properly. */ - if (TYPE_PTRMEMFUNC_P (t)) + if (TYPE_PTRMEMFUNC_P (t) + || (POINTER_TYPE_P (t) + && TYPE_PTRMEMFUNC_P (TREE_TYPE (t)))) return 0; return c_common_get_alias_set (t); |