https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71487
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2016-06-26 00:00:00 |2019-4-4 CC| |msebor at gcc dot gnu.org Known to fail| |8.3.0, 9.0 --- Comment #4 from Martin Sebor <msebor at gcc dot gnu.org> --- No change in GCC 8 or 9: pr71487.C: In instantiation of ‘void PropertyMatcher<F, T>::operator()(U) [with U = std::__cxx11::basic_string<char>; F = long unsigned int (std::__cxx11::basic_string<char>::*)() const; T = int]’: pr71487.C:30:34: required from here pr71487.C:15:39: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare] 15 | std::cout << ((actual.*memfun)() == expected) << std::endl; | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ pr71487.C: In instantiation of ‘decltype (Property((& std::__cxx11::basic_string<char>::size), declval<T>())) HasLength(T) [with T = int]’: pr71487.C:31:1: required from here pr71487.C:25:6: sorry, unimplemented: mangling offset_ref 25 | auto HasLength(T expected) -> decltype(Property(&std::string::size, declval<T>())) { | ^~~~~~~~~