From cef0c6a0d464d388c020942e1d0b2ba7ae46e76e Mon Sep 17 00:00:00 2001 From: rth Date: Thu, 11 Oct 2001 18:48:42 +0000 Subject: * 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 --- gcc/rtl.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gcc/rtl.h') diff --git a/gcc/rtl.h b/gcc/rtl.h index 37a204c95d6..4c0eb2c4e83 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -579,7 +579,11 @@ enum reg_note REG_SETJMP, /* Indicate calls that always returns. */ - REG_ALWAYS_RETURN + REG_ALWAYS_RETURN, + + /* Indicate that the memory load references a vtable. The expression + is of the form (plus (symbol_ref vtable_sym) (const_int offset)). */ + REG_VTABLE_REF }; /* The base value for branch probability notes. */ -- cgit v1.2.1