2012/3/1 Paul Eggert > > === modified file 'src/m/amdx86-64.h' > > --- src/m/amdx86-64.h 2012-01-19 07:21:25 +0000 > > +++ src/m/amdx86-64.h 2012-02-28 07:00:30 +0000 > > @@ -17,7 +17,13 @@ > > You should have received a copy of the GNU General Public License > > along with GNU Emacs. If not, see . */ > > > > -#define BITS_PER_LONG 64 > > +#ifdef _WIN64 > > +# define BITS_PER_LONG 32 > > +# define BITS_PER_LONG_LONG 64 > > +#else > > +# define BITS_PER_LONG 64 > > +#endif > > Since this stuff is normally defined by 'configure', it should be put > into nt/config.nt rather than into a src/m/* file; there shouldn't be > a need to use or to modify src/m/amdx86-64.h. Similarly for the other > changes to src/m/amdx86-64.h. I don't see how that file is used under > Windows 64; but if it is, we should fix that, and not change the file. > I used this file instead of src/m/i386.h because it seemed to have this purpose of holding machine dependent constants. I could probably put this stuff into config.nt, but in this case I wonder what is the purpose of the m/ directory? Surely, every other architecture could also rely on configure to guess the right values? By the way, this is what I have currently : === modified file 'src/m/amdx86-64.h' --- src/m/amdx86-64.h 2012-01-19 07:21:25 +0000 +++ src/m/amdx86-64.h 2012-02-28 07:00:30 +0000 @@ -17,7 +17,13 @@ You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -#define BITS_PER_LONG 64 +#ifdef _WIN64 +# define BITS_PER_LONG 32 +# define BITS_PER_LONG_LONG 64 +#else +# define BITS_PER_LONG 64 +#endif + #define BITS_PER_EMACS_INT 64 /* Now define a symbol for the cpu type, if your compiler @@ -27,9 +33,17 @@ /* __x86_64 defined automatically. */ /* Define the type to use. */ -#define EMACS_INT long -#define pI "l" -#define EMACS_UINT unsigned long +#ifdef _WIN64 +# define EMACS_INT __int64 +# define EMACS_UINT unsigned __int64 +# define pI "ll" +# define VIRT_ADDR_VARIES +# define DATA_START get_data_start () +#else +# define EMACS_INT long +# define pI "l" +# define EMACS_UINT unsigned long +#endif /* Define XPNTR to avoid or'ing with DATA_SEG_BITS */ #undef DATA_SEG_BITS -- Fabrice Popineau ----------------------------- SUPELEC Département Informatique 3, rue Joliot Curie 91192 Gif/Yvette Cedex Tel direct : +33 (0) 169851950 Standard : +33 (0) 169851212 ------------------------------