https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84287
Bug ID: 84287
Summary: pointer to member function type with dependent
parameter cannot be mangled
Product: gcc
Version: 7.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: jens.maurer at gmx dot net
Target Milestone: ---
This is a (reduced) attempt at SFINAE, which fails with gcc 7.3:
struct S {
void f(const int&);
};
template<class T>
int g(T x, decltype(static_cast<void (S::*)(const T&)>(&S::f)) * = nullptr) { }
int x = g(0);
$ g++ x.cc
x.cc: In instantiation of ‘int g(T, decltype (static_cast<void (S::*)(const
T&)>(& S::f))*) [with T = int]’:
x.cc:6:5: sorry, unimplemented: mangling offset_ref
int g(T x, decltype(static_cast<void (S::*)(const T&)>(&S::f)) * = nullptr) {
}
^