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.
#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;
}
#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;
}