@@ -295,7 +295,8 @@ template <class T> class OMPVarListClause : public OMPClause {
295
295
296
296
// / Fetches list of variables associated with this clause.
297
297
MutableArrayRef<Expr *> getVarRefs () {
298
- return static_cast <T *>(this )->template getTrailingObjects <Expr *>(NumVars);
298
+ return static_cast <T *>(this )
299
+ ->template getTrailingObjects <Expr *, /* Strict=*/ false >(NumVars);
299
300
}
300
301
301
302
// / Sets the list of variables for this clause.
@@ -334,8 +335,8 @@ template <class T> class OMPVarListClause : public OMPClause {
334
335
335
336
// / Fetches list of all variables in the clause.
336
337
ArrayRef<const Expr *> getVarRefs () const {
337
- return static_cast <const T *>(this )-> template getTrailingObjects <Expr *>(
338
- NumVars);
338
+ return static_cast <const T *>(this )
339
+ -> template getTrailingObjects <Expr *, /* Strict= */ false >( NumVars);
339
340
}
340
341
};
341
342
@@ -380,7 +381,8 @@ template <class T> class OMPDirectiveListClause : public OMPClause {
380
381
381
382
MutableArrayRef<OpenMPDirectiveKind> getDirectiveKinds () {
382
383
return static_cast <T *>(this )
383
- ->template getTrailingObjects <OpenMPDirectiveKind>(NumKinds);
384
+ ->template getTrailingObjects <OpenMPDirectiveKind, /* Strict=*/ false >(
385
+ NumKinds);
384
386
}
385
387
386
388
void setDirectiveKinds (ArrayRef<OpenMPDirectiveKind> DK) {
@@ -5901,15 +5903,17 @@ class OMPMappableExprListClause : public OMPVarListClause<T>,
5901
5903
// / Get the unique declarations that are in the trailing objects of the
5902
5904
// / class.
5903
5905
MutableArrayRef<ValueDecl *> getUniqueDeclsRef () {
5904
- return static_cast <T *>(this )->template getTrailingObjects <ValueDecl *>(
5905
- NumUniqueDeclarations);
5906
+ return static_cast <T *>(this )
5907
+ ->template getTrailingObjects <ValueDecl *, /* Strict=*/ false >(
5908
+ NumUniqueDeclarations);
5906
5909
}
5907
5910
5908
5911
// / Get the unique declarations that are in the trailing objects of the
5909
5912
// / class.
5910
5913
ArrayRef<ValueDecl *> getUniqueDeclsRef () const {
5911
5914
return static_cast <const T *>(this )
5912
- ->template getTrailingObjects <ValueDecl *>(NumUniqueDeclarations);
5915
+ ->template getTrailingObjects <ValueDecl *, /* Strict=*/ false >(
5916
+ NumUniqueDeclarations);
5913
5917
}
5914
5918
5915
5919
// / Set the unique declarations that are in the trailing objects of the
@@ -5923,15 +5927,17 @@ class OMPMappableExprListClause : public OMPVarListClause<T>,
5923
5927
// / Get the number of lists per declaration that are in the trailing
5924
5928
// / objects of the class.
5925
5929
MutableArrayRef<unsigned > getDeclNumListsRef () {
5926
- return static_cast <T *>(this )->template getTrailingObjects <unsigned >(
5927
- NumUniqueDeclarations);
5930
+ return static_cast <T *>(this )
5931
+ ->template getTrailingObjects <unsigned , /* Strict=*/ false >(
5932
+ NumUniqueDeclarations);
5928
5933
}
5929
5934
5930
5935
// / Get the number of lists per declaration that are in the trailing
5931
5936
// / objects of the class.
5932
5937
ArrayRef<unsigned > getDeclNumListsRef () const {
5933
- return static_cast <const T *>(this )->template getTrailingObjects <unsigned >(
5934
- NumUniqueDeclarations);
5938
+ return static_cast <const T *>(this )
5939
+ ->template getTrailingObjects <unsigned , /* Strict=*/ false >(
5940
+ NumUniqueDeclarations);
5935
5941
}
5936
5942
5937
5943
// / Set the number of lists per declaration that are in the trailing
@@ -5946,7 +5952,8 @@ class OMPMappableExprListClause : public OMPVarListClause<T>,
5946
5952
// / objects of the class. They are appended after the number of lists.
5947
5953
MutableArrayRef<unsigned > getComponentListSizesRef () {
5948
5954
return MutableArrayRef<unsigned >(
5949
- static_cast <T *>(this )->template getTrailingObjects <unsigned >() +
5955
+ static_cast <T *>(this )
5956
+ ->template getTrailingObjects <unsigned , /* Strict=*/ false >() +
5950
5957
NumUniqueDeclarations,
5951
5958
NumComponentLists);
5952
5959
}
@@ -5955,7 +5962,8 @@ class OMPMappableExprListClause : public OMPVarListClause<T>,
5955
5962
// / objects of the class. They are appended after the number of lists.
5956
5963
ArrayRef<unsigned > getComponentListSizesRef () const {
5957
5964
return ArrayRef<unsigned >(
5958
- static_cast <const T *>(this )->template getTrailingObjects <unsigned >() +
5965
+ static_cast <const T *>(this )
5966
+ ->template getTrailingObjects <unsigned , /* Strict=*/ false >() +
5959
5967
NumUniqueDeclarations,
5960
5968
NumComponentLists);
5961
5969
}
@@ -5971,13 +5979,15 @@ class OMPMappableExprListClause : public OMPVarListClause<T>,
5971
5979
// / Get the components that are in the trailing objects of the class.
5972
5980
MutableArrayRef<MappableComponent> getComponentsRef () {
5973
5981
return static_cast <T *>(this )
5974
- ->template getTrailingObjects <MappableComponent>(NumComponents);
5982
+ ->template getTrailingObjects <MappableComponent, /* Strict=*/ false >(
5983
+ NumComponents);
5975
5984
}
5976
5985
5977
5986
// / Get the components that are in the trailing objects of the class.
5978
5987
ArrayRef<MappableComponent> getComponentsRef () const {
5979
5988
return static_cast <const T *>(this )
5980
- ->template getTrailingObjects <MappableComponent>(NumComponents);
5989
+ ->template getTrailingObjects <MappableComponent, /* Strict=*/ false >(
5990
+ NumComponents);
5981
5991
}
5982
5992
5983
5993
// / Set the components that are in the trailing objects of the class.
@@ -6084,7 +6094,8 @@ class OMPMappableExprListClause : public OMPVarListClause<T>,
6084
6094
assert (SupportsMapper &&
6085
6095
" Must be a clause that is possible to have user-defined mappers" );
6086
6096
return llvm::MutableArrayRef<Expr *>(
6087
- static_cast <T *>(this )->template getTrailingObjects <Expr *>() +
6097
+ static_cast <T *>(this )
6098
+ ->template getTrailingObjects <Expr *, /* Strict=*/ false >() +
6088
6099
OMPVarListClause<T>::varlist_size (),
6089
6100
OMPVarListClause<T>::varlist_size ());
6090
6101
}
@@ -6095,7 +6106,8 @@ class OMPMappableExprListClause : public OMPVarListClause<T>,
6095
6106
assert (SupportsMapper &&
6096
6107
" Must be a clause that is possible to have user-defined mappers" );
6097
6108
return llvm::ArrayRef<Expr *>(
6098
- static_cast <const T *>(this )->template getTrailingObjects <Expr *>() +
6109
+ static_cast <const T *>(this )
6110
+ ->template getTrailingObjects <Expr *, /* Strict=*/ false >() +
6099
6111
OMPVarListClause<T>::varlist_size (),
6100
6112
OMPVarListClause<T>::varlist_size ());
6101
6113
}
0 commit comments