https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121636
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #4) > So the change in GCC 7 was done due to: > https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0136r1.html That is r7-4255 . Here is another example which shows the difference ebtween the compilers when it comes to default arguments: ``` struct A { A(int, int = 0); A(int, int, int = 0) = delete; }; struct B : A { using A::A; }; B b(1); ``` This is rejected by GCC and EDG while accepted by clang/msvc. This is a modified version of https://cplusplus.github.io/CWG/issues/1645.html .