bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issue 2088 in lilypond: pointer confusion with clang++


From: lilypond
Subject: Re: Issue 2088 in lilypond: pointer confusion with clang++
Date: Fri, 09 Dec 2011 14:24:53 +0000


Comment #1 on issue 2088 by address@hidden: pointer confusion with clang++
http://code.google.com/p/lilypond/issues/detail?id=2088

The existing code uses a G++ extension (described in GCC manual 7.6), which allows this conversion of member function pointer to straight function pointer. If you remove the -Wno-pmf-conversions from makefile in lily directory, you will see warnings from g++ at the same places clang++ shows errors.

These warnings/errors can be eliminated by changing the two typedefs at the end of lily-proto.hh to:

typedef void (Engraver::* Engraver_void_function_engraver_grob_info) (Grob_info);
typedef void (Translator::* Translator_void_method_ptr) ();

but this creates trouble when the pointers are used, for example in Translator_method_binding::invoke(). I have to head to work now, but I will look more closely at it over the weekend and see if I can suggest a fix. The extension is presumably used as an optimization, so obviously it would be best if the solution does not create performance problems.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]