[Bug c++/104806] New: Weird error message: did you mean "__dt "

jengelh at inai dot de gcc-bugzilla@gcc.gnu.org
Sun Mar 6 13:15:55 GMT 2022


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

            Bug ID: 104806
           Summary: Weird error message: did you mean "__dt "
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jengelh at inai dot de
  Target Milestone: ---

Input
=====
struct S{};
int main() { S s; s.__d; }

Observed
========
g++ -c x.cpp
gcc version 11.2.1 20220103 [revision d4a1d3c4b377f1d4acb34fe1b55b5088a3f293f6]
(SUSE Linux) 

x.cpp: In function ‘int main()’:
x.cpp:2:21: error: ‘struct S’ has no member named ‘__d’; did you mean ‘__dt ’?
    2 | int main() { S s; s.__d; }
      |                     ^~~
      |                     __dt 

Expected
========
x.cpp: did you mean "__dt"?

That is, without the extra space. In addition, where does __dt come from? I
have not even included anything. This in the source code git repo looks like
the culprit.

gcc/cp/decl.cc:    {"__dt ", &dtor_identifier, cik_dtor},


More information about the Gcc-bugs mailing list