【发布时间】:2010-08-12 16:04:50
【问题描述】:
我正在尝试 "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);
}
谁能帮我解决这个问题?非常感谢!
最好的,
丹尼尔
【问题讨论】:
-
我很受鼓舞,非常需要更多工作示例:code examples for learning LLVM backend programming
标签: c++ compiler-construction llvm