1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-23 18:47:57 +00:00

Add a test for DECL_ALIGN support, and add a trivial definition to

src/config.h if 8-byte alignment is not supported.
This commit is contained in:
Eli Zaretskii 2004-11-12 18:18:43 +00:00
parent f431a91000
commit a30fb04fbc

View File

@ -158,6 +158,22 @@ goto src42
: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