@@ -817,12 +817,14 @@ class __SYCL_SPECIAL_CLASS accessor :
817
817
constexpr static int AdjustedDim = Dimensions == 0 ? 1 : Dimensions;
818
818
819
819
using AccessorCommonT::AS;
820
- using AccessorCommonT::IsAccessAnyWrite;
821
- using AccessorCommonT::IsAccessReadOnly;
822
- using AccessorCommonT::IsConstantBuf;
823
- using AccessorCommonT::IsGlobalBuf;
824
- using AccessorCommonT::IsHostBuf;
825
- using AccessorCommonT::IsPlaceH;
820
+ // Cannot do "using AccessorCommonT::Flag" as it doesn't work with g++ as host
821
+ // compiler, for some reason.
822
+ static constexpr bool IsAccessAnyWrite = AccessorCommonT::IsAccessAnyWrite;
823
+ static constexpr bool IsAccessReadOnly = AccessorCommonT::IsAccessReadOnly;
824
+ static constexpr bool IsConstantBuf = AccessorCommonT::IsConstantBuf;
825
+ static constexpr bool IsGlobalBuf = AccessorCommonT::IsGlobalBuf;
826
+ static constexpr bool IsHostBuf = AccessorCommonT::IsHostBuf;
827
+ static constexpr bool IsPlaceH = AccessorCommonT::IsPlaceH;
826
828
template <int Dims>
827
829
using AccessorSubscript =
828
830
typename AccessorCommonT::template AccessorSubscript<Dims>;
@@ -1986,27 +1988,27 @@ accessor(buffer<DataT, Dimensions, AllocatorT>, Type1, Type2, Type3, Type4,
1986
1988
ext::oneapi::accessor_property_list<PropsT...>>;
1987
1989
1988
1990
template <typename DataT, int Dimensions, typename AllocatorT>
1989
- accessor (buffer<DataT, Dimensions, AllocatorT>, handler)
1991
+ accessor (buffer<DataT, Dimensions, AllocatorT>, handler & )
1990
1992
-> accessor<DataT, Dimensions, access::mode::read_write, target::device,
1991
1993
access::placeholder::false_t >;
1992
1994
1993
1995
template <typename DataT, int Dimensions, typename AllocatorT,
1994
1996
typename ... PropsT>
1995
- accessor (buffer<DataT, Dimensions, AllocatorT>, handler,
1997
+ accessor (buffer<DataT, Dimensions, AllocatorT>, handler & ,
1996
1998
const ext::oneapi::accessor_property_list<PropsT...> &)
1997
1999
-> accessor<DataT, Dimensions, access::mode::read_write, target::device,
1998
2000
access::placeholder::false_t ,
1999
2001
ext::oneapi::accessor_property_list<PropsT...>>;
2000
2002
2001
2003
template <typename DataT, int Dimensions, typename AllocatorT, typename Type1>
2002
- accessor (buffer<DataT, Dimensions, AllocatorT>, handler, Type1)
2004
+ accessor (buffer<DataT, Dimensions, AllocatorT>, handler & , Type1)
2003
2005
-> accessor<DataT, Dimensions, detail::deduceAccessMode<Type1, Type1>(),
2004
2006
detail::deduceAccessTarget<Type1, Type1>(target::device),
2005
2007
access::placeholder::false_t >;
2006
2008
2007
2009
template <typename DataT, int Dimensions, typename AllocatorT, typename Type1,
2008
2010
typename ... PropsT>
2009
- accessor (buffer<DataT, Dimensions, AllocatorT>, handler, Type1,
2011
+ accessor (buffer<DataT, Dimensions, AllocatorT>, handler & , Type1,
2010
2012
const ext::oneapi::accessor_property_list<PropsT...> &)
2011
2013
-> accessor<DataT, Dimensions, detail::deduceAccessMode<Type1, Type1>(),
2012
2014
detail::deduceAccessTarget<Type1, Type1>(target::device),
@@ -2015,14 +2017,14 @@ accessor(buffer<DataT, Dimensions, AllocatorT>, handler, Type1,
2015
2017
2016
2018
template <typename DataT, int Dimensions, typename AllocatorT, typename Type1,
2017
2019
typename Type2>
2018
- accessor (buffer<DataT, Dimensions, AllocatorT>, handler, Type1, Type2)
2020
+ accessor (buffer<DataT, Dimensions, AllocatorT>, handler & , Type1, Type2)
2019
2021
-> accessor<DataT, Dimensions, detail::deduceAccessMode<Type1, Type2>(),
2020
2022
detail::deduceAccessTarget<Type1, Type2>(target::device),
2021
2023
access::placeholder::false_t >;
2022
2024
2023
2025
template <typename DataT, int Dimensions, typename AllocatorT, typename Type1,
2024
2026
typename Type2, typename ... PropsT>
2025
- accessor (buffer<DataT, Dimensions, AllocatorT>, handler, Type1, Type2,
2027
+ accessor (buffer<DataT, Dimensions, AllocatorT>, handler & , Type1, Type2,
2026
2028
const ext::oneapi::accessor_property_list<PropsT...> &)
2027
2029
-> accessor<DataT, Dimensions, detail::deduceAccessMode<Type1, Type2>(),
2028
2030
detail::deduceAccessTarget<Type1, Type2>(target::device),
@@ -2031,14 +2033,14 @@ accessor(buffer<DataT, Dimensions, AllocatorT>, handler, Type1, Type2,
2031
2033
2032
2034
template <typename DataT, int Dimensions, typename AllocatorT, typename Type1,
2033
2035
typename Type2, typename Type3>
2034
- accessor (buffer<DataT, Dimensions, AllocatorT>, handler, Type1, Type2, Type3)
2036
+ accessor (buffer<DataT, Dimensions, AllocatorT>, handler & , Type1, Type2, Type3)
2035
2037
-> accessor<DataT, Dimensions, detail::deduceAccessMode<Type2, Type3>(),
2036
2038
detail::deduceAccessTarget<Type2, Type3>(target::device),
2037
2039
access::placeholder::false_t >;
2038
2040
2039
2041
template <typename DataT, int Dimensions, typename AllocatorT, typename Type1,
2040
2042
typename Type2, typename Type3, typename ... PropsT>
2041
- accessor (buffer<DataT, Dimensions, AllocatorT>, handler, Type1, Type2, Type3,
2043
+ accessor (buffer<DataT, Dimensions, AllocatorT>, handler & , Type1, Type2, Type3,
2042
2044
const ext::oneapi::accessor_property_list<PropsT...> &)
2043
2045
-> accessor<DataT, Dimensions, detail::deduceAccessMode<Type2, Type3>(),
2044
2046
detail::deduceAccessTarget<Type2, Type3>(target::device),
@@ -2047,15 +2049,15 @@ accessor(buffer<DataT, Dimensions, AllocatorT>, handler, Type1, Type2, Type3,
2047
2049
2048
2050
template <typename DataT, int Dimensions, typename AllocatorT, typename Type1,
2049
2051
typename Type2, typename Type3, typename Type4>
2050
- accessor (buffer<DataT, Dimensions, AllocatorT>, handler, Type1, Type2, Type3,
2052
+ accessor (buffer<DataT, Dimensions, AllocatorT>, handler & , Type1, Type2, Type3,
2051
2053
Type4)
2052
2054
-> accessor<DataT, Dimensions, detail::deduceAccessMode<Type3, Type4>(),
2053
2055
detail::deduceAccessTarget<Type3, Type4>(target::device),
2054
2056
access::placeholder::false_t >;
2055
2057
2056
2058
template <typename DataT, int Dimensions, typename AllocatorT, typename Type1,
2057
2059
typename Type2, typename Type3, typename Type4, typename ... PropsT>
2058
- accessor (buffer<DataT, Dimensions, AllocatorT>, handler, Type1, Type2, Type3,
2060
+ accessor (buffer<DataT, Dimensions, AllocatorT>, handler & , Type1, Type2, Type3,
2059
2061
Type4, const ext::oneapi::accessor_property_list<PropsT...> &)
2060
2062
-> accessor<DataT, Dimensions, detail::deduceAccessMode<Type3, Type4>(),
2061
2063
detail::deduceAccessTarget<Type3, Type4>(target::device),
0 commit comments