aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2003-04-15 20:57:12 +0000
committerZack Weinberg <zack@gcc.gnu.org>2003-04-15 20:57:12 +0000
commit0b78a9b6a0599e01fd2415f09422f73a26e14fcd (patch)
treebd2a79bdc1c517e4ecf2b798b297b98c64dbb46a /gcc/varasm.c
parent03907fbd21a5ba2aba1f92b53f2fb9a1d0293133 (diff)
downloadgcc-0b78a9b6a0599e01fd2415f09422f73a26e14fcd.zip
gcc-0b78a9b6a0599e01fd2415f09422f73a26e14fcd.tar.gz
gcc-0b78a9b6a0599e01fd2415f09422f73a26e14fcd.tar.bz2
varasm.c (output_constant_def): Do not consult CONSTANT_AFTER_FUNCTION_P.
* varasm.c (output_constant_def): Do not consult CONSTANT_AFTER_FUNCTION_P. Remove all code predicated on it. (after_function_constants, output_after_function_constants): Delete. * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P. * config/mips/mips-protos.h, config/mips/mips.c (mips16_constant_after_function_p): Delete. * config/mips/mips.h: Delete #if-0-ed definition of CONSTANT_AFTER_FUNCTION_P. * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove mention of CONSTANT_AFTER_FUNCTION_P in comment. From-SVN: r65663
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c48
1 files changed, 4 insertions, 44 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 04df7ae..684a824 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -155,7 +155,6 @@ static void mark_constant_pool PARAMS ((void));
static void mark_constants PARAMS ((rtx));
static int mark_constant PARAMS ((rtx *current_rtx, void *data));
static int output_addressed_constants PARAMS ((tree));
-static void output_after_function_constants PARAMS ((void));
static unsigned HOST_WIDE_INT array_size_for_constructor PARAMS ((tree));
static unsigned min_align PARAMS ((unsigned, unsigned));
static void output_constructor PARAMS ((tree, HOST_WIDE_INT,
@@ -1199,9 +1198,6 @@ assemble_end_function (decl, fnname)
output_constant_pool (fnname, decl);
function_section (decl); /* need to switch back */
}
-
- /* Output any constants which should appear after the function. */
- output_after_function_constants ();
}
/* Assemble code to leave SIZE bytes of zeros. */
@@ -2482,10 +2478,6 @@ struct deferred_constant
static struct deferred_constant *deferred_constants;
-/* Another list of constants which should be output after the
- function. */
-static struct deferred_constant *after_function_constants;
-
/* Nonzero means defer output of addressed subconstants
(i.e., those for which output_constant_def is called.) */
static int defer_addressed_constants_flag;
@@ -2521,23 +2513,6 @@ output_deferred_addressed_constants ()
deferred_constants = 0;
}
-/* Output any constants which should appear after a function. */
-
-static void
-output_after_function_constants ()
-{
- struct deferred_constant *p, *next;
-
- for (p = after_function_constants; p; p = next)
- {
- output_constant_def_contents (p->exp, p->reloc, p->labelno);
- next = p->next;
- free (p);
- }
-
- after_function_constants = 0;
-}
-
/* Make a copy of the whole tree structure for a constant. This
handles the same types of nodes that compare_constant handles. */
@@ -2631,7 +2606,6 @@ output_constant_def (exp, defer)
char label[256];
int reloc;
int found = 1;
- int after_function = 0;
int labelno = -1;
rtx rtl;
@@ -2709,15 +2683,9 @@ output_constant_def (exp, defer)
desc->label = XSTR (XEXP (desc->rtl, 0), 0);
}
-#ifdef CONSTANT_AFTER_FUNCTION_P
- if (current_function_decl != 0
- && CONSTANT_AFTER_FUNCTION_P (exp))
- after_function = 1;
-#endif
-
if (found
&& STRING_POOL_ADDRESS_P (XEXP (rtl, 0))
- && (!defer || defer_addressed_constants_flag || after_function))
+ && (!defer || defer_addressed_constants_flag))
{
defstr = (struct deferred_string **)
htab_find_slot_with_hash (const_str_htab, desc->label,
@@ -2737,7 +2705,7 @@ output_constant_def (exp, defer)
output it (or defer its output for later). */
if (! found)
{
- if (defer_addressed_constants_flag || after_function)
+ if (defer_addressed_constants_flag)
{
struct deferred_constant *p
= (struct deferred_constant *)
@@ -2746,16 +2714,8 @@ output_constant_def (exp, defer)
p->exp = desc->value;
p->reloc = reloc;
p->labelno = labelno;
- if (after_function)
- {
- p->next = after_function_constants;
- after_function_constants = p;
- }
- else
- {
- p->next = deferred_constants;
- deferred_constants = p;
- }
+ p->next = deferred_constants;
+ deferred_constants = p;
}
else
{