diff options
author | Pavel Labath <labath@google.com> | 2018-05-09 08:21:25 +0000 |
---|---|---|
committer | Pavel Labath <labath@google.com> | 2018-05-09 08:21:25 +0000 |
commit | 80d48155cf47e37d5c4dfc3b28d4ee8c7844ca34 (patch) | |
tree | d36a045ef410641cc6dfe283ac871be29fde6944 /clang/unittests/Format/FormatTestProto.cpp | |
parent | 349fdaab92dd2adb9b61a421c2f54a8b4d3f6c9c (diff) | |
download | bcm5719-llvm-80d48155cf47e37d5c4dfc3b28d4ee8c7844ca34.tar.gz bcm5719-llvm-80d48155cf47e37d5c4dfc3b28d4ee8c7844ca34.zip |
[DWARF] Align non-accelerated function fullname searching with the apple-tables path
Summary:
Before this patch the two paths were doing very different things
- the apple path searched the .apple_names section, which contained
mangled names, as well as basenames of all functions. It returned any
name it found.
- the non-accelerated path looked in the "full name" index we built
ourselves, which contained mangled as well as demangled names of all
functions (but no basenames). Then however, if it did not find a match
it did an extra search in the basename index, with some special
handling for anonymous namespaces.
This aligns the two paths by changing the non-accelerated path to return
the same results as in the apple-tables one. In pratice, this means we
will search in both the "basename", "method" and "fullname" indexes (in
the manual indexes these are separate indexes. This means the function
will return some slightly inappropriate results (e.g. bar::baz::foo when
one asks for a "full name" foo), but this can be handled by additional
filtering, independently indexing method. I've also stopped inserting
demangled names into the "fullname" index, as that is inconsistent with
the apple path.
Reviewers: clayborg, JDevlieghere
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D46576
llvm-svn: 331855
Diffstat (limited to 'clang/unittests/Format/FormatTestProto.cpp')
0 files changed, 0 insertions, 0 deletions