Revert "[clang] template / auto deduction deduces common sugar"
authorAlexander Kornienko <alexfh@google.com>
Tue, 13 Sep 2022 10:09:40 +0000 (12:09 +0200)
committerAlexander Kornienko <alexfh@google.com>
Tue, 13 Sep 2022 10:18:07 +0000 (12:18 +0200)
commit637da9de4c6619c0e179c2c2f0dbfebd08ac2a0f
treecdb7fa4ca6e0bd79d51a841e9b893f6d43ddfa06
parent0b8a44388ec59abe8e91c5ead535f2f8de0f05f8
Revert "[clang] template / auto deduction deduces common sugar"

This reverts commit d200db38637884fd0b421802c6094b2a03ceb29e, which causes a
clang crash. See https://reviews.llvm.org/D111283#3785755

Test case for convenience:
```
template <typename T>
using P = int T::*;

template <typename T, typename... A>
void j(P<T>, T, A...);

template <typename T>
void j(P<T>, T);

struct S {
  int b;
};
void g(P<S> k, S s) { j(k, s); }
```
17 files changed:
clang-tools-extra/clangd/unittests/ASTTests.cpp
clang-tools-extra/clangd/unittests/HoverTests.cpp
clang/include/clang/AST/ASTContext.h
clang/include/clang/AST/Type.h
clang/include/clang/Sema/Sema.h
clang/lib/AST/ASTContext.cpp
clang/lib/Sema/SemaDecl.cpp
clang/lib/Sema/SemaDeclCXX.cpp
clang/lib/Sema/SemaExprCXX.cpp
clang/lib/Sema/SemaOverload.cpp
clang/lib/Sema/SemaStmt.cpp
clang/lib/Sema/SemaTemplate.cpp
clang/lib/Sema/SemaTemplateDeduction.cpp
clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp
clang/test/SemaCXX/deduced-return-void.cpp
clang/test/SemaCXX/sugared-auto.cpp
clang/test/SemaTemplate/deduction.cpp