1
0
mirror of https://https.git.savannah.gnu.org/git/gnulib.git synced 2026-09-01 02:34:55 +00:00

Go back to dynamic largefile, year2038 tests

Problem reported by Bruno Haible in:
https://lists.gnu.org/r/bug-gnulib/2023-04/msg00134.html
* modules/largefile-tests, modules/year2038-tests (Depends-on):
Remove assert-h.
* tests/test-largefile.c, tests/test-year2038.c:
Test dynamically, not via static_assert.
This commit is contained in:
Paul Eggert
2023-04-18 14:25:09 -07:00
parent 3b693f5ab7
commit 9a8ec097c5
5 changed files with 30 additions and 14 deletions
+8
View File
@@ -1,5 +1,13 @@
2023-04-18 Paul Eggert <eggert@cs.ucla.edu>
Go back to dynamic largefile, year2038 tests
Problem reported by Bruno Haible in:
https://lists.gnu.org/r/bug-gnulib/2023-04/msg00134.html
* modules/largefile-tests, modules/year2038-tests (Depends-on):
Remove assert-h.
* tests/test-largefile.c, tests/test-year2038.c:
Test dynamically, not via static_assert.
doc: mention when O_* defaults to 0
* doc/posix-headers/fcntl.texi: Document in more detail which O_*
macros default to 0 in Gnulib.
-1
View File
@@ -2,7 +2,6 @@ Files:
tests/test-largefile.c
Depends-on:
assert-h
intprops
sys_types
sys_stat
-1
View File
@@ -2,7 +2,6 @@ Files:
tests/test-year2038.c
Depends-on:
assert-h
intprops
configure.ac:
+18 -9
View File
@@ -26,17 +26,26 @@
#include <sys/stat.h>
#include "intprops.h"
/* Check the range of off_t.
With MSVC, this test succeeds only thanks to the 'sys_types' module. */
static_assert (TYPE_MAXIMUM (off_t) >> 31 >> 31 != 0);
/* Check the size of the 'struct stat' field 'st_size'.
,With MSVC, this test succeeds only thanks to the 'sys_stat' module. */
static struct stat st;
static_assert (sizeof st.st_size == sizeof (off_t));
/* Although these tests could be done with static_assert, the test
harness prefers dynamic checking. */
int
main (void)
{
return 0;
int result = 0;
/* Check the range of off_t.
With MSVC, this test succeeds only thanks to the 'sys_types' module. */
if (TYPE_MAXIMUM (off_t) >> 31 >> 31 == 0)
result |= 1;
/* Check the size of the 'struct stat' field 'st_size'.
With MSVC, this test succeeds only thanks to the 'sys_stat' module. */
{
struct stat st;
if (sizeof st.st_size != sizeof (off_t))
result |= 2;
}
return result;
}
+4 -3
View File
@@ -28,11 +28,12 @@
#include <sys/types.h>
#include "intprops.h"
/* Check the range of time_t. */
static_assert (TYPE_MAXIMUM (time_t) >> 31 != 0);
/* Although this test could be done with static_assert, the test
harness prefers dynamic checking. */
int
main (void)
{
return 0;
/* Check the range of time_t. */
return TYPE_MAXIMUM (time_t) >> 31 == 0;
}