Am Freitag, dem 05.07.2024 um 17:24 +0100 schrieb Jonathan Wakely: > On Fri, 5 Jul 2024 at 17:02, Xi Ruoyao via Gcc <gcc@xxxxxxxxxxx> wrote: > > > > On Fri, 2024-07-05 at 17:53 +0200, Alejandro Colomar wrote: > > > At least, I hope there's consensus that while current GCC doesn't warn > > > about this, ideally it should, which means it should warn for valid uses > > > of strtol(3), which means strtol(3) should be fixed, in all of ISO, > > > POSIX, and glibc. > > > > It **shouldn't**. strtol will only violate restrict if it's wrongly > > implemented, or something dumb is done like "strtol((const char*) &p, > > &p, 0)". > > > > See my previous reply. > > Right, is there a valid use of strtol where a warning would be justified? > > Showing that you can contrive a case where a const char* restrict and > char** restrict can alias doesn't mean there's a problem with strtol. I think his point is that a const char* restrict and something which is stored in a char* whose address is then passed can alias and there a warning would make sense in other situations. But I am also not convinced removing restrict would be an improvement. It would make more sense to have an annotation that indicates that endptr is only used as output. Martin