https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67014
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|middle-end |ipa CC| |marxin at gcc dot gnu.org Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Last reconfirmed| |2021-06-04 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- tolower is defined in the header file as: extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) tolower (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; } So __builtin_tolower is not using that inline function. So this is a front-end issue where the the two function decls are not being merged into one or is an inliner issue.