This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Use long long in _itoa and _itowa if PREFER_LONG_LONG is defined


On Fri, Mar 16, 2012 at 4:33 PM, Roland McGrath <roland@hack.frob.com> wrote:
> It would be cleaner just to define _itoa_word to take long long and
> define away _itoa in _itoa.h as for the LONG_MAX == LLONG_MAX case.
>
> Something like this:
>
> Change _itoa.h to define some macros:
>
> #ifndef _ITOA_NEEDED
> # define _ITOA_NEEDED ? ? ? ? ? (LONG_MAX != LLONG_MAX)
> #endif
> #ifndef _ITOA_WORD_TYPE
> # define _ITOA_WORD_TYPE ? ? ? ?unsigned long int
> #endif
>
> Use _ITOA_WORD_TYPE in the _itoa_word declaration, and
> change the #if tests to #if _ITOA_NEEDED.
>
> Then you can just write an x32/_itoa.h:
>
> #define _ITOA_NEEDED ? ?0
> #define _ITOA_WORD_TYPE unsigned long long int
> #include_next <_itoa.h>
>
>

x32/_itoa.h won't work with

debug/backtracesymsfd.c:#include <stdio-common/_itoa.h>
debug/segfault.c:#include <stdio-common/_itoa.h>
elf/dl-cache.c:#include <stdio-common/_itoa.h>
elf/dl-minimal.c:#include <stdio-common/_itoa.h>
elf/dl-misc.c:#include <stdio-common/_itoa.h>
elf/dl-sysdep.c:#include <stdio-common/_itoa.h>
elf/dl-version.c:#include <stdio-common/_itoa.h>
elf/rtld.c:#include <stdio-common/_itoa.h>
hurd/hurdsock.c:#include "stdio-common/_itoa.h"
hurd/lookup-retry.c:#include "stdio-common/_itoa.h"
malloc/malloc.c:#include <stdio-common/_itoa.h>
malloc/mtrace.c:#include <stdio-common/_itoa.h>
nscd/nscd_getgr_r.c:#include <stdio-common/_itoa.h>
nscd/nscd_getpw_r.c:#include <stdio-common/_itoa.h>
nscd/nscd_getserv_r.c:#include <stdio-common/_itoa.h>
posix/getopt_init.c:#include <stdio-common/_itoa.h>
posix/wordexp.c:#include <stdio-common/_itoa.h>
stdio-common/_itoa.c:#include "_itoa.h"
stdio-common/printf_fphex.c:#include "_itoa.h"
stdio-common/vfprintf.c:#include "_itoa.h"
string/_strerror.c:#include <stdio-common/_itoa.h>
sysdeps/generic/elf/backtracesymsfd.c:#include <stdio-common/_itoa.h>
sysdeps/i386/i686/hp-timing.h:#include <stdio-common/_itoa.h>
sysdeps/mach/_strerror.c:#include <stdio-common/_itoa.h>
sysdeps/mach/hurd/powerpc/register-dump.h:#include <stdio-common/_itoa.h>
sysdeps/mach/hurd/sethostid.c:#include <stdio-common/_itoa.h>
sysdeps/mach/hurd/xmknodat.c:#include "stdio-common/_itoa.h"
sysdeps/mach/xpg-strerror.c:#include <stdio-common/_itoa.h>
sysdeps/powerpc/powerpc32/dl-machine.c:#include <stdio-common/_itoa.h>
sysdeps/powerpc/powerpc32/power4/hp-timing.h:#include <stdio-common/_itoa.h>
sysdeps/powerpc/powerpc32/register-dump.h:#include <stdio-common/_itoa.h>
sysdeps/powerpc/powerpc64/dl-machine.c:#include <stdio-common/_itoa.h>
sysdeps/powerpc/powerpc64/hp-timing.h:#include <stdio-common/_itoa.h>
sysdeps/powerpc/powerpc64/register-dump.h:#include <stdio-common/_itoa.h>
sysdeps/sparc/sparc32/sparcv9/hp-timing.h:#include <stdio-common/_itoa.h>
sysdeps/sparc/sparc64/hp-timing.h:#include <stdio-common/_itoa.h>
sysdeps/unix/sysv/linux/fd_to_filename.h:#include <stdio-common/_itoa.h>
sysdeps/unix/sysv/linux/futimes.c:#include <stdio-common/_itoa.h>
sysdeps/unix/sysv/linux/i386/register-dump.h:#include <stdio-common/_itoa.h>
sysdeps/unix/sysv/linux/ptsname.c:#include <stdio-common/_itoa.h>
sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h:#include
<stdio-common/_itoa.h>
sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h:#include
<stdio-common/_itoa.h>
sysdeps/unix/sysv/linux/sh/sh3/register-dump.h:#include <stdio-common/_itoa.h>
sysdeps/unix/sysv/linux/sh/sh4/register-dump.h:#include <stdio-common/_itoa.h>
sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h:#include
<stdio-common/_itoa.h>
sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h:#include
<stdio-common/_itoa.h>
sysdeps/unix/sysv/linux/ttyname.c:#include <stdio-common/_itoa.h>
sysdeps/unix/sysv/linux/ttyname_r.c:#include <stdio-common/_itoa.h>
sysdeps/unix/sysv/linux/x86_64/register-dump.h:#include <stdio-common/_itoa.h>


-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]