From 33d01c335d7cd5255448a07fe636952f62155bb9 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 28 Jun 1996 14:04:46 -0400 Subject: [PATCH] (output_{pro,epi}log): Flag_inhibit_size_directive should supress .ent, .end, and accompanying directives. (output_{pro,epi}log): Flag_inhibit_size_directive should supress .ent, .end, and accompanying directives. (alpha_output_lineno): Fix polarity on GAS test. From-SVN: r12352 --- gcc/config/alpha/alpha.c | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 2301561563b..7e75a9dc039 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -1633,13 +1633,16 @@ output_prolog (file, size) to the .ent directive, the lex_level, is ignored by the assembler, so we might as well omit it. */ - fprintf (file, "\t.ent "); - assemble_name (file, alpha_function_name); - fprintf (file, "\n"); + if (!flag_inhibit_size_directive) + { + fprintf (file, "\t.ent "); + assemble_name (file, alpha_function_name); + fprintf (file, "\n"); + } ASM_OUTPUT_LABEL (file, alpha_function_name); inside_function = TRUE; - if (TARGET_IEEE_CONFORMANT) + if (TARGET_IEEE_CONFORMANT && !flag_inhibit_size_directive) /* Set flags in procedure descriptor to request IEEE-conformant math-library routines. The value we set it to is PDSC_EXC_IEEE (/usr/include/pdsc.h). */ @@ -1746,10 +1749,13 @@ output_prolog (file, size) } /* Describe our frame. */ - fprintf (file, "\t.frame $%d,%d,$26,%d\n", - (frame_pointer_needed - ? HARD_FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM), - frame_size, current_function_pretend_args_size); + if (!flag_inhibit_size_directive) + { + fprintf (file, "\t.frame $%d,%d,$26,%d\n", + (frame_pointer_needed + ? HARD_FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM), + frame_size, current_function_pretend_args_size); + } /* Save register 26 if any other register needs to be saved. */ if (sa_size != 0) @@ -1771,7 +1777,7 @@ output_prolog (file, size) } /* Print the register mask and do floating-point saves. */ - if (reg_mask) + if (reg_mask && !flag_inhibit_size_directive) fprintf (file, "\t.mask 0x%x,%d\n", reg_mask, actual_start_reg_offset - frame_size); @@ -1788,7 +1794,7 @@ output_prolog (file, size) } /* Print the floating-point mask, if we've saved any fp register. */ - if (reg_mask) + if (reg_mask && !flag_inhibit_size_directive) fprintf (file, "\t.fmask 0x%x,%d\n", reg_mask, actual_start_reg_offset - frame_size + int_reg_save_area_size); @@ -1798,7 +1804,8 @@ output_prolog (file, size) fprintf (file, "\tbis $30,$30,$15\n"); /* End the prologue and say if we used gp. */ - fprintf (file, "\t.prologue %d\n", alpha_function_needs_gp); + if (!flag_inhibit_size_directive) + fprintf (file, "\t.prologue %d\n", alpha_function_needs_gp); } /* Write function epilogue. */ @@ -1894,9 +1901,12 @@ output_epilog (file, size) } /* End the function. */ - fprintf (file, "\t.end "); - assemble_name (file, alpha_function_name); - fprintf (file, "\n"); + if (!flag_inhibit_size_directive) + { + fprintf (file, "\t.end "); + assemble_name (file, alpha_function_name); + fprintf (file, "\n"); + } inside_function = FALSE; /* Show that we know this function if it is called again. */ @@ -1983,7 +1993,7 @@ alpha_output_lineno (stream, line) FILE *stream; int line; { - if (! TARGET_GAS && write_symbols == DBX_DEBUG) + if (TARGET_GAS && write_symbols == DBX_DEBUG) { /* mips-tfile doesn't understand .stabd directives. */ ++sym_lineno; -- 2.30.2