-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
I am analyzing a binary that is moving from C++17 to C++20 mode to see why and where it changed size. This binary has a lot of lambdas in it. Unfortunately the MSVC naming pattern for lambdas changes based on the mode so the diff is almost impossible because every lambda is showing up as only-in-base or only-in-comparison. That leaves me unable to see the true diff.
The lambda names have a hash (cpp17) or incrementing number (cpp20) in the name. These can hopefully be ignored by the comparison while still giving accurate results.
Here is an anonymized example of what I'm observing (where HASH is a long pseudo-random string)
cpp17:
winrt::Contoso::implementation::MyClass::MyFunction::_l2::<lambda_HASH>::<lambda_HASH>::operator()()constcpp20:
winrt::Contoso::implementation::MyClass::MyFunction::_l2::<lambda_1>::<lambda_1>::operator()()constMetadata
Metadata
Assignees
Labels
No labels