On Wed, Oct 09, 2019 at 04:21:20PM +0200, Rasmus Villemoes wrote: > On 09/10/2019 15.56, Dan Carpenter wrote: > > That's because glibc strlen is annotated with __attribute_pure__ which > > means it has no side effects. > > I know, except it has nothing to do with glibc headers. Just try the > same thing in the kernel. gcc itself knows this about __builtin_strlen() > etc. If anything, we could annotate some of our non-standard functions > (say, memchr_inv) with __pure - then we'd both get the Wunused-value in > the nonsense cases, and allow gcc to optimize or reorder the calls. Huh. You're right. GCC already knows. So this patch is pointless like you say. regards, dan carpenter