diff options
author | Krystian Stasiowski <sdkrystian@gmail.com> | 2024-04-25 14:50:53 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-25 14:50:53 -0400 |
commit | a8fd0d029dca7d17eee72d0445223c2fe1ee7758 (patch) | |
tree | b66af9e89c29d9ece5c0b23f3cc708eafc70c55d /clang/lib/CodeGen/CodeGenModule.h | |
parent | 2f2e31c3c980407b2660b4f5d10e7cdb3fa79138 (diff) | |
download | llvm-a8fd0d029dca7d17eee72d0445223c2fe1ee7758.zip llvm-a8fd0d029dca7d17eee72d0445223c2fe1ee7758.tar.gz llvm-a8fd0d029dca7d17eee72d0445223c2fe1ee7758.tar.bz2 |
[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes (#84050)
Consider the following:
```cpp
template<typename T>
struct A
{
auto f()
{
return this->x;
}
};
```
Although `A` has no dependent base classes and the lookup context for
`x` is the current instantiation, we currently do not diagnose the
absence of a member `x` until `A<T>::f` is instantiated. This patch
moves the point of diagnosis for such expressions to occur at the point
of definition (i.e. prior to instantiation).
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
0 files changed, 0 insertions, 0 deletions