changeset 58186:fbbbaeca30e8

Add a test for DECL_ALIGN support, and add a trivial definition to src/config.h if 8-byte alignment is not supported.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 12 Nov 2004 18:18:43 +0000
parents dede1456f91a
children 61a5f2bd2e1c
files config.bat
diffstat 1 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/config.bat	Fri Nov 12 17:10:38 2004 +0000
+++ b/config.bat	Fri Nov 12 18:18:43 2004 +0000
@@ -158,6 +158,22 @@
 :src41
 sed -f ../msdos/sed2v2.inp <config.tmp >config.h2
 :src42
+Rem See if DECL_ALIGN can be supported with this GCC
+rm -f junk.c junk.o junk junk.exe
+echo struct { int i; char *p; } __attribute__((__aligned__(8))) foo;  >junk.c
+rem Two percent signs because it is a special character for COMMAND.COM
+echo int main(void) { return (unsigned long)&foo %% 8; }             >>junk.c
+gcc -o junk junk.c
+if not exist junk.exe coff2exe junk
+junk
+If Not ErrorLevel 1 Goto alignOk
+Echo WARNING: Your GCC does not support 8-byte aligned variables.
+Echo WARNING: Therefore Emacs cannot support buffers larger than 128MB.
+rem The following line disables DECL_ALIGN which in turn disables USE_LSB_TAG
+rem For details see lisp.h where it defines USE_LSB_TAG
+echo #define DECL_ALIGN(type, var) type var >>config.h2
+:alignOk
+rm -f junk.c junk junk.exe
 update config.h2 config.h >nul
 rm -f config.tmp config.h2