diff options
author | Ilya Biryukov <ibiryukov@google.com> | 2023-05-09 12:06:32 +0200 |
---|---|---|
committer | Ilya Biryukov <ibiryukov@google.com> | 2023-05-09 12:06:33 +0200 |
commit | 629170fe452f4849c89fc289d6e2cf5f08534342 (patch) | |
tree | 12f131ce2363a1704d730a5ff3c5dd636e6af805 /clang/lib/Frontend/FrontendActions.cpp | |
parent | 709098fb38b50ea376704f83b373bd41f0ed0cba (diff) | |
download | llvm-629170fe452f4849c89fc289d6e2cf5f08534342.zip llvm-629170fe452f4849c89fc289d6e2cf5f08534342.tar.gz llvm-629170fe452f4849c89fc289d6e2cf5f08534342.tar.bz2 |
[Sema] Lambdas are not part of immediate context for deduction
This commit implements [temp.deduct]p9.
Test updates include:
- New notes in `cxx1y-init-captures.cpp`, `lambda-expressions.cpp`
and 'warn-unused-lambda-capture.cpp'.
This seems to be caused by diagnosing errors earlier (during
deduction) that were previously surfaced later (during
instantiation).
- New error `lambda-unevaluated.cpp` is in line with [temp.deduct]p9.
Reviewed By: erichkeane, #clang-language-wg
Differential Revision: https://reviews.llvm.org/D148802
Diffstat (limited to 'clang/lib/Frontend/FrontendActions.cpp')
-rw-r--r-- | clang/lib/Frontend/FrontendActions.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Frontend/FrontendActions.cpp b/clang/lib/Frontend/FrontendActions.cpp index c947772..f62a29c 100644 --- a/clang/lib/Frontend/FrontendActions.cpp +++ b/clang/lib/Frontend/FrontendActions.cpp @@ -372,6 +372,8 @@ private: return "ExplicitTemplateArgumentSubstitution"; case CodeSynthesisContext::DeducedTemplateArgumentSubstitution: return "DeducedTemplateArgumentSubstitution"; + case CodeSynthesisContext::LambdaExpressionSubstitution: + return "LambdaExpressionSubstitution"; case CodeSynthesisContext::PriorTemplateArgumentSubstitution: return "PriorTemplateArgumentSubstitution"; case CodeSynthesisContext::DefaultTemplateArgumentChecking: |