aboutsummaryrefslogtreecommitdiff
path: root/lib/AsmParser/Lexer.l.cvs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/AsmParser/Lexer.l.cvs')
-rw-r--r--lib/AsmParser/Lexer.l.cvs6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/AsmParser/Lexer.l.cvs b/lib/AsmParser/Lexer.l.cvs
index b67f6ff102..2218aa5164 100644
--- a/lib/AsmParser/Lexer.l.cvs
+++ b/lib/AsmParser/Lexer.l.cvs
@@ -161,6 +161,7 @@ QuoteLabel \"[^\"]+\":
/* Quoted names can contain any character except " and \ */
StringConstant \"[^\"]*\"
AtStringConstant @\"[^\"]*\"
+PctStringConstant %\"[^\"]*\"
/* LocalVarID/GlobalVarID: match an unnamed local variable slot ID. */
LocalVarID %[0-9]+
@@ -366,6 +367,11 @@ shufflevector { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
return ATSTRINGCONSTANT;
}
+{PctStringConstant} {
+ yytext[strlen(yytext)-1] = 0; // nuke end quote
+ llvmAsmlval.StrVal = strdup(yytext+2); // Nuke @, quote
+ return PCTSTRINGCONSTANT;
+ }
{PInteger} { int len = strlen(yytext);
uint32_t numBits = ((len * 64) / 19) + 1;
APInt Tmp(numBits, yytext, len, 10);