https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115222
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- C++14 (and C++11) had slightly different wording here: ``` Given a member function f of some class X, where f is an inheriting constructor (12.9) or an implicitlydeclared special member function, the set of potential exceptions of the implicitly-declared member function f consists of all the members from the following sets: if f is a destructor, the sets of potential exceptions of the destructor invocations for X’s non-variant non-static data members and for X’s virtual and direct base classes. ``` Looks like GCC just missed the rule applies to unions too.