Я пробовал пример Hello pass на веб-странице "Запись LLVM Pass" .Я следовал инструкциям по компиляции (с gcc-4.2) Hello.cpp, но получил ошибки компиляции:
Hello.cpp: 20: error: ожидаемый идентификатор перед строковой константой
Hello.cpp: 20: ошибка: ожидается ',' или '...' перед строковой константой
Hello.cpp: 20: ошибка: ожидается конструктор, деструктор или преобразование типа перед ';'токен
, который является строкой INITIALIZE_PASS(Hello, "Hello", "Hello World Pass", false, false);
в программе.Программа:
#include "llvm/Pass.h"
#include "llvm/Function.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
namespace {
struct Hello : public FunctionPass {
static char ID;
Hello() : FunctionPass(&ID) {}
virtual bool runOnFunction(Function &F) {
errs() << "Hello: " << F.getName() << "\n";
return false;
}
};
char Hello::ID = 0;
INITIALIZE_PASS(Hello, "Hello", "Hello World Pass", false, false);
}
Может ли кто-нибудь помочь мне с этим?Большое спасибо!
Лучший,
Даниил