https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66477
Bug ID: 66477 Summary: [constexpr] accepts-invalid with constexpr member call on non-constant reference Product: gcc Version: 5.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: richard-gccbugzilla at metafoo dot co.uk Target Milestone: --- GCC accepts this invalid code: struct a { constexpr int size() const { return 3; } }; void f(a &r) { static_assert(r.size() == 3, "error"); } The static_assert condition is non-constant because it mentions the reference 'r' whose referent is not known within that constant expression.