diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-10-05 19:42:57 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-10-05 19:42:57 +0000 |
commit | b91bac6c9600643585e983fe5bcb92f792f690f3 (patch) | |
tree | 7218fba0f695e3d72e4c0e6394b22e506c9a6a14 /llvm/lib/MC/MCParser/AsmParser.cpp | |
parent | 1d4cc2f06cd9532e7130815b5105a8fbd8d7113b (diff) | |
download | bcm5719-llvm-b91bac6c9600643585e983fe5bcb92f792f690f3.tar.gz bcm5719-llvm-b91bac6c9600643585e983fe5bcb92f792f690f3.zip |
Add support for a fill value in the .zero directive.
llvm-svn: 115655
Diffstat (limited to 'llvm/lib/MC/MCParser/AsmParser.cpp')
-rw-r--r-- | llvm/lib/MC/MCParser/AsmParser.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp index 974e4ab0a64..e627ebb96fa 100644 --- a/llvm/lib/MC/MCParser/AsmParser.cpp +++ b/llvm/lib/MC/MCParser/AsmParser.cpp @@ -1498,12 +1498,19 @@ bool AsmParser::ParseDirectiveZero() { if (ParseAbsoluteExpression(NumBytes)) return true; + int64_t Val = 0; + if (getLexer().is(AsmToken::Comma)) { + Lex(); + if (ParseAbsoluteExpression(Val)) + return true; + } + if (getLexer().isNot(AsmToken::EndOfStatement)) return TokError("unexpected token in '.zero' directive"); Lex(); - getStreamer().EmitFill(NumBytes, 0, DEFAULT_ADDRSPACE); + getStreamer().EmitFill(NumBytes, Val, DEFAULT_ADDRSPACE); return false; } |