diff options
author | Roger Sayle <roger@eyesopen.com> | 2002-10-02 18:46:45 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2002-10-02 18:46:45 +0000 |
commit | f963b5d977a838a7e219bbf7b94f22fd79058a51 (patch) | |
tree | f72d300500fae0fe8ccdc82f9dfd48580a10d90f /gcc/varasm.c | |
parent | 327d975a3af27d13a179712ed162e72e19e86b33 (diff) | |
download | gcc-f963b5d977a838a7e219bbf7b94f22fd79058a51.zip gcc-f963b5d977a838a7e219bbf7b94f22fd79058a51.tar.gz gcc-f963b5d977a838a7e219bbf7b94f22fd79058a51.tar.bz2 |
re PR rtl-optimization/6627 (-fno-align-functions regression from 2.95)
PR optimization/6627
* toplev.c (force_align_functions_log): New global variable.
* flags.h (force_align_functions_log): Add extern prototype.
* varasm.c (assemble_start_function): Use it to force minimum
function alignment.
* config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
minimum function alignment to one byte.
(TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
the least significant bit of vtable member function pointers.
* tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
here from cp/cp-tree.h.
* cp/cp-tree.h (enum ptrmemfunc_vbit_where_t): Delete definition
from here, and move it to tree.h.
* cp/decl.c (cxx_init_decl_processing): If storing the vbit
in function pointers, ensure that force_align_functions_log
is atleast one.
* java/lang.c (java_init): If storing the vbit in function
pointers, ensure that force_align_functions_log is atleast
one to aid compatability with g++ vtables.
From-SVN: r57745
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index d24e914..80d076f 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -1171,6 +1171,8 @@ assemble_start_function (decl, fnname) /* Tell assembler to move to target machine's alignment for functions. */ align = floor_log2 (FUNCTION_BOUNDARY / BITS_PER_UNIT); + if (align < force_align_functions_log) + align = force_align_functions_log; if (align > 0) { ASM_OUTPUT_ALIGN (asm_out_file, align); |