diff options
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index 312387530bd..0d6dc76c3a3 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -5297,3 +5297,32 @@ default_pe_asm_named_section (name, flags) (flags & SECTION_CODE ? "discard" : "same_size")); } } + +/* Used for vtable gc in GNU binutils. Record that the pointer at OFFSET + from SYMBOL is used in all classes derived from SYMBOL. */ + +void +assemble_vtable_entry (symbol, offset) + rtx symbol; + HOST_WIDE_INT offset; +{ + fputs ("\t.vtable_entry ", asm_out_file); + output_addr_const (asm_out_file, symbol); + fputs (", ", asm_out_file); + fprintf (asm_out_file, HOST_WIDE_INT_PRINT_DEC, offset); + fputc ('\n', asm_out_file); +} + +/* Used for vtable gc in GNU binutils. Record the class heirarchy by noting + that the vtable symbol CHILD is derived from the vtable symbol PARENT. */ + +void +assemble_vtable_inherit (child, parent) + rtx child, parent; +{ + fputs ("\t.vtable_inherit ", asm_out_file); + output_addr_const (asm_out_file, child); + fputs (", ", asm_out_file); + output_addr_const (asm_out_file, parent); + fputc ('\n', asm_out_file); +} |