Keith OHara <k-ohara5...@oco.net> writes: > Phil Holmes <mail <at> philholmes.net> writes: > >> >> I've managed to work out how to upgrade Ubuntu 10.04 to gcc 4.8.1 >> with the help of StackOverflow, and can now compile again. > > I'm still working on sorting out dependencies. > > The troublesome macro asks is used in only three places, creating > in each place a templated function call with the same name, asking > the compiler to call the correct one of four variants of the function > based on the argument count of a passed function pointer. > > If I can't get the dependencies worked out I'll be tempted to skip > the macro and use scm_call_1() through scm_call_3() in place of each > of the three macro expansions.
Why? Seriously. 10.04 is not even supported by Ubuntu itself any more. I have a patch cooking that will convert hundreds of Scheme callbacks to member functions with that technique. Part of the reason is to get argument type checks in for stuff like (ly:grob::stencil-height 0) which just segfaults right now. Having a member function instead of a static member makes the code simpler while the static template generated by this technique does the typechecking while creating a this-pointer from an SCM. And if you call the member function via C++ with an existing instance pointer, you bypass the typechecking. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel