Hi! Some formatting nits:
On Thu, Feb 02, 2017 at 10:10:32PM -0700, Martin Sebor wrote: > else if (gimple_assign_rhs_code (def_stmt) == COND_EXPR) > { > tree op2 = gimple_assign_rhs2 (def_stmt); > tree op3 = gimple_assign_rhs3 (def_stmt); > - return get_range_strlen (op2, length, visited, type, fuzzy) > - && get_range_strlen (op3, length, visited, type, fuzzy); > + return get_range_strlen (op2, length, visited, type, fuzzy, flexp) > + && get_range_strlen (op3, length, visited, type, fuzzy, flexp); This should be written as: return (get_range_strlen (op2, length, visited, type, fuzzy, flexp) && get_range_strlen (op3, length, visited, type, fuzzy, flexp)); or so. > + Return true if the range of the string lengths has been obtained > + from the upper bound of an array at the end of a struct. Such > + an array may hold a string that's longer than its upper bound > + due to it being used as a poor-man's flexible array member. */ > > -void get_range_strlen (tree arg, tree minmaxlen[2]) > +bool get_range_strlen (tree arg, tree minmaxlen[2]) This should be bool get_range_strlen (tree arg, tree minmaxlen[2]) Jakub