Skip to content

Commit

Permalink
Silence -Wunneeded-internal-declaration warnings without emitting code
Browse files Browse the repository at this point in the history
  • Loading branch information
falbrechtskirchinger committed Sep 17, 2022
1 parent de7906a commit e2d15d7
Showing 1 changed file with 7 additions and 11 deletions.
18 changes: 7 additions & 11 deletions tests/src/unit-noexcept.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,14 @@ static_assert(!noexcept(std::declval<json>().get<pod_bis>()), "");
static_assert(noexcept(json(pod{})), "");
} // namespace

TEST_CASE("runtime checks")
TEST_CASE("noexcept")
{
// silence -Wunneeded-internal-declaration errors
static_cast<void>(static_cast<void(*)(json&, pod)>(&to_json));
static_cast<void>(static_cast<void(*)(json&, pod_bis)>(&to_json));
static_cast<void>(static_cast<void(*)(const json&, pod)>(&from_json));
static_cast<void>(static_cast<void(*)(const json&, pod_bis)>(&from_json));

SECTION("nothrow-copy-constructible exceptions")
{
// for ERR60-CPP (/~https://github.com/nlohmann/json/issues/531):
Expand All @@ -63,16 +69,6 @@ TEST_CASE("runtime checks")
CHECK(std::is_nothrow_copy_constructible<json::out_of_range>::value == std::is_nothrow_copy_constructible<std::runtime_error>::value);
CHECK(std::is_nothrow_copy_constructible<json::other_error>::value == std::is_nothrow_copy_constructible<std::runtime_error>::value);
}

SECTION("silence -Wunneeded-internal-declaration errors")
{
j = nullptr;
json j2;
to_json(j2, pod());
to_json(j2, pod_bis());
from_json(j2, pod());
from_json(j2, pod_bis());
}
}

DOCTEST_GCC_SUPPRESS_WARNING_POP

0 comments on commit e2d15d7

Please sign in to comment.