https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71625
--- Comment #3 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- strlen is pure, not const, since its result depends on memory pointed to by its argument, not just the value of the pointer itself. See extend.texi: "Note that a function that has pointer arguments and examines the data pointed to must @emph{not} be declared @code{const}.".