diff options
author | Fred Tingaud <frederic.tingaud@sonarsource.com> | 2022-05-05 15:03:12 +0200 |
---|---|---|
committer | Marco Antognini <marco.antognini@sonarsource.com> | 2022-05-05 16:03:39 +0200 |
commit | c894e85fc64dd8d83b460de81080fff93c5ca334 (patch) | |
tree | 9af550645be39fbbee16667b0970d9e1694a7998 /clang/lib/Frontend/CreateInvocationFromCommandLine.cpp | |
parent | 08b20f20d2854377009822dfe597c78a4bf18de8 (diff) | |
download | llvm-c894e85fc64dd8d83b460de81080fff93c5ca334.zip llvm-c894e85fc64dd8d83b460de81080fff93c5ca334.tar.gz llvm-c894e85fc64dd8d83b460de81080fff93c5ca334.tar.bz2 |
In MSVC compatibility mode, handle unqualified templated base class initialization
Before C++20, MSVC was supporting not mentioning the template argument of the base class when initializing a class inheriting a templated base class.
So the following code compiled correctly:
```
template <class T>
class Base {
};
template <class T>
class Derived : public Base<T> {
public:
Derived() : Base() {}
};
void test() {
Derived<int> d;
}
```
See https://godbolt.org/z/Pxxe7nccx for a conformance view.
This patch adds support for such construct when in MSVC compatibility mode.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D124666
Diffstat (limited to 'clang/lib/Frontend/CreateInvocationFromCommandLine.cpp')
0 files changed, 0 insertions, 0 deletions