diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-05-06 10:00:02 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-05-06 10:00:02 -0400 |
commit | 0140d3ee3a5ec625b83a0eaf87d6aa6ae0554b38 (patch) | |
tree | e1c8ba58e72f13b2dbaa77818b962798359ba77f | |
parent | 31fa03e54dbed7a0e4c044330447bfeb4cfda77d (diff) | |
download | gcc-0140d3ee3a5ec625b83a0eaf87d6aa6ae0554b38.zip gcc-0140d3ee3a5ec625b83a0eaf87d6aa6ae0554b38.tar.gz gcc-0140d3ee3a5ec625b83a0eaf87d6aa6ae0554b38.tar.bz2 |
(ASM_OUTPUT_MI_THUNK): Define.
From-SVN: r11937
-rw-r--r-- | gcc/config/vax/vax.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h index fd00fa7..12a241e 100644 --- a/gcc/config/vax/vax.h +++ b/gcc/config/vax/vax.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Vax version. - Copyright (C) 1987, 88, 91, 93, 94, 95 Free Software Foundation, Inc. + Copyright (C) 1987, 88, 91, 93, 94, 95, 1996 Free Software Foundation, Inc. This file is part of GNU CC. @@ -1203,6 +1203,21 @@ do { char dstr[30]; \ fprintf (FILE, "___vax_%c_doubles:\n", ASM_DOUBLE_CHAR); \ } while (0) +/* Output code to add DELTA to the first argument, and then jump to FUNCTION. + Used for C++ multiple inheritance. + .mask ^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11> #conservative entry mask + addl2 $DELTA, 4(ap) #adjust first argument + jmp FUNCTION+2 #jump beyond FUNCTION's entry mask + */ +#define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \ +do { \ + fprintf (FILE, "\t.word 0x0ffc\n"); \ + fprintf (FILE, "\taddl2 $%d,4(ap)\n", DELTA); \ + fprintf (FILE, "\tjmp "); \ + assemble_name (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION))); \ + fprintf (FILE, "+2\n"); \ +} while (0) + /* Define the parentheses used to group arithmetic operations in assembler code. */ |