[all-commits] [llvm/llvm-project] 8b7dc4: [clang] Fix issue with FoldingSet and DependentTem...
premanandrao via All-commits
all-commits at lists.llvm.org
Fri Jul 25 12:21:51 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 8b7dc4cadb622e2b4a13155bffa5cec8c8fb6b8b
https://github.com/llvm/llvm-project/commit/8b7dc4cadb622e2b4a13155bffa5cec8c8fb6b8b
Author: premanandrao <premanand.m.rao at intel.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTContext.cpp
A clang/test/Parser/dep_template_spec_type.cpp
Log Message:
-----------
[clang] Fix issue with FoldingSet and DependentTemplateSpecialization… (#150559)
…Type
PR #118288 fixed a re-entrancy issue with the usage of `FoldingSet` and
`AutoType`. The following test case (reduced with `creduce` by
@Fznamznon):
```
template <typename C, typename S1, int rbits>
typename C::A Bar(const S1& x, const C& c = C()) {
using T = typename C::A;
T result;
using PreC = typename C::template boop<T::p + rbits>;
using ExactC = typename C::template bap<PreC::p + 2>;
using D = typename ExactC::A;
return result;
}
```
shows a similar non-deterministic recursion with the use of `FoldingSet`
but with `DependentTemplateSepcializationType`. A nearly identical fix
is needed here too.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list