LLVM определяет псевдонимы для глобальных значений :
@<Name> = [Linkage] [PreemptionSpecifier] [Visibility] [DLLStorageClass] [ThreadLocal] [(unnamed_addr|local_unnamed_addr)] alias <AliaseeTy>, <AliaseeTy>* @<Aliasee>
Какие допустимые значения <Aliasee>
?
- Только имена, встречающиеся где-то еще в текущие модули или
- также имена, которые встречаются в других модулях, которые будут связаны позже?
Я думал, что межмодульные псевдонимы были разрешены, но я не могу заставить его работать. Я продолжаю получать ошибки этого типа:
<string>:5:39: error: use of undefined value '@my_name'
@"MyAlias" = external alias i32, i32* @my_name
^
Примечание: @my_name
не определено в текущем модуле. Он определен в другом модуле.