aboutsummaryrefslogtreecommitdiffstats
path: root/lib/AsmParser
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-04-25 21:26:00 +0000
committerChris Lattner <sabre@nondot.org>2009-04-25 21:26:00 +0000
commit5a871bba692eff7a3404fe4ec3a55e7f239da254 (patch)
tree971d2575f1d1cdc1927f8fec5c2cd7e4693cc3e7 /lib/AsmParser
parentcc864b0de7709ad1a286399697349fae6cb94a68 (diff)
downloadexternal_llvm-5a871bba692eff7a3404fe4ec3a55e7f239da254.zip
external_llvm-5a871bba692eff7a3404fe4ec3a55e7f239da254.tar.gz
external_llvm-5a871bba692eff7a3404fe4ec3a55e7f239da254.tar.bz2
testcase and asmparser fix for PR4066
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70080 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser')
-rw-r--r--lib/AsmParser/LLParser.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp
index af30992..a2edf05 100644
--- a/lib/AsmParser/LLParser.cpp
+++ b/lib/AsmParser/LLParser.cpp
@@ -357,7 +357,9 @@ bool LLParser::ParseNamedGlobal() {
/// ParseAlias:
/// ::= GlobalVar '=' OptionalVisibility 'alias' OptionalLinkage Aliasee
/// Aliasee
-/// ::= TypeAndValue | 'bitcast' '(' TypeAndValue 'to' Type ')'
+/// ::= TypeAndValue
+/// ::= 'bitcast' '(' TypeAndValue 'to' Type ')'
+/// ::= 'getelementptr' '(' ... ')'
///
/// Everything through visibility has already been parsed.
///
@@ -379,7 +381,8 @@ bool LLParser::ParseAlias(const std::string &Name, LocTy NameLoc,
Constant *Aliasee;
LocTy AliaseeLoc = Lex.getLoc();
- if (Lex.getKind() != lltok::kw_bitcast) {
+ if (Lex.getKind() != lltok::kw_bitcast &&
+ Lex.getKind() != lltok::kw_getelementptr) {
if (ParseGlobalTypeAndValue(Aliasee)) return true;
} else {
// The bitcast dest type is not present, it is implied by the dest type.