Greetings, Please find attached files (two new C headers and the execution log for configure and make). Note that I have used the name "arm64" instead of "aarch64" for the architecture name, because that's how macOS's system headers name it. Note that I also replaced some macros (FPE_INIT related) by copying related non-x86 code from h/linux.h.
Unfortunately I cannot reach that far - there are C compilation errors when building saved_pre_gcl. There are at least the following issues: 1. macOS's typedef of "size_t" (= __darwin_size_t) is incompatible with "#define size_t unsigned int" generated in /h/gclincl.h 2. undeclared identifiers (such as 'RA_unsigned') in h/gmp_wrappers.h. I'm not sure which GMP library I'm actually using (MacPorts' GMP is not used for sure) 3. 'h/new_decl.h' file not found (or not generated?) --Chun On 18/04/25 23:41, Camm Maguire wrote: > Greetings! Great, something I can understand! > > I am assuming per our previous conversations that there is no virtualbox > image possible here. > > Do you have access to such a machine? Would you be willing to engage in > a short dialog constructing this file? It should not be too hard. > > If so, the first step is to copy the 386-macosx.h file to > aarch64-macosx.h, and replace > > #include <mach-o/x86_64/reloc.h> > #define RELOC_H "mach64_i386_reloc.h" > > with > > #include <mach-o/aarch64/reloc.h> > #define RELOC_H "mach64_aarch64_reloc.h" > > then make an empty file h/mach64_aarch64_reloc.h. > > Then configure with --enable-machine=aarch64-macosx > > and > > make unixport/saved_pre_gcl. > > Make two small .lsp files: > > ============================================================================= > /tmp/f.l > ============================================================================= > (defun foo nil nil) > ============================================================================= > > ============================================================================= > /tmp/g.l > ============================================================================= > (defun bar nil (unwind-protect nil nil)) > ============================================================================= > > Execute unixport/saved_pre_gcl and > >> (compile-file "/tmp/f.l") >> (compile-file "/tmp/g.l") >> (si::bye) > > then send me > > objdump -d /tmp/f.o > objdump -r /tmp/f.o > > objdump -d /tmp/g.o > objdump -r /tmp/g.o > > Take care, > > "Chun Tian (binghe)" <binghe.l...@gmail.com> writes: > >> Greetings, >> >> On 18/04/25 00:26, Camm Maguire wrote: >>> Greetings! >>> >>> "Chun Tian (binghe)" <binghe.l...@gmail.com> writes: >>> >>>> On 12/04/25 21:14, Camm Maguire wrote: >>> >>>>>> Do you have release plans for GCL 2.6.15? >>>>> >>>> >>>> At this moment I'm not sure 2.7 is really better in every respect. I saw >>>> you >>>> were trying to build Debian "axiom" package by GCL 2.7 but it seems that >>>> currently the Debian package is still based on GCL 2.6 (I don't have >>>> Debian sid >>>> environment, only a Debian testing.) >>>> >>>> If you can make a 2.6.15 release (and consider it's the last 2.6.x >>>> release), one >>>> immediate good thing is that I can send a small PR to MacPorts to update >>>> existing "gcl" package, such that it will work on more macOS versions >>>> (more than >>>> what 2.6.14 can support). And I think it's good to have Axiom (ACL2, >>>> Maxima, >>>> etc.) to support both GCL 2.6.15 and 2.7.1, and then people can compare on >>>> the >>>> performance of these software under different GCL versions, to confirm if >>>> GCL >>>> 2.7 is really better in every respect. >>> >>> OK, you have persuaded me. But I think it would be good to get the mac >>> arm build working before the next release. 2.6.13 only lasted one >>> month, so perhaps we could try a cleanup only 2.6.15 and 2.7.2 in this >>> time frame, and then move on to other items. Can you please point me to >>> a build log showing the arm failure? I've explored the macports site >>> and cannot find it. >>> >> The immediate issues when trying to build GCL (2.6 and 2.7) in ARM64 macOS, >> is >> that the "configuration" script cannot pass. I think the key issue is that no >> such configuration "aarch64 + macosx" exists in h/*. For GCL 2.7, using >> i386-macosx as a workaround doesn't work (of course). (I wanted to learn the >> way of aarch64-linux but then found h/linux.h is mostly related to ELF format >> while macOS uses Mach-O.) >> >> In attach you can find 3 logs as the outputs of configuration scripts. I >> think >> the first step is to figure out a reasonable "aarch64-macosx.h". >> >> --Chun >> >> >> >> >
/* GCL config file for Mac OS X. To be used with the following configure switches : --enable-debug (optional) --enable-machine=powerpc-macosx --disable-statsysbfd --enable-custreloc Aurelien Chanudet <aurelien.chanudet(at)m4x.org> */ /* For those who are using ACL2, please remember to enlarge your shell stack (ulimit -s 8192). */ #include "bsd.h" #define DARWIN /* Mac OS X has its own executable file format (Mach-O). */ #undef HAVE_AOUT #undef HAVE_ELF /* Alternatively, we could use the global variable vm_page_size. */ #define PAGEWIDTH 12 #include <unistd.h> /* to get sbrk defined */ /** (si::save-system "...") a.k.a. unexec implementation */ /* The implementation of unexec for GCL is based on Andrew Choi's work for Emacs. Previous pioneering implementation of unexec for Mac OS X by Steve Nygard. */ #define UNIXSAVE "unexmacosx.c" #undef malloc #define malloc my_malloc #undef free #define free my_free #undef realloc #define realloc my_realloc #undef valloc #define valloc my_valloc #undef calloc #define calloc my_calloc /** Dynamic loading implementation */ /* The sfasl{bfd,macosx,macho}.c files are included from sfasl.c. */ #ifdef HAVE_LIBBFD #define SEPARATE_SFASL_FILE "sfaslbfd.c" #else #define SPECIAL_RSYM "rsym_macosx.c" #define SEPARATE_SFASL_FILE "sfaslmacho.c" #endif /* The file has non Mach-O stuff appended. We need to know where the Mach-O stuff ends. */ #include <stdio.h> extern int seek_to_end_ofile (FILE *); #define SEEK_TO_END_OFILE(fp) seek_to_end_ofile(fp) /** Stratified garbage collection implementation [ (si::sgc-on t) ] */ /* Mac OS X has sigaction (this is needed in o/usig.c) */ #define HAVE_SIGACTION /* Copied from {Net,Free,Open}BSD.h */ /* Modified according to Camm's instructions on April 15, 2004. */ #define HAVE_SIGPROCMASK /* until the sgc/save problem can be fixed. 20050114 CM*/ /* #define SGC */ #define MPROTECT_ACTION_FLAGS (SA_SIGINFO | SA_RESTART) #define INSTALL_MPROTECT_HANDLER \ do { \ static struct sigaction sact; \ sigfillset (&(sact.sa_mask)); \ sact.sa_flags = MPROTECT_ACTION_FLAGS; \ sact.sa_sigaction = (void (*) ()) memprotect_handler; \ sigaction (SIGBUS, &sact, 0); \ sigaction (SIGSEGV, &sact, 0); \ } while (0); #define GET_FAULT_ADDR(sig,code,sv,a) ((siginfo_t *)code)->si_addr /** Misc stuff */ #define IEEEFLOAT /* Mac OS X does not have _fileno as in linux.h. Nor does it have _cnt as in bsd.h. Let's see what we can do with this declaration found in {Net,Free,Open}BSD.h. */ #undef LISTEN_FOR_INPUT #define LISTEN_FOR_INPUT(fp) \ do {int c=0; \ if (((FILE *)fp)->_r <=0 && (c=0, ioctl(((FILE *)fp)->_file, FIONREAD, &c), c<=0)) \ return(FALSE); \ } while (0) #define GET_FULL_PATH_SELF(a_) \ do { \ extern int _NSGetExecutablePath (char *, unsigned long *); \ unsigned long bufsize = 1024; \ static char buf [1024]; \ static char fub [1024]; \ if (_NSGetExecutablePath (buf, &bufsize) != 0) { \ error ("_NSGetExecutablePath failed"); \ } \ if (realpath (buf, fub) == 0) { \ error ("realpath failed"); \ } \ (a_) = fub; \ } while (0) #define C_GC_OFFSET 4 #include <mach-o/arm64/reloc.h> #define RELOC_H "mach64_arm64_reloc.h" #define UC(a_) ((ucontext_t *)a_) #define SF(a_) ((siginfo_t *)a_) /* BEGIN: copied from "linux.h" for non-x86 architectures */ #define FPE_TCODE(x_) \ {ufixnum _x=(x_),_y=0; \ switch(_x) { \ case FPE_FLTINV: _y=FE_INVALID;break; \ case FPE_FLTDIV: _y=FE_DIVBYZERO;break; \ case FPE_FLTOVF: _y=FE_OVERFLOW;break; \ case FPE_FLTUND: _y=FE_UNDERFLOW;break; \ case FPE_FLTRES: _y=FE_INEXACT;break; \ } \ _y; \ } #define FPE_CODE(i_,v_) make_fixnum(FPE_TCODE((fixnum)SF(i_)->si_code)) #define FPE_ADDR(i_,v_) make_fixnum((fixnum)SF(i_)->si_addr) #define FPE_CTXT(v_) Cnil #define FPE_INIT Nil /* END */ #include <sys/param.h>/*PATH_MAX MAXPATHLEN*/ #undef MIN #undef MAX #undef sbrk #define sbrk msbrk #define INITIALIZE_BRK msbrk_init();
#include <mach-o/arm64/reloc.h>
binghe@binghe-mini4:/Volumes/GNU/gcl/gcl$ ./configure --enable-machine=arm64-macosx checking for a BSD-compatible install... /opt/local/bin/ginstall -c checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 2 checking whether build environment is sane... yes checking for a race-free mkdir -p... /opt/local/bin/gmkdir -p checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking xargs -n works... yes checking how to create a pax tar archive... gnutar checking for emacs... emacs checking where .elc files should go... ${datarootdir}/emacs/site-lisp checking for gawk... (cached) awk checking build system type... aarch64-apple-darwin24.4.0 checking host system type... aarch64-apple-darwin24.4.0 host=aarch64-apple-darwin24.4.0 enable_machine=arm64-macosx use=arm64-macosx checking whether make supports the include directive... yes (GNU style) checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... gcc3 checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for wchar.h... yes checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking whether _XOPEN_SOURCE should be defined... no checking for ranlib... ranlib checking for gcc... (cached) gcc checking whether the compiler supports GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to enable C11 features... (cached) none needed checking whether gcc understands -c and -o together... (cached) yes checking dependency style of gcc... (cached) gcc3 checking how to run the C preprocessor... gcc -E checking for CFLAG -fsigned-char... yes checking for CFLAG -pipe... yes checking for CFLAG -fcommon... yes checking for CFLAG -fno-builtin-malloc... yes checking for CFLAG -fno-builtin-free... yes checking for CFLAG -fno-PIE... yes checking for CFLAG -fno-pie... yes checking for CFLAG -fno-PIC... yes checking for CFLAG -fno-pic... yes checking for CFLAG -std=gnu17... yes checking for CFLAG -Wall... yes checking for CFLAG -Wno-builtin-requires-header... yes checking for CFLAG -Wno-empty-body... yes checking for CFLAG -Wno-self-assign... yes checking for CFLAG -Wno-unused-but-set-variable... yes checking for CFLAG -D_FILE_OFFSET_BITS=64... yes checking for CFLAG -D_TIME_BITS=64... yes checking for CFLAG -fbracket-depth=512... yes checking for LDFLAG -no-pie... no checking for LDFLAG -Wl,-z,relro... no checking for inline semantics... new checking for gawk... (cached) awk checking for CFLAG -pg... yes checking working gprof... ok checking for makeinfo... ${SHELL} '/Volumes/GNU/gcl/gcl/missing' makeinfo checking system version (for dynamic loading)... Darwin-24.4.0 checking for malloc/malloc.h... yes checking for struct _malloc_zone_t.memalign... yes checking for setjmp.h... yes checking sizeof jmp_buf... 192 checking for unistd.h... (cached) yes checking for sysconf in -lc... yes checking _SC_CLK_TCK... 0 checking for gmp.h... yes checking for __gmpz_init in -lgmp... yes checking for external gmp version... good checking for leading underscore in object symbols... "yes" checking for size of gmp limbs... 8 checking _SHORT_LIMB... no checking _LONG_LONG_LIMB... no checking for GNU ld option -Map... no checking for X... libraries , headers checking for main in -lX11... yes checking for dlopen in -ldl... yes checking for xdr_double... yes checking __builtin_clzl... yes checking __builtin_ctzl... yes checking __builtin___clear_cache... no checking size of long... 8 checking size of short... 2 checking size of int... 4 checking size of char... 1 checking for math.h... yes checking for complex.h... yes checking for byte order... little checking for word order... little checking for hugepagewidth... not found checking for pagewidth... 14 checking for required object alignment... 8 checking for C extension variable alignment... __attribute__ ((aligned (8))) checking for C extension noreturn function attribute... __attribute__ ((noreturn)) checking sizeof struct contblock... 16 checking CSTACK_DIRECTION... -1 checking finding CSTACK_ALIGNMENT... 1 checking CSTACK_TOP... 0x16cea3fff checking relocated CSTACK_TOP... 0x16d6bffff checking cstack bits... 33 checking NEG_CSTACK_ADDRESS... no checking finding default linker script... got it checking output_arch... not found configure: trying to adjust text start configure: min log text start 62 configure: max log text start 0 checking our linker script... none found or not needed checking mem top... 0x8000000000000000 checking finding upper mem half range... 0x4000000000000000 checking sizeof long long int... no checking for dirent.h... yes checking for d_type... yes checking for getcwd... yes checking for getwd... yes checking for rename... yes checking for uname... yes checking for readlinkat... yes checking for sys/ioctl.h... yes checking for elf.h... no checking for elf_abi.h... no checking for sys/sockio.h... yes checking for sin in -lm... yes checking for main in -lmingwex... no checking for values.h... no checking for float.h... yes checking for isnormal... yes checking for isfinite... yes checking for sockets... checking for connect... yes checking for gethostbyname... yes checking for readline/readline.h... yes checking for rl_initialize in -lreadline... yes checking for el_getc in -lreadline... no checking for rl_completion_matches in -lreadline... yes checking RL_COMPLETION_ENTRY_FUNCTION_TYPE_FUNCTION... no checking RL_COMPLETION_ENTRY_FUNCTION_TYPE_RL_COMPENTRY_FUNC_T... yes checking RL_READLINE_NAME_TYPE_CHAR... no checking RL_READLINE_NAME_TYPE_CONST_CHAR... yes checking For network code for nsocket.c... yes checking check for listen using fcntl... yes checking for profil... no checking for setenv... yes checking for _cleanup... yes checking FIONBIO vs. O_NONBLOCK for nonblocking I/O... O_NONBLOCK checking check for SV_ONSTACK... yes checking check for SIGSYS... yes checking check for SIGEMT... yes checking for sigaltstack... yes checking for feenableexcept... no checking for dis-asm.h... no checking for tclsh... tclsh checking for tcl/tk... not found checking for sys/mman.h... yes checking for mprotect... yes checking for alloca.h... yes ./configure: line 11664: ac_fn_c_check_type: command not found checking for working alloca.h... no checking for alloca... no checking stack direction for C alloca... -1 checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating bin/gcl config.status: creating unixport/init_raw.lsp config.status: creating h/gclincl.h config.status: executing depfiles commands cmp: h/config.h: No such file or directory configuration for arm64-macosx done binghe@binghe-mini4:/Volumes/GNU/gcl/gcl$ make unixport/saved_pre_gcl depbase=`echo o/typespec.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I./h -I h -I /usr/include/tirpc -fsigned-char -pipe -fcommon -fno-builtin-malloc -fno-builtin-free -fno-PIE -fno-pie -fno-PIC -fno-pic -std=gnu17 -Wall -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -fbracket-depth=512 -O3 -fomit-frame-pointer -I o -MT o/typespec.o -MD -MP -MF $depbase.Tpo -c -o o/typespec.o o/typespec.c &&\ mv -f $depbase.Tpo $depbase.Po In file included from o/typespec.c:30: In file included from ./h/include.h:75: In file included from ./h/config.h:28: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/unistd.h:73: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/unistd.h:180: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:50:32: error: cannot combine with previous 'type-name' declaration specifier 50 | typedef __darwin_size_t size_t; | ^ ./h/gclincl.h:467:25: note: expanded from macro 'size_t' 467 | #define size_t unsigned int | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:75: In file included from ./h/config.h:28: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/unistd.h:73: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/unistd.h:180: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:50:32: error: 'type-name' cannot be signed or unsigned ./h/gclincl.h:467:16: note: expanded from macro 'size_t' 467 | #define size_t unsigned int | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:97: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:58: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdlib.h:72: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/alloca.h:35:26: error: conflicting types for '__builtin_alloca' 35 | void *_LIBC_SIZE(__size) alloca(size_t __size); /* built-in for gcc */ | ^ ./h/include.h:43:16: note: expanded from macro 'alloca' 43 | #define alloca __builtin_alloca | ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/alloca.h:35:26: note: '__builtin_alloca' is a builtin with type 'void *(unsigned long)' ./h/include.h:43:16: note: expanded from macro 'alloca' 43 | #define alloca __builtin_alloca | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:248:1: error: unknown type name 'RF_unsigned'; did you mean 'unsigned'? 248 | EXPORT_GMP_CALL(1,size_t,size,0,mpz_t) | ^ ./h/../h/gmp_wrappers.h:196:3: note: expanded from macro 'EXPORT_GMP_CALL' 196 | MEM_GMP_CALL(n_,rt_,Join(mpz_,a_),s_,b_) \ | ^ ./h/../h/gmp_wrappers.h:178:11: note: expanded from macro 'MEM_GMP_CALL' 178 | INLINE Join(RF_,rt_) Join(m,a_)(Join(P,n_)(b_)) { \ | ^ ./h/../h/gmp_wrappers.h:8:21: note: expanded from macro 'Join' 8 | #define Join(a_,b_) join(a_,b_) | ^ ./h/../h/gmp_wrappers.h:7:21: note: expanded from macro 'join' 7 | #define join(a_,b_) a_ ## b_ | ^ <scratch space>:396:1: note: expanded from here 396 | RF_unsigned | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:248:1: error: use of undeclared identifier 'RD_unsigned'; did you mean 'aem_unsigned'? ./h/../h/gmp_wrappers.h:196:3: note: expanded from macro 'EXPORT_GMP_CALL' 196 | MEM_GMP_CALL(n_,rt_,Join(mpz_,a_),s_,b_) \ | ^ ./h/../h/gmp_wrappers.h:180:12: note: expanded from macro 'MEM_GMP_CALL' 180 | Join(RD_,rt_);\ | ^ ./h/../h/gmp_wrappers.h:8:21: note: expanded from macro 'Join' 8 | #define Join(a_,b_) join(a_,b_) | ^ ./h/../h/gmp_wrappers.h:7:21: note: expanded from macro 'join' 7 | #define join(a_,b_) a_ ## b_ | ^ <scratch space>:400:1: note: expanded from here 400 | RD_unsigned | ^ ./h/../h/enum.h:41:3: note: 'aem_unsigned' declared here 41 | aem_unsigned, | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:248:19: error: expected ';' after expression 248 | EXPORT_GMP_CALL(1,size_t,size,0,mpz_t) | ^ ./h/gclincl.h:467:25: note: expanded from macro 'size_t' 467 | #define size_t unsigned int | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:248:1: error: use of undeclared identifier 'RA_unsigned'; did you mean 'aem_unsigned'? 248 | EXPORT_GMP_CALL(1,size_t,size,0,mpz_t) | ^ ./h/../h/gmp_wrappers.h:196:3: note: expanded from macro 'EXPORT_GMP_CALL' 196 | MEM_GMP_CALL(n_,rt_,Join(mpz_,a_),s_,b_) \ | ^ ./h/../h/gmp_wrappers.h:187:12: note: expanded from macro 'MEM_GMP_CALL' 187 | Join(RA_,rt_) a_(Join(A,n_));\ | ^ ./h/../h/gmp_wrappers.h:8:21: note: expanded from macro 'Join' 8 | #define Join(a_,b_) join(a_,b_) | ^ ./h/../h/gmp_wrappers.h:7:21: note: expanded from macro 'join' 7 | #define join(a_,b_) a_ ## b_ | ^ <scratch space>:403:1: note: expanded from here 403 | RA_unsigned | ^ ./h/../h/enum.h:41:3: note: 'aem_unsigned' declared here 41 | aem_unsigned, | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:248:19: error: expected ';' after expression 248 | EXPORT_GMP_CALL(1,size_t,size,0,mpz_t) | ^ ./h/gclincl.h:467:25: note: expanded from macro 'size_t' 467 | #define size_t unsigned int | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:248:1: error: a parameter list without types is only allowed in a function definition 248 | EXPORT_GMP_CALL(1,size_t,size,0,mpz_t) | ^ ./h/../h/gmp_wrappers.h:196:3: note: expanded from macro 'EXPORT_GMP_CALL' 196 | MEM_GMP_CALL(n_,rt_,Join(mpz_,a_),s_,b_) \ | ^ ./h/../h/gmp_wrappers.h:187:29: note: expanded from macro 'MEM_GMP_CALL' 187 | Join(RA_,rt_) a_(Join(A,n_));\ | ^ ./h/../h/gmp_wrappers.h:8:21: note: expanded from macro 'Join' 8 | #define Join(a_,b_) join(a_,b_) | ^ ./h/../h/gmp_wrappers.h:7:21: note: expanded from macro 'join' 7 | #define join(a_,b_) a_ ## b_ | ^ <scratch space>:404:1: note: expanded from here 404 | A1 | ^ ./h/../h/gmp_wrappers.h:74:12: note: expanded from macro 'A1' 74 | #define A1 _b | ^ ./h/../h/gmp_wrappers.h:248:1: error: use of undeclared identifier 'RR_unsigned'; did you mean 'aem_unsigned'? ./h/../h/gmp_wrappers.h:196:3: note: expanded from macro 'EXPORT_GMP_CALL' 196 | MEM_GMP_CALL(n_,rt_,Join(mpz_,a_),s_,b_) \ | ^ ./h/../h/gmp_wrappers.h:192:19: note: expanded from macro 'MEM_GMP_CALL' 192 | return Join(RR_,rt_);\ | ^ ./h/../h/gmp_wrappers.h:8:21: note: expanded from macro 'Join' 8 | #define Join(a_,b_) join(a_,b_) | ^ ./h/../h/gmp_wrappers.h:7:21: note: expanded from macro 'join' 7 | #define join(a_,b_) a_ ## b_ | ^ <scratch space>:405:1: note: expanded from here 405 | RR_unsigned | ^ ./h/../h/enum.h:41:3: note: 'aem_unsigned' declared here 41 | aem_unsigned, | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:248:19: error: expected ';' after return statement 248 | EXPORT_GMP_CALL(1,size_t,size,0,mpz_t) | ^ ./h/gclincl.h:467:25: note: expanded from macro 'size_t' 467 | #define size_t unsigned int | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:249:1: error: unknown type name 'RF_unsigned'; did you mean 'unsigned'? 249 | EXPORT_GMP_CALL(2,size_t,sizeinbase,0,mpz_t,int) | ^ ./h/../h/gmp_wrappers.h:196:3: note: expanded from macro 'EXPORT_GMP_CALL' 196 | MEM_GMP_CALL(n_,rt_,Join(mpz_,a_),s_,b_) \ | ^ ./h/../h/gmp_wrappers.h:178:11: note: expanded from macro 'MEM_GMP_CALL' 178 | INLINE Join(RF_,rt_) Join(m,a_)(Join(P,n_)(b_)) { \ | ^ ./h/../h/gmp_wrappers.h:8:21: note: expanded from macro 'Join' 8 | #define Join(a_,b_) join(a_,b_) | ^ ./h/../h/gmp_wrappers.h:7:21: note: expanded from macro 'join' 7 | #define join(a_,b_) a_ ## b_ | ^ <scratch space>:407:1: note: expanded from here 407 | RF_unsigned | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:249:1: error: use of undeclared identifier 'RD_unsigned'; did you mean 'aem_unsigned'? ./h/../h/gmp_wrappers.h:196:3: note: expanded from macro 'EXPORT_GMP_CALL' 196 | MEM_GMP_CALL(n_,rt_,Join(mpz_,a_),s_,b_) \ | ^ ./h/../h/gmp_wrappers.h:180:12: note: expanded from macro 'MEM_GMP_CALL' 180 | Join(RD_,rt_);\ | ^ ./h/../h/gmp_wrappers.h:8:21: note: expanded from macro 'Join' 8 | #define Join(a_,b_) join(a_,b_) | ^ ./h/../h/gmp_wrappers.h:7:21: note: expanded from macro 'join' 7 | #define join(a_,b_) a_ ## b_ | ^ <scratch space>:412:1: note: expanded from here 412 | RD_unsigned | ^ ./h/../h/enum.h:41:3: note: 'aem_unsigned' declared here 41 | aem_unsigned, | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:249:19: error: expected ';' after expression 249 | EXPORT_GMP_CALL(2,size_t,sizeinbase,0,mpz_t,int) | ^ ./h/gclincl.h:467:25: note: expanded from macro 'size_t' 467 | #define size_t unsigned int | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:249:1: error: use of undeclared identifier 'RA_unsigned'; did you mean 'aem_unsigned'? 249 | EXPORT_GMP_CALL(2,size_t,sizeinbase,0,mpz_t,int) | ^ ./h/../h/gmp_wrappers.h:196:3: note: expanded from macro 'EXPORT_GMP_CALL' 196 | MEM_GMP_CALL(n_,rt_,Join(mpz_,a_),s_,b_) \ | ^ ./h/../h/gmp_wrappers.h:187:12: note: expanded from macro 'MEM_GMP_CALL' 187 | Join(RA_,rt_) a_(Join(A,n_));\ | ^ ./h/../h/gmp_wrappers.h:8:21: note: expanded from macro 'Join' 8 | #define Join(a_,b_) join(a_,b_) | ^ ./h/../h/gmp_wrappers.h:7:21: note: expanded from macro 'join' 7 | #define join(a_,b_) a_ ## b_ | ^ <scratch space>:415:1: note: expanded from here 415 | RA_unsigned | ^ ./h/../h/enum.h:41:3: note: 'aem_unsigned' declared here 41 | aem_unsigned, | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:249:19: error: expected ';' after expression 249 | EXPORT_GMP_CALL(2,size_t,sizeinbase,0,mpz_t,int) | ^ ./h/gclincl.h:467:25: note: expanded from macro 'size_t' 467 | #define size_t unsigned int | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:249:1: error: a parameter list without types is only allowed in a function definition 249 | EXPORT_GMP_CALL(2,size_t,sizeinbase,0,mpz_t,int) | ^ ./h/../h/gmp_wrappers.h:196:3: note: expanded from macro 'EXPORT_GMP_CALL' 196 | MEM_GMP_CALL(n_,rt_,Join(mpz_,a_),s_,b_) \ | ^ ./h/../h/gmp_wrappers.h:187:29: note: expanded from macro 'MEM_GMP_CALL' 187 | Join(RA_,rt_) a_(Join(A,n_));\ | ^ ./h/../h/gmp_wrappers.h:8:21: note: expanded from macro 'Join' 8 | #define Join(a_,b_) join(a_,b_) | ^ note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) <scratch space>:416:1: note: expanded from here 416 | A2 | ^ ./h/../h/gmp_wrappers.h:75:12: note: expanded from macro 'A2' 75 | #define A2 A1,_c | ^ ./h/../h/gmp_wrappers.h:74:12: note: expanded from macro 'A1' 74 | #define A1 _b | ^ ./h/../h/gmp_wrappers.h:249:1: error: use of undeclared identifier 'RR_unsigned'; did you mean 'aem_unsigned'? ./h/../h/gmp_wrappers.h:196:3: note: expanded from macro 'EXPORT_GMP_CALL' 196 | MEM_GMP_CALL(n_,rt_,Join(mpz_,a_),s_,b_) \ | ^ ./h/../h/gmp_wrappers.h:192:19: note: expanded from macro 'MEM_GMP_CALL' 192 | return Join(RR_,rt_);\ | ^ ./h/../h/gmp_wrappers.h:8:21: note: expanded from macro 'Join' 8 | #define Join(a_,b_) join(a_,b_) | ^ ./h/../h/gmp_wrappers.h:7:21: note: expanded from macro 'join' 7 | #define join(a_,b_) a_ ## b_ | ^ <scratch space>:417:1: note: expanded from here 417 | RR_unsigned | ^ ./h/../h/enum.h:41:3: note: 'aem_unsigned' declared here 41 | aem_unsigned, | ^ In file included from o/typespec.c:30: In file included from ./h/include.h:125: In file included from ./h/../h/notcomp.h:253: ./h/../h/gmp_wrappers.h:249:19: error: expected ';' after return statement 249 | EXPORT_GMP_CALL(2,size_t,sizeinbase,0,mpz_t,int) | ^ ./h/gclincl.h:467:25: note: expanded from macro 'size_t' 467 | #define size_t unsigned int | ^ In file included from o/typespec.c:30: ./h/include.h:129:10: fatal error: '../h/new_decl.h' file not found 129 | #include "../h/new_decl.h" | ^~~~~~~~~~~~~~~~~ 20 errors generated. make: *** [o/typespec.o] Error 1
signature.asc
Description: OpenPGP digital signature