tst_QUuid: fix -Wreturn-type in make_minimal(QUuid::Version)

The code relies on -Wswitch, but lacked the Q_UNREACHABLE_RETURN() at
the end that compiler and code readers need to understand that we don't
accept values other than those enumerated, even though an enum variable
could hold other values, too.

Since the function is constexpr, can't use that macro directly, but
need to copy the usual GCC 8 magic incantation.

Amends 171ff57be1b8fd1c1b33cffbffa389790f239b5c.

Pick-to: 6.9 6.8
Change-Id: I6c9dd0e4178211f57da61aa6df70f8036370f158
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Marc Mutz 2024-07-31 08:25:55 +02:00
parent 9182f60b45
commit 420ca3463e

View File

@ -462,6 +462,12 @@ constexpr QUuid make_minimal(QUuid::Variant variant)
case V::Reserved:
return {0, 0, 0, uchar(variant << 5), 0, 0, 0, 0, 0, 0, 0};
}
// GCC 8.x does not treat __builtin_unreachable() as constexpr
#if !defined(Q_CC_GNU_ONLY) || (Q_CC_GNU >= 900)
// NOLINTNEXTLINE(qt-use-unreachable-return): Triggers on Clang, breaking GCC 8
Q_UNREACHABLE();
#endif
return {};
}
void tst_QUuid::ordering_data()