Michael Buch
60eb06be6d
[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
2022-09-27 18:03:23 +01:00
..
2022-08-17 09:02:43 +01:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-08-12 10:23:15 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-08-15 08:54:06 +00:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-08-16 18:10:14 -07:00
2022-06-17 14:34:49 -07:00
2022-07-08 00:12:29 +00:00
2022-08-17 15:39:21 +01:00
2022-07-15 10:52:35 +00:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-08-22 15:46:03 -07:00
2022-08-15 08:54:06 +00:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-08-08 11:01:16 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-09-27 18:03:23 +01:00
2020-02-20 08:32:01 +01:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-09-26 19:54:24 +01:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2020-02-20 08:32:01 +01:00
2022-06-17 14:34:49 -07:00
2020-02-20 08:32:01 +01:00
2022-06-17 14:34:49 -07:00
2022-08-11 19:11:01 -07:00
2022-06-17 14:34:49 -07:00
2022-08-26 10:28:28 +01:00
2020-02-20 08:32:01 +01:00
2022-08-11 19:11:01 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2021-06-25 11:33:09 +02:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2021-08-04 12:50:13 +02:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-08-11 19:11:01 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-07-10 18:56:06 -07:00
2022-08-15 08:54:06 +00:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2020-02-20 08:32:01 +01:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00