This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/84287] pointer to member function type with dependent parameter cannot be mangled


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84287

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |rejects-valid
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2018-02-08
                 CC|                            |msebor at gcc dot gnu.org
     Ever confirmed|0                           |1
      Known to fail|                            |4.1.0, 4.5.4, 4.8.3, 4.9.3,
                   |                            |5.3.0, 6.2.0, 7.1.0, 8.0

--- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> ---
Confirmed with the C++ 98 test case below.  Not a regression.

$ cat t.C && gcc -S -Wall t.C
struct S {
  void f (const S&);
};

template<class T>
int g (T x, __typeof__ (static_cast<void (S::*)(const T&)>(&S::f)) * = 0)
{
  return 0;
}

int x = g (S ());
t.C: In instantiation of ‘int g(T, __typeof__ (static_cast<void (S::*)(const
T&)>(& S::f))*) [with T = S]’:
t.C:6:5: sorry, unimplemented: mangling typeof, use decltype instead
 int g (T x, __typeof__ (static_cast<void (S::*)(const T&)>(&S::f)) * = 0)
     ^

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]