forked from OSchip/llvm-project
MC: do not add comment string to the AsmToken in AsmLexer::LexLineComment
Fixes macros with varargs if the macro instantiation has a trailing comment. Patch by Janne Grunau! llvm-svn: 211219
This commit is contained in:
parent
763e2cb6e5
commit
71ede29e9c
|
@ -201,8 +201,8 @@ AsmToken AsmLexer::LexLineComment() {
|
|||
CurChar = getNextChar();
|
||||
|
||||
if (CurChar == EOF)
|
||||
return AsmToken(AsmToken::Eof, StringRef(CurPtr, 0));
|
||||
return AsmToken(AsmToken::EndOfStatement, StringRef(CurPtr, 0));
|
||||
return AsmToken(AsmToken::Eof, StringRef(TokStart, 0));
|
||||
return AsmToken(AsmToken::EndOfStatement, StringRef(TokStart, 0));
|
||||
}
|
||||
|
||||
static void SkipIgnoredIntegerSuffix(const char *&CurPtr) {
|
||||
|
|
|
@ -17,6 +17,12 @@
|
|||
.endif
|
||||
.endm
|
||||
|
||||
.macro ifcc4 arg0, arg1:vararg
|
||||
.if cc
|
||||
movl \arg1, \arg0
|
||||
.endif
|
||||
.endm
|
||||
|
||||
.text
|
||||
|
||||
// CHECK: movl %esp, %ebp
|
||||
|
@ -25,6 +31,8 @@
|
|||
// CHECK: movl %ecx, %ebx
|
||||
// CHECK: movl %ecx, %eax
|
||||
// CHECK: movl %eax, %ecx
|
||||
// CHECK: movl %ecx, %eax
|
||||
// CHECK: movl %eax, %ecx
|
||||
.set cc,1
|
||||
ifcc movl %esp, %ebp
|
||||
subl $0, %esp
|
||||
|
@ -33,6 +41,8 @@
|
|||
ifcc2 %ecx, %ebx
|
||||
ifcc3 %ecx %eax
|
||||
ifcc3 %eax, %ecx
|
||||
ifcc4 %eax %ecx ## test
|
||||
ifcc4 %ecx, %eax ## test
|
||||
|
||||
// CHECK-NOT movl
|
||||
// CHECK: subl $1, %esp
|
||||
|
|
Loading…
Reference in New Issue