diff --git a/gcc/builtins.c b/gcc/builtins.c index 7fe32b160a43a30dfb1656e1f54d306ba42f3bcd..0d28992d2c212d781ac2cf556057761b6d890783 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -232,13 +232,13 @@ get_pointer_alignment (tree exp, unsigned int max_align) { unsigned int align, inner; - 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; + if (!POINTER_TYPE_P (TREE_TYPE (exp))) + return 0; + align = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (exp))); align = MIN (align, max_align);