[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Windows 64 port

From: Paul Eggert
Subject: Re: Windows 64 port
Date: Mon, 20 Feb 2012 09:48:48 -0800
User-agent: Mozilla/5.0 (X11; Linux i686; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2

I took a quick look, found several problems, and thought
I'd write one or two down before I forgot them....

The patch is too intrusive to the mainline code
and many of its changes should be omitted.
Generally speaking it's OK (for portability to future
POSIX hosts) to replace 'long' with 'ptrdiff_t' or 'ssize_t'
or 'intptr_t' when appropriate, and to replace 'unsigned long'
with 'size_t' or 'uintptr_t' as appropriate, but other
type replacements are dubious and should generally be omitted.
For example:

-      int i = 0, aligned = (intptr_t) ABLOCKS_BUSY (abase);
+      int i = 0;
+      intptr_t aligned = (intptr_t) ABLOCKS_BUSY (abase);

Here, the value of 'aligned' is either 0 or 1, so there's
no need to change its type.

The changes to src/m/amdx86-64.h would break GNU/Linux and
need to be backed out and redone.

This mishandles Emacs integers outside the signed 32-bit range:

-#define XFASTINT(a) ((a) + 0)
+#define XFASTINT(a) ((int)((a) + 0))

reply via email to

[Prev in Thread] Current Thread [Next in Thread]