Fix __cpp_lib_hypot related error when building in macos

If __cpp_lib_hypot is undefined in macos you may observe the error:

  error: '__cpp_lib_hypot' is not defined, evaluates to 0 [-Werror,-Wundef]

Adding the explicit check for definition suppresses the warning that
is treated as an error.

Change-Id: Ie4c185fefde2f5bab699d8fc79b6a170e64af393
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
This commit is contained in:
Alexey Edelev 2021-09-16 11:30:49 +02:00
parent 52377899d5
commit ef623fd16f
2 changed files with 2 additions and 2 deletions

View File

@ -333,7 +333,7 @@ template <> inline auto qHypot(qfloat16 x, qfloat16 y)
return qfloat16(qHypot(float(x), float(y)));
#endif
}
#if __cpp_lib_hypot >= 201603L // Expected to be true
#if defined(__cpp_lib_hypot) && __cpp_lib_hypot >= 201603L // Expected to be true
// If any are not qfloat16, convert each qfloat16 to float:
/* (The following splits the some-but-not-all-qfloat16 cases up, using
(X|Y|Z)&~(X&Y&Z) = X ? ~(Y&Z) : Y|Z = X&~(Y&Z) | ~X&Y | ~X&~Y&Z,

View File

@ -192,7 +192,7 @@ auto qHypot(Tx x, Ty y)
return hypot(x, y);
}
#if __cpp_lib_hypot >= 201603L // Expected to be true
#if defined(__cpp_lib_hypot) && __cpp_lib_hypot >= 201603L // Expected to be true
template <typename Tx, typename Ty, typename Tz>
auto qHypot(Tx x, Ty y, Tz z)
{