Skip to content

[SYCL][NFC] Remove some work-arounds for C++11 #3168

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 1 commit into from
Feb 9, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
21 changes: 2 additions & 19 deletions sycl/include/CL/sycl/ONEAPI/atomic_enums.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,7 @@ __SYCL_INLINE_CONSTEXPR memory_scope memory_scope_system = memory_scope::system;

#ifndef __SYCL_DEVICE_ONLY__
namespace detail {
// Cannot use switch statement in constexpr before C++14
// Nested ternary conditions in else branch required for C++11
#if __cplusplus >= 201402L

static inline constexpr std::memory_order
getStdMemoryOrder(::cl::sycl::ONEAPI::memory_order order) {
switch (order) {
Expand All @@ -80,22 +78,7 @@ getStdMemoryOrder(::cl::sycl::ONEAPI::memory_order order) {
return std::memory_order_seq_cst;
}
}
#else
static inline constexpr std::memory_order
getStdMemoryOrder(::cl::sycl::ONEAPI::memory_order order) {
return (order == memory_order::relaxed)
? std::memory_order_relaxed
: (order == memory_order::__consume_unsupported)
? std::memory_order_consume
: (order == memory_order::acquire)
? std::memory_order_acquire
: (order == memory_order::release)
? std::memory_order_release
: (order == memory_order::acq_rel)
? std::memory_order_acq_rel
: std::memory_order_seq_cst;
}
#endif // __cplusplus

} // namespace detail
#endif // __SYCL_DEVICE_ONLY__

Expand Down
11 changes: 0 additions & 11 deletions sycl/include/CL/sycl/ONEAPI/atomic_ref.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,6 @@ template <> struct memory_order_traits<memory_order::seq_cst> {
static constexpr memory_order write_order = memory_order::seq_cst;
};

// Cannot use switch statement in constexpr before C++14
// Nested ternary conditions in else branch required for C++11
#if __cplusplus >= 201402L
inline constexpr memory_order getLoadOrder(memory_order order) {
switch (order) {
case memory_order_relaxed:
Expand All @@ -87,14 +84,6 @@ inline constexpr memory_order getLoadOrder(memory_order order) {
return memory_order_seq_cst;
}
}
#else
inline constexpr memory_order getLoadOrder(memory_order order) {
return (order == memory_order_relaxed)
? memory_order_relaxed
: (order == memory_order_seq_cst) ? memory_order_seq_cst
: memory_order_acquire;
}
#endif

template <typename T, typename = void> struct bit_equal;

Expand Down
4 changes: 0 additions & 4 deletions sycl/include/CL/sycl/ONEAPI/functional.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ template <typename T = void> struct minimum {
}
};

#if __cplusplus >= 201402L
template <> struct minimum<void> {
struct is_transparent {};
template <typename T, typename U>
Expand All @@ -30,15 +29,13 @@ template <> struct minimum<void> {
: std::forward<U>(rhs);
}
};
#endif

template <typename T = void> struct maximum {
T operator()(const T &lhs, const T &rhs) const {
return std::greater<T>()(lhs, rhs) ? lhs : rhs;
}
};

#if __cplusplus >= 201402L
template <> struct maximum<void> {
struct is_transparent {};
template <typename T, typename U>
Expand All @@ -50,7 +47,6 @@ template <> struct maximum<void> {
: std::forward<U>(rhs);
}
};
#endif

template <typename T = void> using plus = std::plus<T>;
template <typename T = void> using multiplies = std::multiplies<T>;
Expand Down
11 changes: 3 additions & 8 deletions sycl/include/CL/sycl/half_type.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,6 @@
#else
#define __SYCL_CONSTEXPR_ON_DEVICE
#endif
#if __cplusplus >= 201402L
#define _CPP14_CONSTEXPR constexpr
#else
#define _CPP14_CONSTEXPR
#endif

__SYCL_INLINE_NAMESPACE(cl) {
namespace sycl {
Expand Down Expand Up @@ -80,7 +75,7 @@ class __SYCL_EXPORT half {
}

// Operator neg
_CPP14_CONSTEXPR half &operator-() {
constexpr half &operator-() {
Buf ^= 0x8000;
return *this;
}
Expand Down Expand Up @@ -207,11 +202,11 @@ class half {
operator--();
return ret;
}
_CPP14_CONSTEXPR half &operator-() {
constexpr half &operator-() {
Data = -Data;
return *this;
}
_CPP14_CONSTEXPR half operator-() const {
constexpr half operator-() const {
half r = *this;
return -r;
}
Expand Down