aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2009-03-27 22:33:16 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2009-03-27 15:33:16 -0700
commitd9223014f991d207719b03fca8d8433edc58f27a (patch)
tree730765d79cb3b96fe1aa99617f3d96390ff336d7 /gcc/tree.h
parent689b689c17aa25f3ba3e1390a5bf513bd586c46a (diff)
downloadgcc-d9223014f991d207719b03fca8d8433edc58f27a.zip
gcc-d9223014f991d207719b03fca8d8433edc58f27a.tar.gz
gcc-d9223014f991d207719b03fca8d8433edc58f27a.tar.bz2
re PR target/39323 (MAX_OFILE_ALIGNMENT in elfos.h is too big)
gcc/ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com> PR c/39323 * c-common.c (handle_aligned_attribute): Properly check alignment overflow. Use (1U << i) instead of (1 << i). * emit-rtl.c (get_mem_align_offset): Use "unsigned int" for align. * expr.h (get_mem_align_offset): Updated. * tree.h (tree_decl_common): Change align to "unsigned int" and move it before pointer_alias_set. gcc/ada/ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com> PR c/39323 * gcc-interface/utils.c (create_field_decl): Use "unsigned int" on bit_align. gcc/testsuite/ 2009-03-27 H.J. Lu <hongjiu.lu@intel.com> PR c/39323 * gcc.dg/pr39323-1.c: New. * gcc.dg/pr39323-2.c: Likewise. * gcc.dg/pr39323-3.c: Likewise. From-SVN: r145136
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index e1c52e1..51fd7ec 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2726,10 +2726,9 @@ struct tree_decl_common GTY(())
unsigned gimple_reg_flag : 1;
/* In a DECL with pointer type, set if no TBAA should be done. */
unsigned no_tbaa_flag : 1;
- /* Padding so that 'align' can be on a 32-bit boundary. */
+ /* Padding so that 'off_align' can be on a 32-bit boundary. */
unsigned decl_common_unused : 2;
- unsigned int align : 24;
/* DECL_OFFSET_ALIGN, used only for FIELD_DECLs. */
unsigned int off_align : 8;
@@ -2738,6 +2737,9 @@ struct tree_decl_common GTY(())
tree attributes;
tree abstract_origin;
+ /* DECL_ALIGN. It should have the same size as TYPE_ALIGN. */
+ unsigned int align;
+
alias_set_type pointer_alias_set;
/* Points to a structure whose details depend on the language in use. */
struct lang_decl *lang_specific;