summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2021-12-03 13:05:31 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2021-12-03 13:09:34 -0800
commit1e2bc1bbf47782df7f9b8051f33904432c55e6e4 (patch)
treec67397a32fd0acf6c009b6b8d34dba6e61ba7dbc
parent397a6a73d7885c0aa4eb7396eeb6aaaec8b0202b (diff)
downloademacs-1e2bc1bbf47782df7f9b8051f33904432c55e6e4.tar.gz
emacs-1e2bc1bbf47782df7f9b8051f33904432c55e6e4.tar.bz2
emacs-1e2bc1bbf47782df7f9b8051f33904432c55e6e4.zip
Port to Tiny C on x86-64
This allows Emacs to build on Ubuntu 21.10 x86-64 with ‘./configure --without-modules CC=tcc’. * configure.ac (GC_SETJMP_WORKS): Accept __x86_64__ as an alias for __amd64__. * src/lisp.h (alignas): Provide a no-op substitute.
-rw-r--r--configure.ac1
-rw-r--r--src/lisp.h5
2 files changed, 6 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index c36dffde84c..0c23b60805b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5426,6 +5426,7 @@ case $opsys in
#if defined __i386__ || defined __sparc__ || defined __mc68000__ \
|| defined __alpha__ || defined __mips__ || defined __s390__ \
|| defined __arm__ || defined __powerpc__ || defined __amd64__ \
+ || defined __x86_64__ \
|| defined __ia64__ || defined __sh__
/* ok */
#else
diff --git a/src/lisp.h b/src/lisp.h
index 242156bbcb8..d44ab55453b 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -259,6 +259,11 @@ DEFINE_GDB_SYMBOL_BEGIN (EMACS_INT, VALMASK)
# define VALMASK (USE_LSB_TAG ? - (1 << GCTYPEBITS) : VAL_MAX)
DEFINE_GDB_SYMBOL_END (VALMASK)
+/* Ignore 'alignas' on compilers lacking it. */
+#if !defined alignas && !defined __alignas_is_defined
+# define alignas(a)
+#endif
+
/* Minimum alignment requirement for Lisp objects, imposed by the
internal representation of tagged pointers. It is 2**GCTYPEBITS if
USE_LSB_TAG, 1 otherwise. It must be a literal integer constant,