aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--stdio-common/vfprintf.c14
2 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index a205ae1..0c79882 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
1999-05-25 Ulrich Drepper <drepper@cygnus.com>
+ * stdio-common/vfprintf.c (vfprintf): Don't implement special
+ handling for long long if it is the same as long.
+
* stdlib/strtol.c: Moved to ...
* sysdeps/generic/strtol.c: ...here.
* stdlib/strtoul.c: Moved to ...
diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
index 263b023..dfaf419 100644
--- a/stdio-common/vfprintf.c
+++ b/stdio-common/vfprintf.c
@@ -180,8 +180,12 @@ extern void __funlockfile (FILE *);
} \
while (0)
-/* For handling long_double and longlong we use the same flag. */
-#ifndef is_longlong
+/* For handling long_double and longlong we use the same flag. If
+ `long' and `long long' are effectively the same type define it to
+ zero. */
+#if LONG_MAX == LONG_LONG_MAX
+# define is_longlong 0
+#else
# define is_longlong is_long_double
#endif
@@ -1228,17 +1232,17 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
JUMP (*++f, step4_jumps);
LABEL (mod_size_t):
- is_longlong = sizeof (size_t) > sizeof (unsigned long int);
+ is_long_double = sizeof (size_t) > sizeof (unsigned long int);
is_long = sizeof (size_t) > sizeof (unsigned int);
JUMP (*++f, step4_jumps);
LABEL (mod_ptrdiff_t):
- is_longlong = sizeof (ptrdiff_t) > sizeof (unsigned long int);
+ is_long_double = sizeof (ptrdiff_t) > sizeof (unsigned long int);
is_long = sizeof (ptrdiff_t) > sizeof (unsigned int);
JUMP (*++f, step4_jumps);
LABEL (mod_intmax_t):
- is_longlong = sizeof (intmax_t) > sizeof (unsigned long int);
+ is_long_double = sizeof (intmax_t) > sizeof (unsigned long int);
is_long = sizeof (intmax_t) > sizeof (unsigned int);
JUMP (*++f, step4_jumps);