@@ -1246,11 +1246,6 @@ class SyclKernelDeclCreator
1246
1246
return true ;
1247
1247
}
1248
1248
1249
- // FIXME Remove this function when structs are replaced by their fields
1250
- bool handleStructType (FieldDecl *FD, QualType FieldTy) final {
1251
- return true ;
1252
- }
1253
-
1254
1249
bool handleSyclHalfType (FieldDecl *FD, QualType FieldTy) final {
1255
1250
addParam (FD, FieldTy);
1256
1251
return true ;
@@ -1568,11 +1563,6 @@ class SyclKernelBodyCreator
1568
1563
return true ;
1569
1564
}
1570
1565
1571
- // FIXME Remove this function when structs are replaced by their fields
1572
- bool handleStructType (FieldDecl *FD, QualType FieldTy) final {
1573
- return true ;
1574
- }
1575
-
1576
1566
bool handleScalarType (FieldDecl *FD, QualType FieldTy) final {
1577
1567
if (dyn_cast<ArraySubscriptExpr>(MemberExprBases.back ()))
1578
1568
createExprForScalarElement (FD);
@@ -1581,8 +1571,6 @@ class SyclKernelBodyCreator
1581
1571
return true ;
1582
1572
}
1583
1573
1584
- bool enterStruct (const CXXRecordDecl *, FieldDecl *FD) final {}
1585
-
1586
1574
bool enterStruct (const CXXRecordDecl *RD, const CXXBaseSpecifier &BS) final {
1587
1575
CXXCastPath BasePath;
1588
1576
QualType DerivedTy (RD->getTypeForDecl (), 0 );
@@ -1594,6 +1582,7 @@ class SyclKernelBodyCreator
1594
1582
SemaRef.Context , BaseTy, CK_DerivedToBase, MemberExprBases.back (),
1595
1583
/* CXXCastPath=*/ &BasePath, VK_LValue);
1596
1584
MemberExprBases.push_back (Cast);
1585
+ return true ;
1597
1586
}
1598
1587
1599
1588
void addStructInit (const CXXRecordDecl *RD) {
@@ -1633,12 +1622,14 @@ class SyclKernelBodyCreator
1633
1622
InitExprs.pop_back ();
1634
1623
}
1635
1624
}
1625
+ return true ;
1636
1626
}
1637
1627
1638
1628
bool leaveStruct (const CXXRecordDecl *RD, const CXXBaseSpecifier &BS) final {
1639
1629
const CXXRecordDecl *BaseClass = BS.getType ()->getAsCXXRecordDecl ();
1640
1630
addStructInit (BaseClass);
1641
1631
MemberExprBases.pop_back ();
1632
+ return true ;
1642
1633
}
1643
1634
1644
1635
bool enterField (const CXXRecordDecl *RD, FieldDecl *FD) final {
@@ -1687,11 +1678,13 @@ class SyclKernelBodyCreator
1687
1678
1688
1679
using SyclKernelFieldHandler::enterArray;
1689
1680
using SyclKernelFieldHandler::enterField;
1681
+ using SyclKernelFieldHandler::enterStruct;
1690
1682
using SyclKernelFieldHandler::handleScalarType;
1691
1683
using SyclKernelFieldHandler::handleSyclHalfType;
1692
1684
using SyclKernelFieldHandler::handleSyclSamplerType;
1693
1685
using SyclKernelFieldHandler::leaveArray;
1694
1686
using SyclKernelFieldHandler::leaveField;
1687
+ using SyclKernelFieldHandler::leaveStruct;
1695
1688
};
1696
1689
1697
1690
class SyclKernelIntHeaderCreator
@@ -1786,11 +1779,6 @@ class SyclKernelIntHeaderCreator
1786
1779
return true ;
1787
1780
}
1788
1781
1789
- // FIXME Remove this function when structs are replaced by their fields
1790
- bool handleStructType (FieldDecl *FD, QualType FieldTy) final {
1791
- return true ;
1792
- }
1793
-
1794
1782
bool handleScalarType (FieldDecl *FD, QualType FieldTy) final {
1795
1783
addParam (FD, FieldTy, SYCLIntegrationHeader::kind_std_layout);
1796
1784
return true ;
0 commit comments