* config.nt: Configure 64-bit integers.
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 30 Apr 2011 06:51:50 +0000 (23:51 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 30 Apr 2011 06:51:50 +0000 (23:51 -0700)
(BITS_PER_LONG_LONG): Define if C99-style long long and "%lld" work.
(EMACS_INT, BITS_PER_EMACS_INT, pI): Otherwise, define these if
__int64 and "%I64d" work.

nt/ChangeLog
nt/config.nt

index ea4f754..4597478 100644 (file)
@@ -1,3 +1,10 @@
+2011-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * config.nt: Configure 64-bit integers.
+       (BITS_PER_LONG_LONG): Define if C99-style long long and "%lld" work.
+       (EMACS_INT, BITS_PER_EMACS_INT, pI): Otherwise, define these if
+       __int64 and "%I64d" work.
+
 2011-04-28  Eli Zaretskii  <eliz@gnu.org>
 
        * gmake.defs (ARCH): Fix error message in case of unknown
 
   You should have received a copy of the GNU General Public License
   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-
index a159234..f46868c 100644 (file)
@@ -470,6 +470,17 @@ extern char *getenv ();
 #define BITS_PER_LONG 32
 #endif
 
+#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
+
 #ifndef POINTER_TYPE
 #define POINTER_TYPE void
 #endif
@@ -508,4 +519,3 @@ void w32_abort (void) NO_RETURN;
 
 /* Make a leaner executable.  */
 #define WIN32_LEAN_AND_MEAN 1
-