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>



Reply via email to