Добрый день.У меня проблема с созданием GlobalVariable.У меня уже есть extern для этого глобала в заголовочном файле, чтобы использовать его следующим образом
extern const void* DATA_TABLE[];
И с LLVM PASS я пытаюсь создать этот массив с тем же именем и с инициализатором.Итак, у меня есть следующее:
GlobalVariable *gvar_data = new GlobalVariable(
M, blockItems->getType(), true, GlobalValue::CommonLinkage,
blockItems, "DATA_TABLE");
gvar_data->setAlignment(16);
gvar_data->setSection("data_section");
gvar_data->addAttribute(llvm::Attribute::OptimizeNone);
Я не уверен, правильно ли я использую Linkage или нет.Пропуск не удалось завершить.Здесь ошибка во время выполнения.Есть предположения, что я делаю неправильно?
'common' global must have a zero initializer!
[10 x i8*]* @DATA_TABLE.1
LLVM ERROR: Broken module found, compilation aborted:::::::::!