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

            Bug ID: 101799
           Summary: Warning messages for PMF leak internal names like
                    ::__pfn and ::__delta
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: slyfox at gcc dot gnu.org
  Target Milestone: ---

Found when poked at https://gcc.gnu.org/PR101219. Might be related to
https://gcc.gnu.org/PR96989.

$ cat a.cc
struct S { void m(); };

bool f() {
  void (S::*mp)();

  return &S::m == mp; // use uninitialized
}

$ g++ -c -Wall a.cc
a.cc: In function 'bool f()':
a.cc:6:19: warning: 'mp.void (S::*)()::__pfn' is used uninitialized
[-Wuninitialized]
    6 |   return &S::m == mp; // use uninitialized
      |                   ^~
a.cc:4:13: note: 'mp' declared here
    4 |   void (S::*mp)();
      |             ^~
a.cc:6:19: warning: 'mp.void (S::*)()::__delta' may be used uninitialized
[-Wmaybe-uninitialized]
    6 |   return &S::m == mp; // use uninitialized
      |                   ^~
a.cc:4:13: note: 'mp' declared here
    4 |   void (S::*mp)();
      |             ^~

Reply via email to