gcc: 2018-08-21 Bernd Edlinger * common.opt: Add new optimization option -fassume-zero-terminated-char-arrays. * gimple-fold.h (looks_like_a_char_array_without_typecast_p): Declare. * gimple-fold.c (looks_like_a_char_array_without_typecast_p): Helper function for strlen range estimations. (get_range_strlen): Use looks_like_a_char_array_without_typecast_p. * tree-ssa-strlen.c (maybe_set_strlen_range): Likewise. (get_min_string_length): Avoid not NUL terminated string literals. * doc/invoke.texi: Document -fassume-zero-terminated-char-arrays. * tree-ssa-dse.c (compute_trims): Avoid folding away undefined behaviour. testsuite: 2018-08-32 Bernd Edlinger * gcc.dg/pr83373.c: Add xfail. * gcc.dg/strlenopt-36.c: Adjust test expectations. * gcc.dg/strlenopt-40.c: Likewise. * gcc.dg/strlenopt-45.c: Likewise. * gcc.dg/strlenopt-48.c: Likewise. * gcc.dg/strlenopt-51.c: Likewise. * gcc.dg/strlenopt-57.c: New test. * gcc.dg/strlenopt-58.c: New test. * gcc.dg/strlenopt-59.c: New test.