Hi Ken, On Sun 14 Aug 2011 00:00, Ken Raeburn <raeb...@raeburn.org> writes:
> * We should expect some Guile applications to be in C++. What > versions of the C++ spec should Guile support? Dunno. What do other languages have to do with Guile's C interface? Specifically what does C++ have to do with this? (Serious question.) > * Shouldn't there be testing to catch this? (C89 mode, C99 mode, > different C++ specs, enabling various compiler warnings -- for > whatever compiler is in use -- and make them fatal, any interesting > ways one might want to use libguile in an application that might > stress compatibility issues.) I mean automated testing, not just > Cedric. :-) Perhaps :) Interested volunteers are welcome to set this up :) >> I will take a look at this issue soonish, but your help (and Cedric's) >> in debugging it is most appreciated :) I would love to keep the union >> as the "normal" SCM definition, but that might not be possible. > > Regardless of the validity, there are popular compilers out there now > which do not support this, when used in modes people may need or want > to use. The installed headers need to adhere to higher standards in > terms of portability problems and warnings than the library source, > where we can dictate some of the compiler options. Agreed. And AFAIK there are some ABI differences for returning unions versus returning uintptr_t, so unfortunately it can't be a question of ifdefs in Guile's C interface, it seems. I'll work on this, but if you have any suggestions as to the proper fix, they are most welcome. Andy -- http://wingolog.org/