@@ -2475,7 +2475,7 @@ Type* Parser::WalkType(clang::QualType QualType, const clang::TypeLoc* TL,
2475
2475
TST->_template = static_cast <Template*>(WalkDeclaration (
2476
2476
Name.getAsTemplateDecl ()));
2477
2477
if (TS->isSugared ())
2478
- TST->desugared = GetQualifiedType (TS->desugar (), TL);
2478
+ TST->desugared = GetQualifiedType (TS->getCanonicalTypeInternal (), TL);
2479
2479
2480
2480
TypeLoc UTL, ETL, ITL;
2481
2481
@@ -2518,7 +2518,7 @@ Type* Parser::WalkType(clang::QualType QualType, const clang::TypeLoc* TL,
2518
2518
auto TST = new DependentTemplateSpecializationType ();
2519
2519
2520
2520
if (TS->isSugared ())
2521
- TST->desugared = GetQualifiedType (TS->desugar (), TL);
2521
+ TST->desugared = GetQualifiedType (TS->getCanonicalTypeInternal (), TL);
2522
2522
2523
2523
TypeLoc UTL, ETL, ITL;
2524
2524
@@ -2706,7 +2706,7 @@ Type* Parser::WalkType(clang::QualType QualType, const clang::TypeLoc* TL,
2706
2706
2707
2707
auto UTT = new UnaryTransformType ();
2708
2708
auto Loc = TL->getAs <UnaryTransformTypeLoc>().getUnderlyingTInfo ()->getTypeLoc ();
2709
- UTT->desugared = GetQualifiedType (UT->isSugared () ? UT->desugar () : UT->getBaseType (), &Loc);
2709
+ UTT->desugared = GetQualifiedType (UT->isSugared () ? UT->getCanonicalTypeInternal () : UT->getBaseType (), &Loc);
2710
2710
UTT->baseType = GetQualifiedType (UT->getBaseType (), &Loc);
2711
2711
2712
2712
Ty = UTT;
@@ -2733,7 +2733,7 @@ Type* Parser::WalkType(clang::QualType QualType, const clang::TypeLoc* TL,
2733
2733
{
2734
2734
auto AT = Type->getAs <clang::AutoType>();
2735
2735
if (AT->isSugared ())
2736
- Ty = WalkType (AT->desugar ());
2736
+ Ty = WalkType (AT->getCanonicalTypeInternal ());
2737
2737
else
2738
2738
return nullptr ;
2739
2739
break ;
0 commit comments