diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 1996-12-13 01:28:42 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 1996-12-13 01:28:42 +0000 |
commit | 97adc6ed4cac5b3e857ea1d8166972021ceb772f (patch) | |
tree | 64276c12d4db4d77a767e668fd3a2075ce7cedae /gcc/varasm.c | |
parent | 2922fe9ecc6ee2f98ca693bfd47eaf52fcab2e93 (diff) | |
download | gcc-97adc6ed4cac5b3e857ea1d8166972021ceb772f.tar.gz |
Check CONSTANT_POOL_BEFORE_FUNCTION to control placement of constant
pool
From-SVN: r13304
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index a8c15df11e8..a862647e1f7 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -899,6 +899,16 @@ assemble_gc_entry (name) #endif } +/* CONSTANT_POOL_BEFORE_FUNCTION may be defined as an expression with + a non-zero value if the constant pool should be output before the + start of the function, or a zero value if the pool should output + after the end of the function. The default is to put it before the + start. */ + +#ifndef CONSTANT_POOL_BEFORE_FUNCTION +#define CONSTANT_POOL_BEFORE_FUNCTION 1 +#endif + /* Output assembler code for the constant pool of a function and associated with defining the name of the function. DECL describes the function. NAME is the function's name. For the constant pool, we use the current @@ -915,7 +925,8 @@ assemble_start_function (decl, fnname) app_disable (); - output_constant_pool (fnname, decl); + if (CONSTANT_POOL_BEFORE_FUNCTION) + output_constant_pool (fnname, decl); #ifdef ASM_OUTPUT_SECTION_NAME /* If the function is to be put in its own section and it's not in a section @@ -1012,6 +1023,8 @@ assemble_end_function (decl, fnname) #ifdef ASM_DECLARE_FUNCTION_SIZE ASM_DECLARE_FUNCTION_SIZE (asm_out_file, fnname, decl); #endif + if (! CONSTANT_POOL_BEFORE_FUNCTION) + output_constant_pool (fnname, decl); } /* Assemble code to leave SIZE bytes of zeros. */ |