aboutsummaryrefslogtreecommitdiff
path: root/clang/docs
diff options
context:
space:
mode:
authorYounan Zhang <zyn7109@gmail.com>2024-06-13 17:47:03 +0800
committerGitHub <noreply@github.com>2024-06-13 17:47:03 +0800
commita144bf2b2511b47fc165755817eda17f79ef5476 (patch)
tree506702f82f0e3a99de5362ca94f797e039ec0152 /clang/docs
parent3475116e2c37a2c8a69658b36c02871c322da008 (diff)
downloadllvm-a144bf2b2511b47fc165755817eda17f79ef5476.zip
llvm-a144bf2b2511b47fc165755817eda17f79ef5476.tar.gz
llvm-a144bf2b2511b47fc165755817eda17f79ef5476.tar.bz2
[Clang] Fix handling of brace ellison when building deduction guides (#94889)
Fixes two issues in two ways: 1) The `braced-init-list` consisted of `initializer-list` and `designated-initializer-list`, and thus the designated initializer is subject to [over.match.class.deduct]p1.8, which means the brace elision is also applicable on it for CTAD deduction guides. 2) When forming a deduction guide where the brace elision is applicable, we should also consider the presence of braces within the initializer. For example, given template <class T, class U> struct X { T t[2]; U u[3]; }; X x = {{1, 2}, 3, 4, 5}; we should establish such deduction guide AFAIU: `X(T (&&)[2], U, U, U) -> X<T, U>`. Fixes https://github.com/llvm/llvm-project/issues/64625 Fixes https://github.com/llvm/llvm-project/issues/83368
Diffstat (limited to 'clang/docs')
-rw-r--r--clang/docs/ReleaseNotes.rst1
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 148ff05..8c2f737 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -846,6 +846,7 @@ Bug Fixes to C++ Support
- Fix a crash caused by improper use of ``__array_extent``. (#GH80474)
- Fixed several bugs in capturing variables within unevaluated contexts. (#GH63845), (#GH67260), (#GH69307),
(#GH88081), (#GH89496), (#GH90669) and (#GH91633).
+- Fixed handling of brace ellison when building deduction guides. (#GH64625), (#GH83368).
Bug Fixes to AST Handling
^^^^^^^^^^^^^^^^^^^^^^^^^