Skip to content

[Clang] Make the SizeType, SignedSizeType and PtrdiffType be named sugar types instead of built-in types #143653

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 56 commits into from
Jul 18, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
9628219
Enable __ptrdiff_t
YexuanXiao Jun 10, 2025
33f05ab
Enable __size_t and __unsigned_size_t
YexuanXiao Jun 11, 2025
7e2593e
Revert changes made outside the intended purpose
YexuanXiao Jun 11, 2025
bcc45f0
Add ASTContext::getCanonicalSizeType()
YexuanXiao Jun 11, 2025
9d6235b
Check typedefs are defined in the appropriate scope
YexuanXiao Jun 11, 2025
85cbd4a
Move ssize_t to the global scope, as it must ultimately be provided i…
YexuanXiao Jun 11, 2025
210fe3b
Fix code format
YexuanXiao Jun 12, 2025
ddd73d8
Clarifying support for C89
YexuanXiao Jun 12, 2025
6e207dd
Try add PredefinedSugarType
YexuanXiao Jun 13, 2025
1519032
Fix tests
YexuanXiao Jun 14, 2025
41f1433
Merge pull request #1 from YexuanXiao/predefined-sugar
YexuanXiao Jun 14, 2025
fc57313
Manually resolve conflicts
YexuanXiao Jun 14, 2025
c702c18
Add support for the new Type in FormatString
YexuanXiao Jun 14, 2025
4b62452
Enable __signed_size_t and __ptrdiff_t
YexuanXiao Jun 14, 2025
3ab170b
Update the comment to match the latest impl
YexuanXiao Jun 14, 2025
c26bb5f
Fix comment
YexuanXiao Jun 14, 2025
b53c418
Update tests to match the latest impl
YexuanXiao Jun 14, 2025
46a8ede
Fix the errors pointed out in the review
YexuanXiao Jun 14, 2025
aabc866
Fix enum-to-integer conversion
YexuanXiao Jun 14, 2025
f5acec2
Fix the test of clangd
YexuanXiao Jun 14, 2025
6d427d3
Fix code format
YexuanXiao Jun 14, 2025
b487226
Fix tests
YexuanXiao Jun 14, 2025
a60ff6e
Remove unnecessary #include added by clangd
YexuanXiao Jun 14, 2025
17ef365
Actively initialize SizeType, SignedSizeType, PtrdiffType instead of …
YexuanXiao Jun 15, 2025
dd2a256
Remove the unused function declaration and minor tweaks
YexuanXiao Jun 15, 2025
0bbc668
Use using declarations to expose protected members to simplify the code
YexuanXiao Jun 15, 2025
895efce
Resolve a conflict
YexuanXiao Jun 26, 2025
9ed218e
Temporary remove to resolve the conflict
YexuanXiao Jun 26, 2025
a60f96d
Merge branch 'main' into main
YexuanXiao Jun 26, 2025
faf82b1
Update ASTReader.cpp
YexuanXiao Jun 26, 2025
a10bd96
Fix the test of libc++
YexuanXiao Jun 28, 2025
6a473e0
Fix some simple issues
YexuanXiao Jun 28, 2025
9b9b90a
Fix other issues
YexuanXiao Jun 28, 2025
a753834
Enable HLSL
YexuanXiao Jun 28, 2025
816fef9
Use FoldingSetNode
YexuanXiao Jun 28, 2025
e8420f0
Improved based on the review
YexuanXiao Jun 29, 2025
2d1cb40
Assert out of bounds in advance
YexuanXiao Jun 29, 2025
1274282
Fixed the unset value
YexuanXiao Jun 29, 2025
6b8f27d
Oops, std::array should not be default-initialized
YexuanXiao Jun 29, 2025
33e546e
Simplify the definition of PredefinedSugarTypeLoc
YexuanXiao Jun 30, 2025
f340426
Fix infinite recursion
YexuanXiao Jul 1, 2025
b30617b
Try fix the failed tests on Windows
YexuanXiao Jul 4, 2025
aa1af5f
Merge branch 'main' into main
YexuanXiao Jul 4, 2025
aa2d44b
Merge branch 'main' into main
YexuanXiao Jul 4, 2025
71fe854
Rename Max to NumElements
YexuanXiao Jul 4, 2025
e64becc
Rename Max to NumElements
YexuanXiao Jul 5, 2025
a713ca4
Fix the ambiguity with operator new/delete
YexuanXiao Jul 5, 2025
2b6ab4e
Pass QualType by value
YexuanXiao Jul 5, 2025
ad13fc0
Use hasSameType instead of comparing the canonical forms
YexuanXiao Jul 5, 2025
2906b88
Update FindTargetTests.cpp
YexuanXiao Jul 5, 2025
76826b0
Add relevant logic to lldb to eliminate warnings and try to fix faile…
YexuanXiao Jul 5, 2025
c0a939b
Simplify the check for whether the allocation function has been declared
YexuanXiao Jul 6, 2025
7a0d64a
Improved based on reviews
YexuanXiao Jul 7, 2025
18f967e
Remove the blank line
YexuanXiao Jul 7, 2025
18523f1
Update ReleaseNotes.rst
YexuanXiao Jul 8, 2025
60a2794
Reduce more calls to getCanonicalSizeType
YexuanXiao Jul 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions clang/lib/Sema/SemaExprCXX.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3397,8 +3397,7 @@ void Sema::DeclareGlobalNewDelete() {
GlobalNewDeleteDeclared = true;

QualType VoidPtr = Context.getPointerType(Context.VoidTy);
// FIXME: Why is 'Canonical'SizeType needed here?
QualType SizeT = Context.getCanonicalSizeType();
QualType SizeT = Context.getSizeType();

auto DeclareGlobalAllocationFunctions = [&](OverloadedOperatorKind Kind,
QualType Return, QualType Param) {
Expand Down Expand Up @@ -3455,9 +3454,12 @@ void Sema::DeclareGlobalAllocationFunction(DeclarationName Name,
if (Func->getNumParams() == Params.size()) {
llvm::SmallVector<QualType, 3> FuncParams;
for (auto *P : Func->parameters())
FuncParams.push_back(
Context.getCanonicalType(P->getType().getUnqualifiedType()));
if (llvm::ArrayRef(FuncParams) == Params) {
FuncParams.push_back(P->getType().getUnqualifiedType());
if (std::equal(FuncParams.begin(), FuncParams.end(), Params.begin(),
Params.end(), [&](auto &LT, auto &RT) {
return Context.getCanonicalType(LT) ==
Context.getCanonicalType(RT);
})) {
// Make the function visible to name lookup, even if we found it in
// an unimported module. It either is an implicitly-declared global
// allocation function, or is suppressing that function.
Expand Down
12 changes: 6 additions & 6 deletions clang/test/AST/ast-dump-expr-json.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1728,7 +1728,7 @@ void TestNonADLCall3() {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator new",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void *(unsigned long)"
// CHECK-NEXT: "qualType": "void *(__size_t)"
// CHECK-NEXT: }
// CHECK-NEXT: }
// CHECK-NEXT: },
Expand Down Expand Up @@ -1757,7 +1757,7 @@ void TestNonADLCall3() {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator new",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void *(unsigned long)"
// CHECK-NEXT: "qualType": "void *(__size_t)"
// CHECK-NEXT: }
// CHECK-NEXT: }
// CHECK-NEXT: },
Expand Down Expand Up @@ -1787,7 +1787,7 @@ void TestNonADLCall3() {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator new",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void *(unsigned long)"
// CHECK-NEXT: "qualType": "void *(__size_t)"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
Expand Down Expand Up @@ -1862,7 +1862,7 @@ void TestNonADLCall3() {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator new[]",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void *(unsigned long)"
// CHECK-NEXT: "qualType": "void *(__size_t)"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
Expand Down Expand Up @@ -1940,7 +1940,7 @@ void TestNonADLCall3() {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator new[]",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void *(unsigned long)"
// CHECK-NEXT: "qualType": "void *(__size_t)"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
Expand Down Expand Up @@ -2337,7 +2337,7 @@ void TestNonADLCall3() {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator delete",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
// CHECK-NEXT: "qualType": "void (void *, __size_t) noexcept"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
Expand Down
12 changes: 6 additions & 6 deletions clang/test/AST/ast-dump-expr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -126,23 +126,23 @@ void UnaryExpressions(int *p) {
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:16> 'int *' lvalue ParmVar 0x{{[^ ]*}} 'p' 'int *'

::new int;
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:9> 'int *' global Function 0x{{[^ ]*}} 'operator new' 'void *(unsigned long)'
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:9> 'int *' global Function 0x{{[^ ]*}} 'operator new' 'void *(__size_t)'

new (int);
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:11> 'int *' Function 0x{{[^ ]*}} 'operator new' 'void *(unsigned long)'
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:11> 'int *' Function 0x{{[^ ]*}} 'operator new' 'void *(__size_t)'

new int{12};
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:13> 'int *' Function 0x{{[^ ]*}} 'operator new' 'void *(unsigned long)'
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:13> 'int *' Function 0x{{[^ ]*}} 'operator new' 'void *(__size_t)'
// CHECK-NEXT: InitListExpr 0x{{[^ ]*}} <col:10, col:13> 'int'
// CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:11> 'int' 12

new int[2];
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:12> 'int *' array Function 0x{{[^ ]*}} 'operator new[]' 'void *(unsigned long)'
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:12> 'int *' array Function 0x{{[^ ]*}} 'operator new[]' 'void *(__size_t)'
// CHECK-NEXT: ImplicitCastExpr
// CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:11> 'int' 2

new int[2]{1, 2};
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:18> 'int *' array Function 0x{{[^ ]*}} 'operator new[]' 'void *(unsigned long)'
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:18> 'int *' array Function 0x{{[^ ]*}} 'operator new[]' 'void *(__size_t)'
// CHECK-NEXT: ImplicitCastExpr
// CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:11> 'int' 2
// CHECK-NEXT: InitListExpr 0x{{[^ ]*}} <col:13, col:18> 'int[2]'
Expand All @@ -164,7 +164,7 @@ void UnaryExpressions(int *p) {
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:8> 'int *' lvalue ParmVar 0x{{[^ ]*}} 'p' 'int *'

::delete p;
// CHECK: CXXDeleteExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:12> 'void' global Function 0x{{[^ ]*}} 'operator delete' 'void (void *, unsigned long) noexcept'
// CHECK: CXXDeleteExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:12> 'void' global Function 0x{{[^ ]*}} 'operator delete' 'void (void *, __size_t) noexcept'
// CHECK-NEXT: ImplicitCastExpr
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:12> 'int *' lvalue ParmVar 0x{{[^ ]*}} 'p' 'int *'

Expand Down
50 changes: 29 additions & 21 deletions clang/test/AST/ast-dump-stmt-json.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -963,7 +963,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator new",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void *(unsigned long)"
// CHECK-NEXT: "qualType": "void *(__size_t)"
// CHECK-NEXT: }
// CHECK-NEXT: }
// CHECK-NEXT: }
Expand Down Expand Up @@ -994,7 +994,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator delete",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
// CHECK-NEXT: "qualType": "void (void *, __size_t) noexcept"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
Expand Down Expand Up @@ -1126,7 +1126,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator new[]",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void *(unsigned long)"
// CHECK-NEXT: "qualType": "void *(__size_t)"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
Expand Down Expand Up @@ -1338,7 +1338,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator new",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void *(unsigned long)"
// CHECK-NEXT: "qualType": "void *(__size_t)"
// CHECK-NEXT: }
// CHECK-NEXT: }
// CHECK-NEXT: }
Expand Down Expand Up @@ -1370,7 +1370,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator delete",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
// CHECK-NEXT: "qualType": "void (void *, __size_t) noexcept"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
Expand Down Expand Up @@ -1445,7 +1445,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "name": "operator new",
// CHECK-NEXT: "mangledName": "_Znwm",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void *(unsigned long)"
// CHECK-NEXT: "qualType": "void *(__size_t)"
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
Expand All @@ -1458,7 +1458,8 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: },
// CHECK-NEXT: "isImplicit": true,
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "unsigned long"
// CHECK-NEXT: "desugaredQualType": "unsigned long",
// CHECK-NEXT: "qualType": "__size_t"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: {
Expand Down Expand Up @@ -1504,7 +1505,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "name": "operator new",
// CHECK-NEXT: "mangledName": "_ZnwmSt11align_val_t",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void *(unsigned long, std::align_val_t)"
// CHECK-NEXT: "qualType": "void *(__size_t, std::align_val_t)"
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
Expand All @@ -1517,7 +1518,8 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: },
// CHECK-NEXT: "isImplicit": true,
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "unsigned long"
// CHECK-NEXT: "desugaredQualType": "unsigned long",
// CHECK-NEXT: "qualType": "__size_t"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: {
Expand Down Expand Up @@ -1586,7 +1588,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "name": "operator new[]",
// CHECK-NEXT: "mangledName": "_Znam",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void *(unsigned long)"
// CHECK-NEXT: "qualType": "void *(__size_t)"
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
Expand All @@ -1599,7 +1601,8 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: },
// CHECK-NEXT: "isImplicit": true,
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "unsigned long"
// CHECK-NEXT: "desugaredQualType": "unsigned long",
// CHECK-NEXT: "qualType": "__size_t"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: {
Expand Down Expand Up @@ -1645,7 +1648,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "name": "operator new[]",
// CHECK-NEXT: "mangledName": "_ZnamSt11align_val_t",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void *(unsigned long, std::align_val_t)"
// CHECK-NEXT: "qualType": "void *(__size_t, std::align_val_t)"
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
Expand All @@ -1658,7 +1661,8 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: },
// CHECK-NEXT: "isImplicit": true,
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "unsigned long"
// CHECK-NEXT: "desugaredQualType": "unsigned long",
// CHECK-NEXT: "qualType": "__size_t"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: {
Expand Down Expand Up @@ -1822,7 +1826,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "name": "operator delete",
// CHECK-NEXT: "mangledName": "_ZdlPvm",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
// CHECK-NEXT: "qualType": "void (void *, __size_t) noexcept"
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
Expand All @@ -1848,7 +1852,8 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: },
// CHECK-NEXT: "isImplicit": true,
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "unsigned long"
// CHECK-NEXT: "desugaredQualType": "unsigned long",
// CHECK-NEXT: "qualType": "__size_t"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: {
Expand All @@ -1875,7 +1880,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "name": "operator delete",
// CHECK-NEXT: "mangledName": "_ZdlPvmSt11align_val_t",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void (void *, unsigned long, std::align_val_t) noexcept"
// CHECK-NEXT: "qualType": "void (void *, __size_t, std::align_val_t) noexcept"
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
Expand All @@ -1901,7 +1906,8 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: },
// CHECK-NEXT: "isImplicit": true,
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "unsigned long"
// CHECK-NEXT: "desugaredQualType": "unsigned long",
// CHECK-NEXT: "qualType": "__size_t"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: {
Expand Down Expand Up @@ -2037,7 +2043,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "name": "operator delete[]",
// CHECK-NEXT: "mangledName": "_ZdaPvm",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
// CHECK-NEXT: "qualType": "void (void *, __size_t) noexcept"
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
Expand All @@ -2063,7 +2069,8 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: },
// CHECK-NEXT: "isImplicit": true,
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "unsigned long"
// CHECK-NEXT: "desugaredQualType": "unsigned long",
// CHECK-NEXT: "qualType": "__size_t"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: {
Expand All @@ -2090,7 +2097,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "name": "operator delete[]",
// CHECK-NEXT: "mangledName": "_ZdaPvmSt11align_val_t",
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "void (void *, unsigned long, std::align_val_t) noexcept"
// CHECK-NEXT: "qualType": "void (void *, __size_t, std::align_val_t) noexcept"
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
// CHECK-NEXT: {
Expand All @@ -2116,7 +2123,8 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: },
// CHECK-NEXT: "isImplicit": true,
// CHECK-NEXT: "type": {
// CHECK-NEXT: "qualType": "unsigned long"
// CHECK-NEXT: "desugaredQualType": "unsigned long",
// CHECK-NEXT: "qualType": "__size_t"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: {
Expand Down
Loading