www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 2317] New: asm offsetof generates: Internal error: ../ztc/cod3.c 2651

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2317

           Summary: asm offsetof generates: Internal error: ../ztc/cod3.c
                    2651
           Product: D
           Version: 1.034
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: manuelk89 gmx.net


// file main.d

struct Foo
{
        // Use one of these lines at a time

        //float x;    // OK
        float x,y;  // ERROR
        //float[0] x; // OK
        //float[1] x; // OK
        //float[2] x; // ERROR
        //float[3] x; // ERROR

        //int x;    // OK
        //int x,y;  // ERROR
        //int[2] x; // ERROR

        //char x;    // OK
        //char x,y;  // OK !!
        //char[2] x; // OK !!

        //dchar x,y;  // ERROR
        //dchar[2] x; // ERROR
}

void bar(Foo f)
{
  asm
  {
    // bug seems to arise whenever 'offsetof f' is used
    mov EAX, offsetof f;
  }
}

---------------
$  dmd main.d
Internal error: ../ztc/cod3.c 2651

This error seems to arise whenever the struct has more than one "field" (either
as real variable field or even as array), but interestingly it works for char.
'f' has to be a parameter, it compiles fine when declared as a global or local
var.


-- 
Aug 27 2008
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2317





------- Comment #1 from snake.scaly gmail.com  2008-08-28 15:24 -------
The error also arises in case of:

char x,y,a,b,c; // ERROR
real x;         // ERROR

That is, when Foo.sizeof > 4.


-- 
Aug 28 2008
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2317





------- Comment #2 from bugzilla digitalmars.com  2008-08-29 00:30 -------
Don't worry, I'll have that one fixed in the next update.


-- 
Aug 28 2008
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2317


bugzilla digitalmars.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #3 from bugzilla digitalmars.com  2008-09-03 01:38 -------
Fixed dmd 1.035 and 2.019


-- 
Sep 02 2008