https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79398
Eric Gallager <egallager at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2017-08-29 CC| |egallager at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Eric Gallager <egallager at gcc dot gnu.org> --- (In reply to Martin Sebor from comment #0) > The error below is a bit confusing: the definition of B::bar() is complete > when it's called. > > I think I understand that the reason for the error below is actually that > the function is called before the definition of the class of which it's a > member is complete. The error should make that clear, although it seems > that accepting it (e.g., as an extension) would make static constexpr member > functions quite a bit more useful. Confirmed. If accepting it as an extension, sounds like material for -fpermissive.