[clang] [Clang] Fix crash when transforming a `DependentAddressSpaceType` (PR #102206)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 6 12:46:52 PDT 2024
================
@@ -5838,7 +5839,7 @@ QualType TreeTransform<Derived>::TransformDependentAddressSpaceType(
} else {
TypeSourceInfo *DI = getSema().Context.getTrivialTypeSourceInfo(
Result, getDerived().getBaseLocation());
- TransformType(TLB, DI->getTypeLoc());
+ TLB.TypeWasModifiedSafely(DI->getType());
----------------
Sirraide wrote:
I’m candidly not familiar enough with `TypeLocBuilder` to know if this is the correct solution to this, but without this, we now crash if the resulting type *isn’t* dependent, e.g. in
```c++
template <int AS>
using ASPtrTy = void [[clang::address_space(AS)]] *;
ASPtrTy<1> x;
```
https://github.com/llvm/llvm-project/pull/102206
More information about the cfe-commits
mailing list