diff options
author | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-05-04 06:28:54 +0000 |
---|---|---|
committer | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-05-04 06:28:54 +0000 |
commit | 0d1edf04e982ae14b042e5079feda4ffd334b527 (patch) | |
tree | d868f5fe0152e84a5178c7af2fe9301e56e71e30 /gcc/cp/expr.c | |
parent | ce489707465ef703b6123649d5b11ab65e06bc95 (diff) | |
download | gcc-0d1edf04e982ae14b042e5079feda4ffd334b527.tar.gz |
* cp-tree.h (enum cp_tree_index): Add CPTI_PFN_VFLAG_IDENTIFIER.
(pfn_vflag_identifier): Define.
Update comment about layout of pointer functions.
(build_ptrmemfunc1): Update prototype.
(expand_ptrmemfunc_cst): Update prototype.
* decl.c (initialize_predefined_identifiers): Initialize
pfn_vflag_identifier.
(build_ptrmemfunc_type): When FUNCTION_BOUNDARY < 16, add
an extra field to the type.
* expr.c (cplus_expand_constant): Pass 'flag' between
expand_ptrmemfunc_cst and build_ptrmemfunc1.
* typeck.c (get_member_function_from_ptrfunc): When
FUNCTION_BOUNDARY < 16, look at additional field to determine
if a pointer-to-member is a real pointer or a vtable offset.
(build_ptrmemfunc1): Add new parameter to contain extra field.
(build_ptrmemfunc): Pass the extra field around.
(expand_ptrmemfunc_cst): Add new parameter to return extra field.
(pfn_from_ptrmemfunc): Ignore the extra field.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41824 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/expr.c')
-rw-r--r-- | gcc/cp/expr.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c index 6855160fc19..7163a5b6669 100644 --- a/gcc/cp/expr.c +++ b/gcc/cp/expr.c @@ -62,9 +62,10 @@ cplus_expand_constant (cst) { tree delta; tree pfn; + tree flag; - expand_ptrmemfunc_cst (cst, &delta, &pfn); - cst = build_ptrmemfunc1 (type, delta, pfn); + expand_ptrmemfunc_cst (cst, &delta, &pfn, &flag); + cst = build_ptrmemfunc1 (type, delta, pfn, flag); } } break; |