diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-11 18:48:42 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-11 18:48:42 +0000 |
commit | cef0c6a0d464d388c020942e1d0b2ba7ae46e76e (patch) | |
tree | 36b169e5937e71fb76f555ec055b161e29728e84 /gcc/tree.def | |
parent | 03248032feb73992d6e6e09bccbd996ea4174d24 (diff) | |
download | gcc-cef0c6a0d464d388c020942e1d0b2ba7ae46e76e.tar.gz |
* rtl.h (REG_VTABLE_REF): New.
* rtl.c (reg_note_name): Add it.
* combine.c (distribute_notes): Handle it.
* final.c (final_scan_insn): Handle it.
* tree.def (VTABLE_REF): New.
* expr.c (expand_expr): Handle it.
* varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
* output.h: Declare them.
cp/
* class.c (build_vtable_entry_ref): Create a VTABLE_REF instead
of an asm statement.
(build_vtbl_ref_1): Split out from build_vtbl_ref.
(build_vfn_ref): Use it to handle vtable descriptors before
calling build_vtable_entry_ref.
* decl2.c (output_vtable_inherit): Use assemble_vtable_inherit.
testsuite/
* g++.old-deja/g++.other/crash18.C: Add -S to options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46195 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.def')
-rw-r--r-- | gcc/tree.def | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/tree.def b/gcc/tree.def index 4b155b0796c..8a02e5b2f60 100644 --- a/gcc/tree.def +++ b/gcc/tree.def @@ -374,6 +374,13 @@ DEFTREECODE (ARRAY_REF, "array_ref", 'r', 2) of the range is taken from the type of the expression. */ DEFTREECODE (ARRAY_RANGE_REF, "array_range_ref", 'r', 2) +/* Vtable indexing. Carries data useful for emitting information + for vtable garbage collection. + Operand 0: an array_ref (or equivalent expression) + Operand 1: the vtable base (must be a var_decl) + Operand 2: index into vtable (must be an integer_cst). */ +DEFTREECODE (VTABLE_REF, "vtable_ref", 'r', 3) + /* Constructor: return an aggregate value made from specified components. In C, this is used only for structure and array initializers. Also used for SET_TYPE in Chill (and potentially Pascal). |