aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-06-28 14:04:46 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1996-06-28 14:04:46 -0400
commit33d01c335d7cd5255448a07fe636952f62155bb9 (patch)
treecf1b0f396efbf71e214d02b96e77fbace69fadf3
parent7fa12593d2c685c58961de5645b0d543355651ed (diff)
downloadgcc-33d01c335d7cd5255448a07fe636952f62155bb9.zip
gcc-33d01c335d7cd5255448a07fe636952f62155bb9.tar.gz
gcc-33d01c335d7cd5255448a07fe636952f62155bb9.tar.bz2
(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
-rw-r--r--gcc/config/alpha/alpha.c40
1 files changed, 25 insertions, 15 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index 2301561..7e75a9d 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;