================ @@ -2400,7 +2402,66 @@ bool Type::isWebAssemblyTableType() const { return false; } -bool Type::isSizelessType() const { return isSizelessBuiltinType(); } +bool Type::isSizelessType() const { + // Check if this type or any of its constituents are sizeless, due to + // being a builtin type or individually having the user attribute. + // As structs can be recursive, we iterate through without repeats. + SmallVector<const Type *, 1> todo = {this}; + llvm::SmallPtrSet<const Type *, 1> done; ---------------- tbaederr wrote:
```suggestion llvm::SmallPtrSet<const Type *, 1> Done; ``` https://github.com/llvm/llvm-project/pull/71894 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits