https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119006
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Your source does not work either:
FixedString(const char* str_) { *this = str_; }
Is an infinite loop.
It should be:
FixedString(const char* str_) { __builtin_strcpy (this->_str, str_); }
