[EMAIL PROTECTED] (Ludovic Courtès) writes: > > The following patch makes `scm_is_pair ()' an inline --- the macro was > indeed a bad idea because there are places (e.g., async.c:208) where its > argument is an assignment.
Which is probably not really in line with gnu coding standards (standards.info end of "Syntactic Conventions" node). But I guess any application might do it. > I'm not sure that's the only reason, but I'm now unable to compile Guile > with `-O0': when doing so, I get a "stack overflow" error when trying to > run the REPL. Perhaps we should also declare the function with > `__attribute__ ((always_inline))'? That was ceval/deval() local variables on gcc 4 last time I hit that. -O1 may be better, or just on eval.c at least. > +static SCM_C_INLINE int I suspect extern inline is what you want, static inline might end up with a copy of the code in every file, under -O0 at least. But extern inline is even more of a gcc-ism, if you're worried about the commercial compilers. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel