lilypond-devel
[Top][All Lists]
Advanced

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

compilation with clang


From: Werner LEMBERG
Subject: compilation with clang
Date: Sat, 03 Nov 2018 16:11:53 +0100 (CET)

[git 964722f8046cbc77633fb8efbc4696677a579311]


Folks,


for better support of lilypond on MacOS I think it would be a good
idea to be able to compile lilypond with clang.  Trying so with
clang-6.0 as provided by my openSuSE GNU/Linux box quickly aborts as
follows (clang-6.0 on my MacOS Lion box fails in the same way, BTW).

======================================================================

volta-engraver.cc:200:1: error:
    no matching function for call to 'method_finder'
ADD_TRANSLATOR (Volta_engraver,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/translator.icc:67:3: note:
    expanded from macro 'ADD_TRANSLATOR'
  IMPLEMENT_FETCH_PRECOMPUTABLE_METHODS (classname);                    \
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/translator.icc:78:7: note:
    expanded from macro 'IMPLEMENT_FETCH_PRECOMPUTABLE_METHODS'
      method_finder <&T::start_translation_timestep> ();                \
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
volta-engraver.cc:43:3: note: candidate template ignored:
    invalid explicitly-specified argument for template parameter 'mf'
  TRANSLATOR_DECLARATIONS (Volta_engraver);
  ^
./include/translator.hh:111:3: note:
    expanded from macro 'TRANSLATOR_DECLARATIONS'
  TRANSLATOR_FAMILY_DECLARATIONS (NAME);                                \
  ^
./include/translator.hh:78:3: note:
    expanded from macro 'TRANSLATOR_FAMILY_DECLARATIONS'
  DECLARE_TRANSLATOR_CALLBACKS (NAME);                                  \
  ^
./include/translator.hh:87:14: note:
    expanded from macro 'DECLARE_TRANSLATOR_CALLBACKS'
  static SCM method_finder ()                                           \
             ^
volta-engraver.cc:43:3: note: candidate template ignored:
    invalid explicitly-specified argument for template parameter 'mf'
./include/translator.hh:111:3: note:
    expanded from macro 'TRANSLATOR_DECLARATIONS'
  TRANSLATOR_FAMILY_DECLARATIONS (NAME);                                \
  ^
./include/translator.hh:78:3: note:
    expanded from macro 'TRANSLATOR_FAMILY_DECLARATIONS'
  DECLARE_TRANSLATOR_CALLBACKS (NAME);                                  \
  ^
./include/translator.hh:92:14: note:
    expanded from macro 'DECLARE_TRANSLATOR_CALLBACKS'
  static SCM method_finder ()                                           \
             ^
volta-engraver.cc:43:3: note: candidate template ignored:
    invalid explicitly-specified argument for template parameter 'mf'
./include/translator.hh:111:3: note:
    expanded from macro 'TRANSLATOR_DECLARATIONS'
  TRANSLATOR_FAMILY_DECLARATIONS (NAME);                                \
  ^
./include/translator.hh:78:3: note:
    expanded from macro 'TRANSLATOR_FAMILY_DECLARATIONS'
  DECLARE_TRANSLATOR_CALLBACKS (NAME);                                  \
  ^
./include/translator.hh:97:14: note:
    expanded from macro 'DECLARE_TRANSLATOR_CALLBACKS'
  static SCM method_finder () {                                         \
             ^
======================================================================

Looking around in the internet it seems that this is a real problem,
violating the C++11 standard, cf.

  
https://stackoverflow.com/questions/33872039/invalid-explicitly-specified-argument-in-clang-but-successful-compilation-in-gcc

Unfortunately, I'm completely stuck with a fix – my C++ knowledge is
simply too limited.  Anyone here who could help?


    Werner

reply via email to

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