Skip to content

Commit 764b3f3

Browse files
committed
add noexcept to declarations in header
1 parent 105d495 commit 764b3f3

File tree

2 files changed

+41
-36
lines changed

2 files changed

+41
-36
lines changed

libdevice/atomic.hpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,20 +58,22 @@ struct MemorySemanticsMask {
5858
} // namespace __spv
5959

6060
extern DEVICE_EXTERNAL int __spirv_AtomicCompareExchange(int SPIR_GLOBAL *, int,
61-
int, int, int, int);
61+
int, int, int,
62+
int) noexcept;
6263

6364
extern DEVICE_EXTERNAL int __spirv_AtomicCompareExchange(int *, int, int, int,
64-
int, int);
65+
int, int) noexcept;
6566

6667
extern DEVICE_EXTERNAL int __spirv_AtomicLoad(const int SPIR_GLOBAL *, int,
67-
int);
68+
int) noexcept;
6869

6970
extern DEVICE_EXTERNAL void __spirv_AtomicStore(int SPIR_GLOBAL *, int, int,
70-
int);
71+
int) noexcept;
7172

72-
extern DEVICE_EXTERNAL void __spirv_AtomicStore(int *, int, int, int);
73+
extern DEVICE_EXTERNAL void __spirv_AtomicStore(int *, int, int, int) noexcept;
7374

74-
extern DEVICE_EXTERNAL int __spirv_AtomicIAdd(SPIR_GLOBAL int *, int, int, int);
75+
extern DEVICE_EXTERNAL int __spirv_AtomicIAdd(SPIR_GLOBAL int *, int, int,
76+
int) noexcept;
7577

7678
/// Atomically set the value in *Ptr with Desired if and only if it is Expected
7779
/// Return the value which already was in *Ptr

sycl/include/sycl/__spirv/spirv_ops.hpp

Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -239,52 +239,52 @@ extern __DPCPP_SYCL_EXTERNAL
239239
// Atomic SPIR-V builtins
240240
#define __SPIRV_ATOMIC_LOAD(AS, Type) \
241241
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicLoad(AS Type *P, int S, \
242-
int O);
242+
int O) noexcept;
243243
#define __SPIRV_ATOMIC_STORE(AS, Type) \
244-
extern __DPCPP_SYCL_EXTERNAL void __spirv_AtomicStore(AS Type *P, int S, \
245-
int O, Type V);
244+
extern __DPCPP_SYCL_EXTERNAL void __spirv_AtomicStore( \
245+
AS Type *P, int S, int O, Type V) noexcept;
246246
#define __SPIRV_ATOMIC_EXCHANGE(AS, Type) \
247-
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicExchange(AS Type *P, int S, \
248-
int O, Type V);
247+
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicExchange( \
248+
AS Type *P, int S, int O, Type V) noexcept;
249249
#define __SPIRV_ATOMIC_CMP_EXCHANGE(AS, Type) \
250250
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicCompareExchange( \
251-
AS Type *P, int S, int E, int U, Type V, Type C);
251+
AS Type *P, int S, int E, int U, Type V, Type C) noexcept;
252252
#define __SPIRV_ATOMIC_IADD(AS, Type) \
253-
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicIAdd(AS Type *P, int S, \
254-
int O, Type V);
253+
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicIAdd( \
254+
AS Type *P, int S, int O, Type V) noexcept;
255255
#define __SPIRV_ATOMIC_ISUB(AS, Type) \
256-
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicISub(AS Type *P, int S, \
257-
int O, Type V);
256+
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicISub( \
257+
AS Type *P, int S, int O, Type V) noexcept;
258258
#define __SPIRV_ATOMIC_FADD(AS, Type) \
259-
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicFAddEXT(AS Type *P, int S, \
260-
int O, Type V);
259+
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicFAddEXT( \
260+
AS Type *P, int S, int O, Type V) noexcept;
261261
#define __SPIRV_ATOMIC_SMIN(AS, Type) \
262-
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicSMin(AS Type *P, int S, \
263-
int O, Type V);
262+
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicSMin( \
263+
AS Type *P, int S, int O, Type V) noexcept;
264264
#define __SPIRV_ATOMIC_UMIN(AS, Type) \
265-
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicUMin(AS Type *P, int S, \
266-
int O, Type V);
265+
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicUMin( \
266+
AS Type *P, int S, int O, Type V) noexcept;
267267
#define __SPIRV_ATOMIC_FMIN(AS, Type) \
268-
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicFMinEXT(AS Type *P, int S, \
269-
int O, Type V);
268+
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicFMinEXT( \
269+
AS Type *P, int S, int O, Type V) noexcept;
270270
#define __SPIRV_ATOMIC_SMAX(AS, Type) \
271-
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicSMax(AS Type *P, int S, \
272-
int O, Type V);
271+
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicSMax( \
272+
AS Type *P, int S, int O, Type V) noexcept;
273273
#define __SPIRV_ATOMIC_UMAX(AS, Type) \
274-
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicUMax(AS Type *P, int S, \
275-
int O, Type V);
274+
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicUMax( \
275+
AS Type *P, int S, int O, Type V) noexcept;
276276
#define __SPIRV_ATOMIC_FMAX(AS, Type) \
277-
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicFMaxEXT(AS Type *P, int S, \
278-
int O, Type V);
277+
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicFMaxEXT( \
278+
AS Type *P, int S, int O, Type V) noexcept;
279279
#define __SPIRV_ATOMIC_AND(AS, Type) \
280280
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicAnd(AS Type *P, int S, \
281-
int O, Type V);
281+
int O, Type V) noexcept;
282282
#define __SPIRV_ATOMIC_OR(AS, Type) \
283283
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicOr(AS Type *P, int S, int O, \
284-
Type V);
284+
Type V) noexcept;
285285
#define __SPIRV_ATOMIC_XOR(AS, Type) \
286286
extern __DPCPP_SYCL_EXTERNAL Type __spirv_AtomicXor(AS Type *P, int S, \
287-
int O, Type V);
287+
int O, Type V) noexcept;
288288

289289
#define __SPIRV_ATOMIC_FLOAT(AS, Type) \
290290
__SPIRV_ATOMIC_FADD(AS, Type) \
@@ -319,18 +319,21 @@ extern __DPCPP_SYCL_EXTERNAL
319319
template <typename T> \
320320
typename std::enable_if_t< \
321321
std::is_integral<T>::value && std::is_signed<T>::value, T> \
322-
__spirv_Atomic##Op(AS T *Ptr, int Memory, int Semantics, T Value) { \
322+
__spirv_Atomic##Op(AS T *Ptr, int Memory, int Semantics, \
323+
T Value) noexcept { \
323324
return __spirv_AtomicS##Op(Ptr, Memory, Semantics, Value); \
324325
} \
325326
template <typename T> \
326327
typename std::enable_if_t< \
327328
std::is_integral<T>::value && !std::is_signed<T>::value, T> \
328-
__spirv_Atomic##Op(AS T *Ptr, int Memory, int Semantics, T Value) { \
329+
__spirv_Atomic##Op(AS T *Ptr, int Memory, int Semantics, \
330+
T Value) noexcept { \
329331
return __spirv_AtomicU##Op(Ptr, Memory, Semantics, Value); \
330332
} \
331333
template <typename T> \
332334
typename std::enable_if_t<std::is_floating_point<T>::value, T> \
333-
__spirv_Atomic##Op(AS T *Ptr, int Memory, int Semantics, T Value) { \
335+
__spirv_Atomic##Op(AS T *Ptr, int Memory, int Semantics, \
336+
T Value) noexcept { \
334337
return __spirv_AtomicF##Op##EXT(Ptr, Memory, Semantics, Value); \
335338
}
336339

0 commit comments

Comments
 (0)