aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2001-08-17 11:28:06 -0700
committerRichard Henderson <rth@gcc.gnu.org>2001-08-17 11:28:06 -0700
commit51084e13c01c0f6ddf298c444bca9674d28e644a (patch)
tree6137f5210fae2ff6c6a7a6aee1797c7450a4bfbf /gcc/varasm.c
parentd1356866eba98f8d8473cfcb6f8cd97740b9328c (diff)
downloadgcc-51084e13c01c0f6ddf298c444bca9674d28e644a.zip
gcc-51084e13c01c0f6ddf298c444bca9674d28e644a.tar.gz
gcc-51084e13c01c0f6ddf298c444bca9674d28e644a.tar.bz2
varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
* varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN. * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__, __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__): Add aligned attribute. From-SVN: r44966
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 6cb2fb8..8b752dc 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -1474,13 +1474,16 @@ assemble_variable (decl, top_level, at_end, dont_output_data)
}
/* On some machines, it is good to increase alignment sometimes. */
+ if (! DECL_USER_ALIGN (decl))
+ {
#ifdef DATA_ALIGNMENT
- align = DATA_ALIGNMENT (TREE_TYPE (decl), align);
+ align = DATA_ALIGNMENT (TREE_TYPE (decl), align);
#endif
#ifdef CONSTANT_ALIGNMENT
- if (DECL_INITIAL (decl) != 0 && DECL_INITIAL (decl) != error_mark_node)
- align = CONSTANT_ALIGNMENT (DECL_INITIAL (decl), align);
+ if (DECL_INITIAL (decl) != 0 && DECL_INITIAL (decl) != error_mark_node)
+ align = CONSTANT_ALIGNMENT (DECL_INITIAL (decl), align);
#endif
+ }
/* Reset the alignment in case we have made it tighter, so we can benefit
from it in get_pointer_alignment. */