我在“Writing an LLVM Pass”网页中尝试了 Hello pass 示例。我按照说明编译(使用 gcc-4.2)Hello.cpp,但出现编译错误:
Hello.cpp:20:错误:字符串常量之前的预期标识符
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);
}
任何人都可以帮我解决这个问题吗?非常感谢!
最好的,
丹尼尔