[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts
From: |
Paul Eggert |
Subject: |
Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts |
Date: |
Fri, 29 Apr 2011 23:54:50 -0700 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.14) Gecko/20110223 Thunderbird/3.1.8 |
On 04/29/11 02:06, Paul Eggert wrote:
> I will look into extending that patch, so that it also works with
> __int64.
Here's one way to do that. Add this to nt/config.nt,
after the BITS_PER_LONG definition:
#if (defined __MINGW32__ \
|| 1400 <= _MSC_VER || (1310 <= _MSC_VER && defined _MSC_EXTENSIONS))
/* C99-style long long and "%lld" both work, so use them. */
# define BITS_PER_LONG_LONG 64
#elif 1200 <= _MSC_VER
/* Use pre-C99-style 64-bit integers. */
# define EMACS_INT __int64
# define BITS_PER_EMACS_INT 64
# define pI "I64"
#endif
I inferred the above by looking at random stuff
off the net, and haven't actually tested it; quite possibly
it's not exactly right for Emacs but something like this should work.
Also, I plan to simplify the rats-nest of EMACS_INT ifdefs in lisp.h
to the following. This should make this stuff easier to follow.
#ifndef EMACS_INT
# if BITS_PER_LONG < BITS_PER_LONG_LONG
# define EMACS_INT long long
# define BITS_PER_EMACS_INT BITS_PER_LONG_LONG
# define pI "ll"
# elif BITS_PER_INT < BITS_PER_LONG
# define EMACS_INT long
# define BITS_PER_EMACS_INT BITS_PER_LONG
# define pI "l"
# else
# define EMACS_INT int
# define BITS_PER_EMACS_INT BITS_PER_INT
# define pI ""
# endif
#endif
#ifndef EMACS_UINT
# define EMACS_UINT unsigned EMACS_INT
#endif
- Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts, (continued)
- Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts, Eli Zaretskii, 2011/04/29
- Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts, Paul Eggert, 2011/04/29
- Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts, Eli Zaretskii, 2011/04/29
- Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts, Stefan Monnier, 2011/04/29
- Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts, Eli Zaretskii, 2011/04/29
- Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts, Lars Magne Ingebrigtsen, 2011/04/29
- Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts, Paul Eggert, 2011/04/29
- Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts, David De La Harpe Golden, 2011/04/29
- Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts, Stephen J. Turnbull, 2011/04/30
- Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts, Paul Eggert, 2011/04/29
- Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts,
Paul Eggert <=
- Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts, Eli Zaretskii, 2011/04/30
support 64-bit EMACS_INT on 32-bit hosts, Paul Eggert, 2011/04/29