diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3bce65cc004..b317fc50ec4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-07-13 Richard Guenther + + PR middle-end/53937 + * builtins.c (get_pointer_alignment_1): Handle constant + pointers. + 2012-07-13 Richard Sandiford Steven Bosscher Bernd Schmidt diff --git a/gcc/builtins.c b/gcc/builtins.c index c12eb29aa02..040f352a0fb 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -536,6 +536,13 @@ get_pointer_alignment_1 (tree exp, unsigned int *alignp, return false; } } + else if (TREE_CODE (exp) == INTEGER_CST) + { + *alignp = BIGGEST_ALIGNMENT; + *bitposp = ((TREE_INT_CST_LOW (exp) * BITS_PER_UNIT) + & (BIGGEST_ALIGNMENT - 1)); + return true; + } *bitposp = 0; *alignp = BITS_PER_UNIT;