[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)

via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jul 7 08:12:02 PDT 2025


================
@@ -2258,6 +2258,30 @@ class alignas(TypeAlignment) Type : public ExtQualsTypeCommonBase {
     unsigned NumExpansions;
   };
 
+  enum class PredefinedSugarKind {
+    /// The "size_t" type.
+    SizeT,
+
+    /// The signed integer type corresponding to "size_t".
+    SignedSizeT,
+
+    /// The "ptrdiff_t" type.
+    PtrdiffT,
+
+    // Indicates how many items the enum has.
+    NumElements
----------------
YexuanXiao wrote:

It is used to create an array for caching the types corresponding to each kind.

https://github.com/llvm/llvm-project/blob/c0a939b5c7bfd083c23b7bf54de53b04081382f8/clang/include/clang/AST/ASTContext.h#L280-L283

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


More information about the libcxx-commits mailing list