aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2008-03-22 08:36:14 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2008-03-22 08:36:14 +0000
commit726d45c548a8f366562d4674418e8bfb7d4a56e7 (patch)
tree284ceac92058df449211ccaa9d32e595c36e07d5
parent591858a403a71fc5b30bc7b071f18bc0cf327cfc (diff)
downloadexternal_llvm-726d45c548a8f366562d4674418e8bfb7d4a56e7.zip
external_llvm-726d45c548a8f366562d4674418e8bfb7d4a56e7.tar.gz
external_llvm-726d45c548a8f366562d4674418e8bfb7d4a56e7.tar.bz2
Aliasing chains cleanups: update langref, add check into verifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48685 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--docs/LangRef.html4
-rw-r--r--lib/VMCore/Verifier.cpp7
2 files changed, 8 insertions, 3 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 41128c3..096acf2 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -763,8 +763,8 @@ a power of 2.</p>
</div>
<div class="doc_text">
<p>Aliases act as "second name" for the aliasee value (which can be either
- function or global variable or bitcast of global value). Aliases may have an
- optional <a href="#linkage">linkage type</a>, and an
+ function, global variable, another alias or bitcast of global value). Aliases
+ may have an optional <a href="#linkage">linkage type</a>, and an
optional <a href="#visibility">visibility style</a>.</p>
<h5>Syntax:</h5>
diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp
index 6126253..f6bc4b9 100644
--- a/lib/VMCore/Verifier.cpp
+++ b/lib/VMCore/Verifier.cpp
@@ -377,7 +377,12 @@ void Verifier::visitGlobalAlias(GlobalAlias &GA) {
"Aliasee should be either GlobalValue or bitcast of GlobalValue",
&GA);
}
-
+
+ const GlobalValue* Aliasee = GA.resolveAliasedGlobal();
+ Assert1(Aliasee,
+ "Aliasing chain should end with global function or global variable",
+ &GA);
+
visitGlobalValue(GA);
}