* Re: make check fails on x86_64 - guile-1.8.2
2007-10-10 11:36 ` Greg Troxel
@ 2007-10-10 20:16 ` Ludovic Courtès
0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2007-10-10 20:16 UTC (permalink / raw)
To: guile-user
[-- Attachment #1: Type: text/plain, Size: 430 bytes --]
Hi,
Greg Troxel <gdt@ir.bbn.com> writes:
> But it seems the code is still wrong. It seems like we'd need to go to
> things like PRIU64 which are defined to match the type, and #define
> PRISCMTINTMAX to the corresponding one along with the typedef.
I just checked and there's also `PRI{iu}MAX', which do the job.
I committed the attached fix. I couldn't test it on x86_64, though, so
feedback is welcome.
Thanks,
Ludovic.
[-- Attachment #2: The patch --]
[-- Type: text/x-patch, Size: 6614 bytes --]
--- orig/test-suite/ChangeLog
+++ mod/test-suite/ChangeLog
@@ -1,3 +1,13 @@
+2007-10-10 Ludovic Courtès <ludo@gnu.org>
+
+ * standalone/test-conversion.c: Include <inttypes.h> where
+ available. Use `PRIiMAX' and `PRIuMAX' to print
+ `scm_t_u?intmax'. Fixes warnings on x86_64. Reported by Poor
+ Yorick <org.gnu.lists.guile-user@pooryorick.com>.
+
+ * standalone/Makefile.am (test_cflags): Removed reference to
+ `libguile-ltdl'.
+
2007-09-03 Ludovic Courtès <ludo@gnu.org>
* tests/reader.test (reading)[block comment finishing sexp]: New
--- orig/test-suite/standalone/Makefile.am
+++ mod/test-suite/standalone/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in.
##
-## Copyright 2003, 2004, 2005, 2006 Software Foundation, Inc.
+## Copyright 2003, 2004, 2005, 2006, 2007 Software Foundation, Inc.
##
## This file is part of GUILE.
##
@@ -32,7 +32,7 @@ TESTS_ENVIRONMENT = "${top_builddir}/pre
test_cflags = \
-I$(top_srcdir)/test-suite/standalone \
-I$(top_srcdir) \
- -I$(top_srcdir)/libguile-ltdl $(EXTRA_DEFS) $(GUILE_CFLAGS)
+ $(EXTRA_DEFS) $(GUILE_CFLAGS)
AM_LDFLAGS = $(GUILE_CFLAGS)
--- orig/test-suite/standalone/test-conversion.c
+++ mod/test-suite/standalone/test-conversion.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999,2000,2001,2003,2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1999,2000,2001,2003,2004, 2006, 2007 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -21,6 +21,21 @@
#include <assert.h>
#include <string.h>
+#include "config.h"
+
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#elif (!defined PRIiMAX)
+# if (defined SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG >= 8)
+# define PRIiMAX "lli"
+# define PRIuMAX "llu"
+# else
+# define PRIiMAX "li"
+# define PRIuMAX "lu"
+# endif
+#endif
+
+
static void
test_1 (const char *str, scm_t_intmax min, scm_t_intmax max,
int result)
@@ -28,7 +43,8 @@ test_1 (const char *str, scm_t_intmax mi
int r = scm_is_signed_integer (scm_c_eval_string (str), min, max);
if (r != result)
{
- fprintf (stderr, "fail: scm_is_signed_integer (%s, %Ld, %Ld) == %d\n",
+ fprintf (stderr, "fail: scm_is_signed_integer (%s, "
+ "%" PRIiMAX ", %" PRIiMAX ") == %d\n",
str, min, max, result);
exit (1);
}
@@ -113,7 +129,8 @@ test_2 (const char *str, scm_t_uintmax m
int r = scm_is_unsigned_integer (scm_c_eval_string (str), min, max);
if (r != result)
{
- fprintf (stderr, "fail: scm_is_unsigned_integer (%s, %Lu, %Lu) == %d\n",
+ fprintf (stderr, "fail: scm_is_unsigned_integer (%s, "
+ "%" PRIuMAX ", %" PRIuMAX ") == %d\n",
str, min, max, result);
exit (1);
}
@@ -233,7 +250,8 @@ test_3 (const char *str, scm_t_intmax mi
out_of_range_handler, NULL)))
{
fprintf (stderr,
- "fail: scm_to_signed_int (%s, %Ld, %Ld) -> out of range\n",
+ "fail: scm_to_signed_int (%s, "
+ "%" PRIiMAX ", %" PRIiMAX ") -> out of range\n",
str, min, max);
exit (1);
}
@@ -245,7 +263,8 @@ test_3 (const char *str, scm_t_intmax mi
wrong_type_handler, NULL)))
{
fprintf (stderr,
- "fail: scm_to_signed_int (%s, %Ld, %Ld) -> wrong type\n",
+ "fail: scm_to_signed_int (%s, "
+ "%" PRIiMAX", %" PRIiMAX ") -> wrong type\n",
str, min, max);
exit (1);
}
@@ -258,7 +277,8 @@ test_3 (const char *str, scm_t_intmax mi
|| data.result != result)
{
fprintf (stderr,
- "fail: scm_to_signed_int (%s, %Ld, %Ld) = %Ld\n",
+ "fail: scm_to_signed_int (%s, "
+ "%" PRIiMAX ", %" PRIiMAX ") = %" PRIiMAX "\n",
str, min, max, result);
exit (1);
}
@@ -365,7 +385,8 @@ test_4 (const char *str, scm_t_uintmax m
out_of_range_handler, NULL)))
{
fprintf (stderr,
- "fail: scm_to_unsigned_int (%s, %Lu, %Lu) -> out of range\n",
+ "fail: scm_to_unsigned_int (%s, "
+ "%" PRIuMAX ", %" PRIuMAX ") -> out of range\n",
str, min, max);
exit (1);
}
@@ -377,7 +398,8 @@ test_4 (const char *str, scm_t_uintmax m
wrong_type_handler, NULL)))
{
fprintf (stderr,
- "fail: scm_to_unsigned_int (%s, %Lu, %Lu) -> wrong type\n",
+ "fail: scm_to_unsigned_int (%s, "
+ "%" PRIuMAX ", %" PRIuMAX ") -> wrong type\n",
str, min, max);
exit (1);
}
@@ -390,7 +412,8 @@ test_4 (const char *str, scm_t_uintmax m
|| data.result != result)
{
fprintf (stderr,
- "fail: scm_to_unsigned_int (%s, %Lu, %Lu) == %Lu\n",
+ "fail: scm_to_unsigned_int (%s, "
+ "%" PRIuMAX ", %" PRIuMAX ") == %" PRIuMAX "\n",
str, min, max, result);
exit (1);
}
@@ -446,7 +469,7 @@ test_5 (scm_t_intmax val, const char *re
SCM res = scm_c_eval_string (result);
if (scm_is_false (scm_equal_p (scm_from_signed_integer (val), res)))
{
- fprintf (stderr, "fail: scm_from_signed_integer (%Ld) == %s\n",
+ fprintf (stderr, "fail: scm_from_signed_integer (%" PRIiMAX ") == %s\n",
val, result);
exit (1);
}
@@ -478,7 +501,8 @@ test_6 (scm_t_uintmax val, const char *r
SCM res = scm_c_eval_string (result);
if (scm_is_false (scm_equal_p (scm_from_unsigned_integer (val), res)))
{
- fprintf (stderr, "fail: scm_from_unsigned_integer (%Lu) == %s\n",
+ fprintf (stderr, "fail: scm_from_unsigned_integer (%"
+ PRIuMAX ") == %s\n",
val, result);
exit (1);
}
@@ -507,7 +531,7 @@ test_7s (SCM n, scm_t_intmax c_n, const
if (scm_is_false (scm_equal_p (n, r)))
{
- fprintf (stderr, "fail: %s (%Ld) == %s\n", func, c_n, result);
+ fprintf (stderr, "fail: %s (%" PRIiMAX ") == %s\n", func, c_n, result);
exit (1);
}
}
@@ -521,7 +545,7 @@ test_7u (SCM n, scm_t_uintmax c_n, const
if (scm_is_false (scm_equal_p (n, r)))
{
- fprintf (stderr, "fail: %s (%Lu) == %s\n", func, c_n, result);
+ fprintf (stderr, "fail: %s (%" PRIuMAX ") == %s\n", func, c_n, result);
exit (1);
}
}
@@ -580,7 +604,7 @@ test_8s (const char *str, scm_t_intmax (
|| data.result != result)
{
fprintf (stderr,
- "fail: %s (%s) = %Ld\n", func_name, str, result);
+ "fail: %s (%s) = %" PRIiMAX "\n", func_name, str, result);
exit (1);
}
}
@@ -638,7 +662,7 @@ test_8u (const char *str, scm_t_uintmax
|| data.result != result)
{
fprintf (stderr,
- "fail: %s (%s) = %Ld\n", func_name, str, result);
+ "fail: %s (%s) = %" PRIiMAX "\n", func_name, str, result);
exit (1);
}
}
[-- Attachment #3: Type: text/plain, Size: 140 bytes --]
_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user
^ permalink raw reply [flat|nested] 4+ messages in thread