[libcxx-commits] [clang] [clang-tools-extra] [libcxx] [Clang] Make the SizeType, SignedSizeType and PtrdiffType be named sugar types instead of built-in types (PR #143653)

Matheus Izvekov via libcxx-commits libcxx-commits at lists.llvm.org
Sat Jun 28 19:09:45 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;
+}
----------------
mizvekov wrote:

Yeah I understand you need to define the function.

But I suspect this will ever be called in this patch, and I don't think anyone would ever want to transform these types, so we could make this function unreachable.

https://github.com/llvm/llvm-project/pull/143653


More information about the libcxx-commits mailing list