Status: Accepted
Owner: ----
Labels: Type-Maintainability
New issue 2088 by gra...@percival-music.ca: pointer confusion with clang++
http://code.google.com/p/lilypond/issues/detail?id=2088
Attempting to compile with clang++, or do a static analysis:
gperciva@chikara:~/src/lilypond/lily$ clang++ -I../build/ -Iinclude/
-I../flower/include/ -I../build/lily/out/ --analyze accidental-engraver.cc
produces tons of errors in the form:
accidental-engraver.cc:501:1: error: cannot cast from type 'void
(Accidental_engraver::*)(Grob_info)' to pointer type
'Engraver_void_function_engraver_grob_info' (aka 'void (*)(Engraver *,
Grob_info)')
ADD_ACKNOWLEDGER (Accidental_engraver, arpeggio);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/translator.icc:119:23: note: expanded from:
add_acknowledger ((Engraver_void_function_engraver_grob_info) & ...
^
I don't have much of a clue as to how to fix this, since it gets into a
bunch of weird #define macros. Hopefully a C++ guru out there can fix this
-- my intuition is that it'd be a one-line fix that removes 100+ errors.
If nobody touches this in a week, I'll work away at it myself.
_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond