Skip to content

Commit d5c9e34

Browse files
schittirbader
authored andcommitted
[SYCL][NFC] Fixing warnings "unsafe use of type bool in operation" (#266)
This is for SYCL Windows build Signed-off-by: Sindhu Chittireddy <[email protected]>
1 parent aa02e77 commit d5c9e34

File tree

1 file changed

+45
-15
lines changed

1 file changed

+45
-15
lines changed

sycl/source/detail/builtins.cpp

Lines changed: 45 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2409,44 +2409,68 @@ MAKE_1V_2V_FUNC(LessOrGreater, __vLessOrGreater, s::cl_short, s::cl_half,
24092409
// (IsFinite) // isfinite
24102410
cl_int IsFinite(s::cl_float x) __NOEXC { return std::isfinite(x); }
24112411
cl_int IsFinite(s::cl_double x) __NOEXC { return std::isfinite(x); }
2412-
cl_int __vIsFinite(s::cl_float x) __NOEXC { return -(std::isfinite(x)); }
2413-
cl_long __vIsFinite(s::cl_double x) __NOEXC { return -(std::isfinite(x)); }
2412+
cl_int __vIsFinite(s::cl_float x) __NOEXC {
2413+
return -static_cast<cl_int>(std::isfinite(x));
2414+
}
2415+
cl_long __vIsFinite(s::cl_double x) __NOEXC {
2416+
return -static_cast<cl_long>(std::isfinite(x));
2417+
}
24142418
cl_int IsFinite(s::cl_half x) __NOEXC { return std::isfinite(x); }
2415-
cl_short __vIsFinite(s::cl_half x) __NOEXC { return -(std::isfinite(x)); }
2419+
cl_short __vIsFinite(s::cl_half x) __NOEXC {
2420+
return -static_cast<cl_int>(std::isfinite(x));
2421+
}
24162422
MAKE_1V_FUNC(IsFinite, __vIsFinite, s::cl_int, s::cl_float)
24172423
MAKE_1V_FUNC(IsFinite, __vIsFinite, s::cl_long, s::cl_double)
24182424
MAKE_1V_FUNC(IsFinite, __vIsFinite, s::cl_short, s::cl_half)
24192425

24202426
// (IsInf) // isinf
24212427
cl_int IsInf(s::cl_float x) __NOEXC { return std::isinf(x); }
24222428
cl_int IsInf(s::cl_double x) __NOEXC { return std::isinf(x); }
2423-
cl_int __vIsInf(s::cl_float x) __NOEXC { return -(std::isinf(x)); }
2424-
cl_long __vIsInf(s::cl_double x) __NOEXC { return -(std::isinf(x)); }
2429+
cl_int __vIsInf(s::cl_float x) __NOEXC {
2430+
return -static_cast<cl_int>(std::isinf(x));
2431+
}
2432+
cl_long __vIsInf(s::cl_double x) __NOEXC {
2433+
return -static_cast<cl_long>(std::isinf(x));
2434+
}
24252435
cl_int IsInf(s::cl_half x) __NOEXC { return std::isinf(x); }
2426-
cl_short __vIsInf(s::cl_half x) __NOEXC { return -(std::isinf(x)); }
2436+
cl_short __vIsInf(s::cl_half x) __NOEXC {
2437+
return -static_cast<cl_short>(std::isinf(x));
2438+
}
24272439
MAKE_1V_FUNC(IsInf, __vIsInf, s::cl_int, s::cl_float)
24282440
MAKE_1V_FUNC(IsInf, __vIsInf, s::cl_long, s::cl_double)
24292441
MAKE_1V_FUNC(IsInf, __vIsInf, s::cl_short, s::cl_half)
24302442

24312443
// (IsNan) // isnan
24322444
cl_int IsNan(s::cl_float x) __NOEXC { return std::isnan(x); }
24332445
cl_int IsNan(s::cl_double x) __NOEXC { return std::isnan(x); }
2434-
cl_int __vIsNan(s::cl_float x) __NOEXC { return -(std::isnan(x)); }
2435-
cl_long __vIsNan(s::cl_double x) __NOEXC { return -(std::isnan(x)); }
2446+
cl_int __vIsNan(s::cl_float x) __NOEXC {
2447+
return -static_cast<cl_int>(std::isnan(x));
2448+
}
2449+
cl_long __vIsNan(s::cl_double x) __NOEXC {
2450+
return -static_cast<cl_long>(std::isnan(x));
2451+
}
24362452

24372453
cl_int IsNan(s::cl_half x) __NOEXC { return std::isnan(x); }
2438-
cl_short __vIsNan(s::cl_half x) __NOEXC { return -(std::isnan(x)); }
2454+
cl_short __vIsNan(s::cl_half x) __NOEXC {
2455+
return -static_cast<cl_short>(std::isnan(x));
2456+
}
24392457
MAKE_1V_FUNC(IsNan, __vIsNan, s::cl_int, s::cl_float)
24402458
MAKE_1V_FUNC(IsNan, __vIsNan, s::cl_long, s::cl_double)
24412459
MAKE_1V_FUNC(IsNan, __vIsNan, s::cl_short, s::cl_half)
24422460

24432461
// (IsNormal) // isnormal
24442462
cl_int IsNormal(s::cl_float x) __NOEXC { return std::isnormal(x); }
24452463
cl_int IsNormal(s::cl_double x) __NOEXC { return std::isnormal(x); }
2446-
cl_int __vIsNormal(s::cl_float x) __NOEXC { return -(std::isnormal(x)); }
2447-
cl_long __vIsNormal(s::cl_double x) __NOEXC { return -(std::isnormal(x)); }
2464+
cl_int __vIsNormal(s::cl_float x) __NOEXC {
2465+
return -static_cast<cl_int>(std::isnormal(x));
2466+
}
2467+
cl_long __vIsNormal(s::cl_double x) __NOEXC {
2468+
return -static_cast<cl_long>(std::isnormal(x));
2469+
}
24482470
cl_int IsNormal(s::cl_half x) __NOEXC { return std::isnormal(x); }
2449-
cl_short __vIsNormal(s::cl_half x) __NOEXC { return -(std::isnormal(x)); }
2471+
cl_short __vIsNormal(s::cl_half x) __NOEXC {
2472+
return -static_cast<cl_short>(std::isnormal(x));
2473+
}
24502474
MAKE_1V_FUNC(IsNormal, __vIsNormal, s::cl_int, s::cl_float)
24512475
MAKE_1V_FUNC(IsNormal, __vIsNormal, s::cl_long, s::cl_double)
24522476
MAKE_1V_FUNC(IsNormal, __vIsNormal, s::cl_short, s::cl_half)
@@ -2485,10 +2509,16 @@ MAKE_1V_2V_FUNC(Unordered, __vUnordered, s::cl_short, s::cl_half,
24852509
// (SignBitSet) // signbit
24862510
cl_int SignBitSet(s::cl_float x) __NOEXC { return std::signbit(x); }
24872511
cl_int SignBitSet(s::cl_double x) __NOEXC { return std::signbit(x); }
2488-
cl_int __vSignBitSet(s::cl_float x) __NOEXC { return -(std::signbit(x)); }
2489-
cl_long __vSignBitSet(s::cl_double x) __NOEXC { return -(std::signbit(x)); }
2512+
cl_int __vSignBitSet(s::cl_float x) __NOEXC {
2513+
return -static_cast<cl_int>(std::signbit(x));
2514+
}
2515+
cl_long __vSignBitSet(s::cl_double x) __NOEXC {
2516+
return -static_cast<cl_long>(std::signbit(x));
2517+
}
24902518
cl_int SignBitSet(s::cl_half x) __NOEXC { return std::signbit(x); }
2491-
cl_short __vSignBitSet(s::cl_half x) __NOEXC { return -(std::signbit(x)); }
2519+
cl_short __vSignBitSet(s::cl_half x) __NOEXC {
2520+
return -static_cast<cl_short>(std::signbit(x));
2521+
}
24922522
MAKE_1V_FUNC(SignBitSet, __vSignBitSet, s::cl_int, s::cl_float)
24932523
MAKE_1V_FUNC(SignBitSet, __vSignBitSet, s::cl_long, s::cl_double)
24942524
MAKE_1V_FUNC(SignBitSet, __vSignBitSet, s::cl_short, s::cl_half)

0 commit comments

Comments
 (0)