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},