Hello all,
I was trying the Hello pass example in the "Writing an LLVM Pass" webpage ( http://llvm.org/docs/WritingAnLLVMPass.html#basiccode ). I followed the instructions to compile (with gcc-4.2) the Hello.cpp, but I got the compile errors:
Hello.cpp:20: error: expected identifier before string constant
Hello.cpp:20: error: expected ',' or '...' before string constant
Hello.cpp:20: error: expected constructor, destructor, or type conversion before ';' token
which is the line "INITIALIZE_PASS(Hello, "Hello", "Hello World Pass", false, false);" in the program. The program is:
#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);
}
Could any one help me with this? Thank you very much!
Best,
Daniel