catchorg / catchorg/Catch2

REQUIRE expression with uint64_t not works properly with MinGW-64 (6.2.0)

Open
#730 8 comments 0 reactions 0 assignees View on GitHub
Revisit Serious bug
Dominant language
C++
Stars
21.5k
Forks
3.5k
Avg merge
3d 16h
Merged PRs (30d)
2

Description

I have the following tests case works properly with almost all compilers and platforms except MinGW-64 (GCC 6.2.0 installed from https://sourceforge.net/projects/mingw-w64/):

``` C++
#include

uint64_t test()
{
return 1476912100213132300ull;
}

TEST_CASE("mingw-64 (6.2.0)", "[mingw]")
{
// This test case works properly
REQUIRE((test() > 0));

// This test case failed!
REQUIRE(test() > 0);
}
```

I get the following test report:

```
test.cpp:14: FAILED:
REQUIRE( test() > 0 )
with expansion:
1476912100213132300 (0x147f0bbae9ae0c0c)
>
0
```

The difference only in '(', ')' braces in REQUIRE exception!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.