Commit 07d4d67d by Stan Cox

(ASM_OUTPUT_MI_THUNK): Define.

From-SVN: r11918
parent 926b3fae
...@@ -92,3 +92,15 @@ do \ ...@@ -92,3 +92,15 @@ do \
#undef ASM_OUTPUT_LABELREF #undef ASM_OUTPUT_LABELREF
#define ASM_OUTPUT_LABELREF(FILE,NAME) \ #define ASM_OUTPUT_LABELREF(FILE,NAME) \
fprintf (FILE, "%s", NAME) fprintf (FILE, "%s", NAME)
/* Output code to add DELTA to the first argument, and then jump to FUNCTION.
Used for C++ multiple inheritance. */
#define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \
do { \
fprintf (FILE, "\taddl $%d,%s\n\tjmp ", DELTA, \
i386_regparm > 0 ? "%eax" : "4(%esp)"); \
assemble_name (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION))); \
fprintf (FILE, "\n"); \
} while (0)
...@@ -123,6 +123,18 @@ Boston, MA 02111-1307, USA. */ ...@@ -123,6 +123,18 @@ Boston, MA 02111-1307, USA. */
#define ASM_OUTPUT_LABELREF(FILE,NAME) fprintf (FILE, "_%s", NAME) #define ASM_OUTPUT_LABELREF(FILE,NAME) fprintf (FILE, "_%s", NAME)
#endif /* not NO_UNDERSCORES */ #endif /* not NO_UNDERSCORES */
/* Output code to add DELTA to the first argument, and then jump to FUNCTION.
Used for C++ multiple inheritance. */
#define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \
do { \
fprintf (FILE, "\taddl $%d,%s\n\tjmp ", DELTA, \
i386_regparm > 0 ? "%eax" : "4(%esp)"); \
assemble_name (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION))); \
fprintf (FILE, "\n"); \
} while (0)
/* Sequent has some changes in the format of DBX symbols. */ /* Sequent has some changes in the format of DBX symbols. */
#define DBX_NO_XREFS 1 #define DBX_NO_XREFS 1
......
...@@ -141,3 +141,14 @@ do \ ...@@ -141,3 +141,14 @@ do \
#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \ #define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \
fprintf (FILE, ".%s%d:\n", PREFIX, NUM) fprintf (FILE, ".%s%d:\n", PREFIX, NUM)
/* Output code to add DELTA to the first argument, and then jump to FUNCTION.
Used for C++ multiple inheritance. */
#define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \
do { \
fprintf (FILE, "\taddl $%d,%s\n\tjmp ", DELTA, \
i386_regparm > 0 ? "%eax" : "4(%esp)"); \
assemble_name (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION))); \
fprintf (FILE, "\n"); \
} while (0)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment