Disallow aliases to available_externally.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 26 Nov 2015 19:22:59 +0000 (19:22 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 26 Nov 2015 19:22:59 +0000 (19:22 +0000)
commit58019e7bea3edec0a60b593799142402ab562216
tree7584f393008f04fe0cb6127ce7f746de13fe50f0
parent9f7045b0a68c9735f86fa5b828b280f12b36e45a
Disallow aliases to available_externally.

They are as much trouble as aliases to declarations. They are requiring
the code generator to define a symbol with the same value as another
symbol, but the second symbol is undefined.

If representing this is important for some optimization, we could add
support for available_externally aliases. They would be *required* to
point to a declaration (or available_externally definition).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254170 91177308-0d34-0410-b5e6-96231b3b80d8
lib/IR/Verifier.cpp
lib/Linker/LinkModules.cpp
lib/Transforms/IPO/ElimAvailExtern.cpp
test/Linker/funcimport.ll
test/Transforms/FunctionImport/funcimport.ll
test/Verifier/alias.ll