https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37475
--- Comment #14 from Kristian Spangsege <kristian.spangsege at gmail dot com> --- Is the underscore intended before `Guard` in `explicit _Guard(__c_locale) { }` for the GLIBC <= 2.2 case? Besides that, the full patch looks correct to me.