tree 1a75042517e65540e55c6d2b2b863b19ffdc1ac1
parent 9e09d79946b0c4afd815341684c7c4dc4f40c20b
author Martin Hořeňovský <martin.horenovsky@gmail.com> 1584561565 +0100
committer Martin Hořeňovský <martin.horenovsky@gmail.com> 1584607541 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJeczLRAAoJEN5IMHuLDTgay8UP/jcFzRRRZYma1kybRlXk9x5E
 LgRAiVJ2EoL90rxMEsCx7eEihvVjYfldeHxdlH86gqkAfCB2Z6vJtKKSAFqnkAJs
 snPIoizT9FxfF/bl+yxBu30eQ2J7J3SknEILA8g97YDT7cRfh6xbwSKmjOo2zjuE
 O1AzCzP0f/rlt3guXZe/GVvPDHYnJx35FMjR/rWdLJQNtz7B8tt1nTecfQpKhQ+P
 PbJAWc8YjnCijCQqsYbaMU4lEJm0RZBjpWCSrv7aTyZ/r4nIqetnniKmewOmLwSk
 hYX8WnYt0/FnLenbMuOUuTL2CGueOkWCAaL3pJ7W5fHMaFm1GAc0WaypevcpKTi/
 DZxEO00wm98y0FW5mycHLo4j0aEsWxSizx/XBzWDhF6S3lhlhcE3NzhMfcSW8gk0
 HGrUl4oNAdsjzcLXM4h0K8vlYkEHb/MvH6Pjm6ZQI/whBJ9tmXbIk3IgkjZgbPWk
 L9wKQLc/7oDDhZqJqrW+YhQB8DVe6Hbg+m1WaJPmARZiDuZw3ge3JunS6jA9aeyO
 Go0XO3ZRgu1iCOIScIcEV6QOoW0NoT4D+yEHpIXDVP9NeG/l5Iq1mpvdkcsJQmZ9
 ii4f3mFAoDGeztG2OPaoUHNN2iw3SYD76F94TrOaf1r2H75IKVm+L1Udc6EJ0kSM
 6ofgJjQl4nwAHjo3jryj
 =aPox
 -----END PGP SIGNATURE-----

Make warnings in assertions fire for GCC/Clang again

The old code caused warnings to fire under MSVC, and Clang <3.8.
I could not find a GCC version where it worked, but I assume that it
did at some point.

This new code causes all of MSVC, GCC, Clang, in current versions,
to emit signed/unsigned comparison warning in test like this:

```cpp
TEST_CASE() {
    int32_t i = -1;
    uint32_t j = 1;
    REQUIRE(i != j);
}
```

Where previously only MSVC would emit the warning.

Fixes #1880
