diff options
author | Younan Zhang <zyn7109@gmail.com> | 2024-07-10 12:51:27 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-10 12:51:27 +0800 |
commit | 869ac4064861b7e644ae52a72fb80efacfd86462 (patch) | |
tree | 1e3ef70df3294747249dffe87c0dff1bc850ba38 /llvm/lib/CodeGen/MachineBasicBlock.cpp | |
parent | d3923354a4c96f20c09b3991afb8c30804ed7a21 (diff) | |
download | llvm-869ac4064861b7e644ae52a72fb80efacfd86462.zip llvm-869ac4064861b7e644ae52a72fb80efacfd86462.tar.gz llvm-869ac4064861b7e644ae52a72fb80efacfd86462.tar.bz2 |
[Clang][Sema] Substitute for the type aliases inside of a CTAD guide (#94740)
Similar to the approach of handling nested class templates when building
a CTAD guide, we substitute the template parameters of a type alias
declaration with the instantiating template arguments in order to ensure
the guide eventually doesn't reference any outer template parameters.
For example,
```cpp
template <class T> struct Outer {
using Alias = S<T>;
template <class U> struct Inner {
Inner(Alias);
};
};
```
we used to retain the reference to T accidentally because the
TreeTransform does nothing on type alias Decls by default.
Fixes https://github.com/llvm/llvm-project/issues/94614
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions