[libcxx-commits] [clang] [clang-tools-extra] [libcxx] [lldb] [Clang] Make the SizeType, SignedSizeType and PtrdiffType be named sugar types instead of built-in types (PR #143653)
Erich Keane via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jul 7 08:25:36 PDT 2025
================
@@ -7248,6 +7250,22 @@ QualType TreeTransform<Derived>::TransformDependentBitIntType(
return Result;
}
+template <typename Derived>
+QualType TreeTransform<Derived>::TransformPredefinedSugarType(
+ TypeLocBuilder &TLB, PredefinedSugarTypeLoc TL) {
+ const PredefinedSugarType *EIT = TL.getTypePtr();
+ QualType Result = TL.getType();
+
+ if (getDerived().AlwaysRebuild()) {
+ Result = getDerived().RebuildPredefinedSugarType(
+ llvm::to_underlying(EIT->getKind()));
+ }
+
+ PredefinedSugarTypeLoc NewTL = TLB.push<PredefinedSugarTypeLoc>(Result);
+ NewTL.setNameLoc(TL.getNameLoc());
+ return Result;
+}
----------------
erichkeane wrote:
Ah, so we actually DO have to implement this, `TreeTransform` is used for more than just template instantiation, so we have downstreams who likely are going to be grumpy if this is an unreachable, since this is able to be gotten to with libclang.
https://github.com/llvm/llvm-project/pull/143653
More information about the libcxx-commits
mailing list