================ @@ -2605,6 +2605,9 @@ CodeViewDebug::lowerRecordFieldList(const DICompositeType *Ty) { MemberBaseType = TypeTable.writeLeafType(BFR); } uint64_t MemberOffsetInBytes = MemberOffsetInBits / 8; + if (Ty->getName().find("<lambda") != std::string::npos) { + MemberName = "__this"; + } ---------------- GkvJwa wrote:
Good, I tried patching it here and it also works, and the pdb compiled by msvc also has operators: ``` 0x465D | LF_FIELDLIST [size = 160, hash = 0x26758] - LF_ONEMETHOD [name = `operator()`] type = 0x4653, vftable offset = -1, attrs = public - LF_METHOD [name = `<lambda_1>`, # overloads = 2, overload list = 0x4658] - LF_MEMBER [name = `__this`, Type = 0x464E, offset = 0, attrs = private] - LF_MEMBER [name = `aa`, Type = 0x0074 (int), offset = 8, attrs = private] - LF_MEMBER [name = `bb`, Type = 0x0074 (int), offset = 12, attrs = private] - LF_MEMBER [name = `cc`, Type = 0x0074 (int), offset = 16, attrs = private] - LF_ONEMETHOD [name = `operator=`] type = 0x465C, vftable offset = -1, attrs = public - LF_ONEMETHOD [name = `__autoclassinit2`] ``` Not sure what it means https://github.com/llvm/llvm-project/pull/71564 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits