We were getting the wrong dynamic type if there were two classes with the same basename.
authorJim Ingham <jingham@apple.com>
Thu, 1 Mar 2018 02:44:34 +0000 (02:44 +0000)
committerJim Ingham <jingham@apple.com>
Thu, 1 Mar 2018 02:44:34 +0000 (02:44 +0000)
commit06292869cd7f77d0ffbce3381c31f2253b9376a4
treeccafc5f54a5a67d298af8ff2a18de62384f461d1
parent0931e957ff7400c9b808026608da10e35aa58bc7
We were getting the wrong dynamic type if there were two classes with the same basename.

There's a bug in FindTypes, it ignores the exact flag if you pass a name that doesn't begin with
:: and pass eTypeClassAny for the type.

In this case we always know that the name we get from the vtable name is absolute so we can
work around the bug by prepending the "::".  This doesn't fix the FindTypes bug.

<rdar://problem/38010986>

llvm-svn: 326412
lldb/packages/Python/lldbsuite/test/lang/cpp/dynamic-value-same-basename/Makefile [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/lang/cpp/dynamic-value-same-basename/TestDynamicValueSameBase.py [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/lang/cpp/dynamic-value-same-basename/main.cpp [new file with mode: 0644]
lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp