MS inline asm parsing failures

Hi All,

I’m doing AST based analysis of some code that uses MS style inline asm (target: i686-pc-win32) and I’m seeing some new errors since the recent(ish) changes to inline parsing:

prefetchnta 64[ESI]

  • unexpected token in argument list

prefetchnta [esi + (200*64)]

  • unexpected token in argument list

movq mm1, 0[ESI]

  • unexpected token in argument list

and ecx, 111b

  • invalid reference to undefined symbol

add ecx, offset $label_name

  • Asserts in
    X86AsmParser::ParseIntelOffsetOfOperator() with “Expected an identifier”

Should these cases be supported in the first place?

  • Will.

Hi Will,
I’ve been doing the vast majority of the MS inline assembly work. I’m on vacation at the moment, but when I return to the office on Monday I’ll certainly investigate and get back to you.

Can you please provide the preprocessed source? Feel free to send that in a private message.