From 2dda1094a7c195398c3f2b31519f427ac7d97956 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Thu, 7 Apr 2022 04:19:21 +0200 Subject: [PATCH] libstdc++-v3 expected: Correct minimal-size test in requirements.cc Without this, for a target where alignment and structure-sizes are by default byte-aligned, such as cris-elf, you'll see, in libstdc++.log: /X/gcc/libstdc++-v3/testsuite/20_util/expected/requirements.cc:127: error: static assertion failed /X/gcc/libstdc++-v3/testsuite/20_util/expected/requirements.cc:127: note: the comparison reduces to '(5 == 2)' compiler exited with status 1 FAIL: 20_util/expected/requirements.cc (test for excess errors) Excess errors: /X/gcc/libstdc++-v3/testsuite/20_util/expected/requirements.cc:127: error: static assertion failed The intent of that line is to check that the object is not larger than necessary. libstdc++-v3/: * testsuite/20_util/expected/requirements.cc: Correct minimal-size test. --- libstdc++-v3/testsuite/20_util/expected/requirements.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libstdc++-v3/testsuite/20_util/expected/requirements.cc b/libstdc++-v3/testsuite/20_util/expected/requirements.cc index 485aa33..aae7059 100644 --- a/libstdc++-v3/testsuite/20_util/expected/requirements.cc +++ b/libstdc++-v3/testsuite/20_util/expected/requirements.cc @@ -124,6 +124,6 @@ static_assert( move_assignable< void, G > ); // QoI properties static_assert( sizeof(std::expected) == 2 ); static_assert( sizeof(std::expected) == 2 ); -static_assert( sizeof(std::expected) == 2 * __alignof(void*) ); +static_assert( sizeof(std::expected) == sizeof(void*) + __alignof(void*) ); static_assert( alignof(std::expected) == 1 ); static_assert( alignof(std::expected) == alignof(void*) ); -- 2.7.4