aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectProcess.cpp
diff options
context:
space:
mode:
authorMatheus Izvekov <mizvekov@gmail.com>2024-09-07 15:49:07 -0300
committerGitHub <noreply@github.com>2024-09-07 15:49:07 -0300
commitfa6580470547411667b866362941db0b02e25578 (patch)
treed50acac928e9d82bd1a72378eb28f97058386df0 /lldb/source/Commands/CommandObjectProcess.cpp
parenta0c43be0e912bca178cec3f00b9f9f7388e9dbef (diff)
downloadllvm-fa6580470547411667b866362941db0b02e25578.zip
llvm-fa6580470547411667b866362941db0b02e25578.tar.gz
llvm-fa6580470547411667b866362941db0b02e25578.tar.bz2
[clang] Implement CWG2398 provisional TTP matching to class templates (#94981)
This extends default argument deduction to cover class templates as well, applying only to partial ordering, adding to the provisional wording introduced in https://github.com/llvm/llvm-project/pull/89807. This solves some ambuguity introduced in P0522 regarding how template template parameters are partially ordered, and should reduce the negative impact of enabling `-frelaxed-template-template-args` by default. Given the following example: ```C++ template <class T1, class T2 = float> struct A; template <class T3> struct B; template <template <class T4> class TT1, class T5> struct B<TT1<T5>>; // #1 template <class T6, class T7> struct B<A<T6, T7>>; // #2 template struct B<A<int>>; ``` Prior to P0522, `#2` was picked. Afterwards, this became ambiguous. This patch restores the pre-P0522 behavior, `#2` is picked again.
Diffstat (limited to 'lldb/source/Commands/CommandObjectProcess.cpp')
0 files changed, 0 insertions, 0 deletions