Пиша пропуск на функция и бих искал да добавя глобална променлива от тип int във фазата на инициализация, за използване в действителната работа на пропуска.
Досега имам
bool doInitialization(Module &M) {
LLVMContext &c = M.getContext();
Type *intTy = TypeBuilder<int,false>::get(c);
Value *p = M.getOrInsertGlobal("var1",intTy);
return true
}
По някаква причина var1 има тип int*. Например добавяне на това след декларацията
Type *pt = p->getType();
if (isa<PointerType>(pt)) {
errs().write_escaped("Is a pointer ty") << '\n';
}
Ще завърши с печат, когато компилираният код се изпълни и
if ((intTy->getPointerTo()) == (p->getType())) {
errs().write_escaped("This is confusing") << '\n';
}
Отново ще отпечата низа.
Възможно ли е да се добави глобална променлива от тип int с помощта на този метод и ако е така, къде греша?