aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
diff options
context:
space:
mode:
authorMichael Buch <michaelbuch12@gmail.com>2022-09-26 18:38:37 +0200
committerMichael Buch <michaelbuch12@gmail.com>2022-09-27 18:03:23 +0100
commit60eb06be6d23e3c5fd80113143784aac0d962965 (patch)
tree10d80a1c75129b12a5f18152e1872336ac1504c5 /llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
parenta6383bb51cce781fc8236c89966a09879dc4bb25 (diff)
downloadllvm-60eb06be6d23e3c5fd80113143784aac0d962965.zip
llvm-60eb06be6d23e3c5fd80113143784aac0d962965.tar.gz
llvm-60eb06be6d23e3c5fd80113143784aac0d962965.tar.bz2
[lldb][TypeSystemClang] Honor DW_AT_rvalue_reference when creating C++ FunctionPrototypes
Currently funciton lookup in the expression evaluator fails to disambiguate member functions the are overloaded on lvalue/rvalue reference-qualifiers. This happens because we unconditionally set a `FunctionPrototype`s `ExtProtoInfo::RefQualifier` to `RQ_None`. We lose the ref-qualifiers in the synthesized AST and `clang::Sema` fails to pick a correct overload candidate. DWARF emits information about a function's ref-qualifiers in the form of a boolean `DW_AT_rvalue_reference` (for rvalues) and `DW_AT_reference` (for lvalues). This patch sets the `FunctionPrototype::ExtProtoInfo::RefQualifier` based on the DWARF attributes above. **Testing** * Added API test llvm/llvm-project issue #57866 Differential Revision: https://reviews.llvm.org/D134661
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp')
0 files changed, 0 insertions, 0 deletions