aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 4b540d8..2cebb0e 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -369,7 +369,8 @@ get_object_alignment (tree exp, unsigned int max_align)
else if (TREE_CODE (exp) == TARGET_MEM_REF
&& TMR_SYMBOL (exp))
{
- align = get_object_alignment (TMR_SYMBOL (exp), max_align);
+ align = get_object_alignment (TREE_OPERAND (TMR_SYMBOL (exp), 0),
+ max_align);
if (TMR_OFFSET (exp))
bitpos += TREE_INT_CST_LOW (TMR_OFFSET (exp)) * BITS_PER_UNIT;
if (TMR_INDEX (exp) && TMR_STEP (exp))
@@ -379,6 +380,8 @@ get_object_alignment (tree exp, unsigned int max_align)
}
else if (TMR_INDEX (exp))
align = BITS_PER_UNIT;
+ if (TMR_BASE (exp))
+ align = BITS_PER_UNIT;
}
else
align = BITS_PER_UNIT;