]> git.eshelyaron.com Git - emacs.git/commitdiff
Add a test for DECL_ALIGN support, and add a trivial definition to
authorEli Zaretskii <eliz@gnu.org>
Fri, 12 Nov 2004 18:18:43 +0000 (18:18 +0000)
committerEli Zaretskii <eliz@gnu.org>
Fri, 12 Nov 2004 18:18:43 +0000 (18:18 +0000)
src/config.h if 8-byte alignment is not supported.

config.bat

index c7be653b873adbcd95ba53312040d4fc10c513e2..647752443911f9b6c78400d5575f9e2323e62cfc 100644 (file)
@@ -158,6 +158,22 @@ goto src42
 :src41\r
 sed -f ../msdos/sed2v2.inp <config.tmp >config.h2\r
 :src42\r
+Rem See if DECL_ALIGN can be supported with this GCC\r
+rm -f junk.c junk.o junk junk.exe\r
+echo struct { int i; char *p; } __attribute__((__aligned__(8))) foo;  >junk.c\r
+rem Two percent signs because it is a special character for COMMAND.COM\r
+echo int main(void) { return (unsigned long)&foo %% 8; }             >>junk.c\r
+gcc -o junk junk.c\r
+if not exist junk.exe coff2exe junk\r
+junk\r
+If Not ErrorLevel 1 Goto alignOk\r
+Echo WARNING: Your GCC does not support 8-byte aligned variables.\r
+Echo WARNING: Therefore Emacs cannot support buffers larger than 128MB.\r
+rem The following line disables DECL_ALIGN which in turn disables USE_LSB_TAG\r
+rem For details see lisp.h where it defines USE_LSB_TAG\r
+echo #define DECL_ALIGN(type, var) type var >>config.h2\r
+:alignOk\r
+rm -f junk.c junk junk.exe\r
 update config.h2 config.h >nul\r
 rm -f config.tmp config.h2\r
 \r