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