labath wrote:

Hi there. Nice to see interest in this patch. Zequan has been OOO for the past 
couple of weeks, so I've sort of taken this up in the mean time.

The problem with the simplified template names is actually already fixed (by 
#95905), but in the mean time, I've discovered a very similar problem with type 
units (basically, just take the test case from #95905, but build it with 
-fdebug-types-section instead). While this could (and should) be fixed in 
similar way, this led me to believe that the overall approach in this patch was 
too fragile. When completing a type, it basically does something like:
- look up the (declaration) die for the type being completed (using the 
`ForwardDeclCompilerTypeToDIE` map)
- look up the definition die (using the dwarf index)
- look up the type for the definition die (using the UniqueDWARFASTTypeMap)

The last step, besides being completely unnecessary (we already know the type 
we're supposed to complete), is also a big liability, because here we are 
implicitly relying on the the map to return the same type that we started with. 
If it does not then we will end up creating a new type instead of completing 
the existing one, and things will quickly go sideways.

The meeting that David alluded to is tomorrow, and I hope we're going to try to 
figure out who's going to do what and in what order. In the mean time, I've 
added you as a reviewer to one of my pending patches.

https://github.com/llvm/llvm-project/pull/92328
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to