Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3 |
|
#
00139ae1 |
| 09-Aug-2024 |
Matheus Izvekov <mizvekov@gmail.com> |
Revert "[clang] Reland: Instantiate concepts with sugared template arguments (#101782)" (#102551)
|
Revision tags: llvmorg-19.1.0-rc2 |
|
#
74837118 |
| 05-Aug-2024 |
Matheus Izvekov <mizvekov@gmail.com> |
[clang] Reland: Instantiate concepts with sugared template arguments (#101782)
|
Revision tags: llvmorg-19.1.0-rc1, llvmorg-20-init |
|
#
a091bfe7 |
| 22-Jun-2024 |
Zhikai Zeng <backlight.zzk@gmail.com> |
[Clang] fix access checking inside return-type-requirement of compound requirements (#95651)
fixes https://github.com/llvm/llvm-project/issues/93788 .
|
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init |
|
#
12cb1cb3 |
| 17-Jan-2023 |
Erich Keane <erich.keane@intel.com> |
Revert "[clang] Instantiate concepts with sugared template arguments"
This reverts commit b8064374b217db061213c561ec8f3376681ff9c8.
Based on the report here: https://github.com/llvm/llvm-project/is
Revert "[clang] Instantiate concepts with sugared template arguments"
This reverts commit b8064374b217db061213c561ec8f3376681ff9c8.
Based on the report here: https://github.com/llvm/llvm-project/issues/59271
this produces a significant increase in memory use of the compiler and a large compile-time regression. This patch reverts this so that we don't branch for release with that issue.
show more ...
|
Revision tags: llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4 |
|
#
b8064374 |
| 23-Oct-2022 |
Matheus Izvekov <mizvekov@gmail.com> |
[clang] Instantiate concepts with sugared template arguments
Since we don't unique specializations for concepts, we can just instantiate them with the sugared template arguments, at negligible cost.
[clang] Instantiate concepts with sugared template arguments
Since we don't unique specializations for concepts, we can just instantiate them with the sugared template arguments, at negligible cost.
If we don't track their specializations, we can't resugar them later anyway, and that would be more expensive than just instantiating them sugared in the first place since it would require an additional pass.
Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Differential Revision: https://reviews.llvm.org/D136566
show more ...
|
#
31074f5e |
| 26-Oct-2022 |
Matheus Izvekov <mizvekov@gmail.com> |
Revert "[clang] Instantiate concepts with sugared template arguments"
This reverts commit d0a6de59c78010118fea811514e03ed9f400215a.
|
#
d0a6de59 |
| 23-Oct-2022 |
Matheus Izvekov <mizvekov@gmail.com> |
[clang] Instantiate concepts with sugared template arguments
Since we don't unique specializations for concepts, we can just instantiate them with the sugared template arguments, at negligible cost.
[clang] Instantiate concepts with sugared template arguments
Since we don't unique specializations for concepts, we can just instantiate them with the sugared template arguments, at negligible cost.
If we don't track their specializations, we can't resugar them later anyway, and that would be more expensive than just instantiating them sugared in the first place since it would require an additional pass.
Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Differential Revision: https://reviews.llvm.org/D136566
show more ...
|
Revision tags: llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3 |
|
#
3ad6dd5d |
| 08-Mar-2021 |
Matheus Izvekov <mizvekov@gmail.com> |
[clang] Use decltype((E)) for compound requirement type constraint
See PR45088.
Compound requirement type constraints were using decltype(E) instead of decltype((E)), as per `[expr.prim.req]p1.3.3`
[clang] Use decltype((E)) for compound requirement type constraint
See PR45088.
Compound requirement type constraints were using decltype(E) instead of decltype((E)), as per `[expr.prim.req]p1.3.3`.
Since neither instantiation nor type dependence should matter for the constraints, this uses an approach where a `decltype` type is not built, and just the canonical type of the expression after template instantiation is used on the requirement.
Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Reviewed By: rsmith
Differential Revision: https://reviews.llvm.org/D98160
show more ...
|
Revision tags: llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1 |
|
#
67c608a9 |
| 23-Jan-2020 |
Saar Raz <saar@raz.email> |
[Concepts] Deprecate -fconcepts-ts, enable Concepts under -std=c++2a
Now with concepts support merged and mostly complete, we do not need -fconcepts-ts (which was also misleading as we were not impl
[Concepts] Deprecate -fconcepts-ts, enable Concepts under -std=c++2a
Now with concepts support merged and mostly complete, we do not need -fconcepts-ts (which was also misleading as we were not implementing the TS) and can enable concepts features under C++2a. A warning will be generated if users still attempt to use -fconcepts-ts.
show more ...
|
#
a0f50d73 |
| 18-Jan-2020 |
Saar Raz <saar@raz.email> |
[Concepts] Requires Expressions
Implement support for C++2a requires-expressions.
Re-commit after compilation failure on some platforms due to alignment issues with PointerIntPair.
Differential Re
[Concepts] Requires Expressions
Implement support for C++2a requires-expressions.
Re-commit after compilation failure on some platforms due to alignment issues with PointerIntPair.
Differential Revision: https://reviews.llvm.org/D50360
show more ...
|
#
02793189 |
| 18-Jan-2020 |
Saar Raz <saar@raz.email> |
[Concepts] Requires Expressions
Implement support for C++2a requires-expressions.
Differential Revision: https://reviews.llvm.org/D50360
|