https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115792
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Looks like clang misses exception specifiers as being optional before the parm. Most likely because only `throw()` is valid for C++17+.