diff options
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 5 |
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; |