r180976 - Move parsing of identifiers in MS-style inline assembly into

John McCall rjmccall at apple.com
Tue May 14 15:03:29 PDT 2013


On May 14, 2013, at 8:25 AM, Hans Wennborg <hans at chromium.org> wrote:
> On Fri, May 3, 2013 at 1:10 AM, John McCall <rjmccall at apple.com> wrote:
>> Author: rjmccall
>> Date: Thu May  2 19:10:13 2013
>> New Revision: 180976
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=180976&view=rev
>> Log:
>> Move parsing of identifiers in MS-style inline assembly into
>> the actual parser and support arbitrary id-expressions.
> 
> This seems to have broken the ability to use labels inside MS-style
> inline assembly. For example, the following no longer compiles:
> 
>  void foo() {
>    __asm {
>  a:
>      jmp a
>    }
>  }
> 
> because Clang now errors out when it fails to look up the identifier "a".
> 
> Do you have any ideas for a good way to handle this?

The interface should probably have a way to say that the frontend just
didn't recognize a name, and Clang should trigger that when it sees a
bare identifier that's not in the lookup tables.

John.



More information about the cfe-commits mailing list