diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 44a0eee75cef203f80d8661277a8949acfb436a8..078db2bb3544d04371d2516e5c8566ede6194315 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr> + John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + Andrew Pinski <pinskia@gmail.com> + + PR middle-end/29111 + * builtins.c (get_pointer_alignment): Return 0 if TER is not run. + 2006-10-15 Jan Hubicka <jh@suse.cz> Richard Guenther <rguenther@suse.de> diff --git a/gcc/builtins.c b/gcc/builtins.c index 46f97f9c87906fce0a065619a39a6e4c693c3899..7fe32b160a43a30dfb1656e1f54d306ba42f3bcd 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -235,6 +235,10 @@ get_pointer_alignment (tree exp, unsigned int max_align) if (! POINTER_TYPE_P (TREE_TYPE (exp))) return 0; + /* We rely on TER to compute accurate alignment information. */ + if (!(optimize && flag_tree_ter)) + return 0; + align = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (exp))); align = MIN (align, max_align);