www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 16963] New: Wrong label name resolution in asm statement

https://issues.dlang.org/show_bug.cgi?id=16963

          Issue ID: 16963
           Summary: Wrong label name resolution in asm statement
           Product: D
           Version: D2
          Hardware: All
                OS: Windows
            Status: NEW
          Severity: major
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: rumbu rumbu.ro

If there is a symbol with the same name as a label in an asm statement, any
jump instruction to that label will go to the symbol instead, even it's in
another module.

import core.cpuid;

void foo()
{
  asm
  {
    jmp sse;   //this will jump to core.cpuid.sse;
    sse:
    ret;
  }
}

--
Dec 10 2016