LLVM, чтоб его.

Баг 2008 года в LLVM портит мне жизнь. Берем тестовый файлик следующего содержания:

class RPC_Service
{
public:
  virtual ~RPC_Service ();
};
class EventLoggingInterface
{
  virtual void
    Ev (const char *file, int line, int sev, const char *fmt,
        ...) const = 0;
};
class RPCCore : RPC_Service, EventLoggingInterface
{
  virtual void
    Ev (const char *file, int line, int sev, const char *fmt, ...) const;
};
void
RPCCore::Ev (const char *file, int line, int sev, const char *format, ...) const
{
}

Выполняем команду:

/Developer/usr/bin/llvm-g++ thunk_error.cpp -c

И в результате получаем:

thunk_error.cpp:19: error: generic thunk code fails for method ‘virtual void RPCCore::Ev(const char*, int, int, const char*, ...) const’ which uses ‘...’

Неужели придется отказаться от LLVM? Интерфейс, в моем случае, поменять врятли удастся. Вобщем писать кроссплатформенный код это еще та засада

4 Comments LLVM, чтоб его.

  1. Alexander Stavonin

    Да, пожалуй я не слишком корректно написал. Ошибка есть как в llvm-g++, так и в clang, т.к. проблема идет из LLVM.

    Reply
  2. Alexéy S.

    У меня clang компилирует без ошибок, а llvm-g++ даёт ошибку. Стоит Xcode4.

    Reply
  3. Alexander Stavonin

    У меня предыдущая версия Clang, видимо баг поправили.
    Хотя, от того что новая версия Clang собирает не особо легче, для сборке больших плюсовых проектов Clang, как мне кажется, еще сыроват. Зачастую вылезают глюки совершенно непонятного происхождения.

    Reply

Leave a Reply to Annulen Cancel reply