Скажем, у меня есть следующее определение структуры C:
struct stringStructure
{
char *stringVariable;
};
Для вышеизложенного Clang производит следующий LLVM IR:
%struct.stringStructure = type { i8* }
... что включает в себя все в моем определении, кроме идентификатора переменной stringVariable
.
Я хотел бы найти способ экспортировать идентификатор в сгенерированный IR LLVM, чтобы я мог ссылаться на него по имени из моего приложения (которое использует LLVM C ++ API).
Я попытался добавить атрибут annotate
следующим образом:
char *stringVariable __attribute__((annotate("stringVariable")));
... но аннотация, кажется, не проходит (структура все еще определяется как type { i8* }
).
Есть идеи?