From: Paul Eggert Date: Thu, 9 Feb 2017 00:41:39 +0000 (-0800) Subject: stddef-tests: port to SIZE_MAX <= INT_MAX X-Git-Tag: v1.0~6370 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=6e3459356db58b7047849cfa06b50b1426d3e4ae;p=gnulib.git stddef-tests: port to SIZE_MAX <= INT_MAX * tests/test-stddef.c: Include , for INT_MAX. Do not assume that INT_MAX < SIZE_MAX. --- diff --git a/ChangeLog b/ChangeLog index eec777f7d5..30525490fd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2017-02-08 Paul Eggert + + stddef-tests: port to SIZE_MAX <= INT_MAX + * tests/test-stddef.c: Include , for INT_MAX. + Do not assume that INT_MAX < SIZE_MAX. + 2017-02-01 Bruno Haible lock tests: Fix link error. diff --git a/tests/test-stddef.c b/tests/test-stddef.c index 5b0f045877..8bf3793015 100644 --- a/tests/test-stddef.c +++ b/tests/test-stddef.c @@ -19,6 +19,7 @@ #include #include +#include #include #include "verify.h" @@ -43,9 +44,12 @@ struct d unlikely to bite real code, we ignore that short-coming. */ /* verify (sizeof offsetof (struct d, e) == sizeof (size_t)); */ verify (sizeof (offsetof (struct d, e)) == sizeof (size_t)); -verify (offsetof (struct d, e) < -1); /* Must be unsigned. */ verify (offsetof (struct d, f) == 1); +/* offsetof promotes to an unsigned integer if and only if sizes do + not fit in int. */ +verify ((offsetof (struct d, e) < -1) == (INT_MAX < (size_t) -1)); + /* Check max_align_t's alignment. */ verify (alignof (double) <= alignof (max_align_t)); verify (alignof (int) <= alignof (max_align_t));