Hi Janneke!
Mes 0.27.1 builds using NYACC 2.02.2, which uses srfi-71 only in
--8<---------------cut here---------------start------------->8---
module/nyacc/lang/c99/ffi-help-bs.scm: #:use-module (srfi srfi-71)
module/nyacc/lang/c99/ffi-help-cd.scm: #:use-module (srfi srfi-71)
--8<---------------cut here---------------end--------------->8---
and I believe those are not used by mescc?
Hm, that was Matt's guess¹, don't know. This is the error message with any
newer version of NYACC:
Hello,M2-mes!
+> GUILE_LOAD_PATH=/fubar
+> cp bin/mes-m2 bin/mes
+mescc -c -v -D HAVE_CONFIG_H=1 -I include -I src
lib/linux/x86_64-mes-mescc/crt1.c -o lib/x86_64-mes/crt1.o
parsing: input
unhandled exception: not-a-pair: (("defined(__MES_LIB_MINI_H)" . car))
Backtrace:
[c] (dynamic-wind before thunk after)
[c] (dynamic-wind before thunk after)
[c] (dynamic-wind before thunk after)
[c] (loop lst acc)
My best guess is a switch from (system base pmatch) to (ice-9 match) in NYACC’s
cpp.scm.
Good, please use bug-...@gnu.org for that conversation. I have already
created a "wip-bootstrap-x86_64" in Mes with one big patch (the result
of they "path-source" stage), which may be helpful. That needs to be
split up, of course.
OK, fine.
I'm still wondering how you got upstream TCC to compile, as I don't
really see (m)any fixes/additions for "float" or "double" in mescc;
In as.scm anything is integer only, there is no floating point support at all in
Mes. Any float/double value will become an #:immediate which gets converted with
dec->hex and so any fraction is dropped. Well, my guess is that some TCC code
with float/double will be truncated to integer arithmetic without fractions.
That’s for sure buggy, but that part does not seem to harm TCC when building
itself. Lucky me! :-)
Bye
Stefan
¹ <https://savannah.nongnu.org/bugs/index.php?66626#comment8>