[gs-cvs] rev 6928 - trunk/gs/src

giles at ghostscript.com giles at ghostscript.com
Sun Jul 23 12:25:14 PDT 2006


Author: giles
Date: 2006-07-23 12:25:14 -0700 (Sun, 23 Jul 2006)
New Revision: 6928

Modified:
   trunk/gs/src/genarch.c
Log:
Remove the requirement for HAVE_LONG_LONG to be defined before generating
ARCH_LOG2_SIZEOF_LONG_LONG. Since this was added, we've begun requiring
both signed and unsigned 64 bit types. Almost all platforms with a 64 bit
int provide long long, so this defaulting to on is a better approach.

We make an exception for MSVC which we support and which does not provide
'long long'. The requirement for a 64 bit type is taken care of by a matching
platform-specific #ifdef section in stdint_.h.

To add support for other such platforms, add another platform option to this
#ifdef and a corresponding section to stdint_.h.

Bug 688805 for customer 613.


Modified: trunk/gs/src/genarch.c
===================================================================
--- trunk/gs/src/genarch.c	2006-07-21 20:48:22 UTC (rev 6927)
+++ trunk/gs/src/genarch.c	2006-07-23 19:25:14 UTC (rev 6928)
@@ -160,7 +160,11 @@
     define_int(f, "ARCH_LOG2_SIZEOF_SHORT", ilog2(size_of(short)));
     define_int(f, "ARCH_LOG2_SIZEOF_INT", ilog2(size_of(int)));
     define_int(f, "ARCH_LOG2_SIZEOF_LONG", ilog2(size_of(long)));
-#ifdef HAVE_LONG_LONG
+#ifndef _MSC_VER
+    /* MSVC does not provide 'long long' but we need this on some archs
+       to define a 64 bit type. A corresponding #ifdef in stdint_.h handles
+       that case for MSVC. Most other platforms do support long long if
+       they have a 64 bit type at all */
     define_int(f, "ARCH_LOG2_SIZEOF_LONG_LONG", ilog2(size_of(long long)));
 #endif
     define_int(f, "ARCH_SIZEOF_GX_COLOR_INDEX", sizeof(GX_COLOR_INDEX_TYPE));



More information about the gs-cvs mailing list