www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 6177] New: Insert in associative array: Internal error: backend/cgcs.c 162

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

           Summary: Insert in associative array: Internal error:
                    backend/cgcs.c 162
           Product: D
           Version: D2
          Platform: x86_64
        OS/Version: Linux
            Status: NEW
          Severity: blocker
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: jsancio gmail.com



I am hitting what I believe is a dmd bug when I try to insert into an AA that
points to a struct that contains a struct with a destructor. The following code
yields an error:

struct Parent
{
   struct Child
   {
      AnotherStruct another;
   }

   struct AnotherStruct
   {
      ~this() {}
   }

   void fun()
   {
      map[0] = Selection.init;
   }

   Child[int] map;
}

void main()
{}

---

dmd -w map_test.d
Internal error: backend/cgcs.c 162


Note: I am using the latest master.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 19 2011
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6177


Andrei Alexandrescu <andrei metalanguage.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrei metalanguage.com



09:24:50 PDT ---
Where is Selection?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 19 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6177





 Where is Selection?
Oops, Sorry. It should be Child.init. Was trying to simplify my Select/Socket project that uses struct for RAII and forgot to remove all the domain specific references... -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 19 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6177


kennytm gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kennytm gmail.com



Reduced:

-----------------------------------------
struct Bug6177 {
    ~this() {}
}
void main() {
    cast(void) [0: Bug6177.init];
}
-----------------------------------------
Internal error: backend/cgcs.c 162
-----------------------------------------


Strangely, the error does not appear when -O *is* supplied.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 19 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6177


kennytm gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Platform|x86_64                      |All
         OS/Version|Linux                       |All
           Severity|blocker                     |regression



This is a regression introduced somewhere between 2.052 and 2.053 (for Mac OS
X).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 19 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6177





 Strangely, the error does not appear when -O *is* supplied.
Very nice, my code compiles with -O. I'll use that as a work around for now! -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 19 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6177




The regression was introduced in commit 0857.

https://github.com/D-Programming-Language/dmd/commit/085715a2cdf3c6c490654b2fa1a48ae58858d2d9

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 19 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6177


Trass3r <mrmocool gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mrmocool gmx.de



I'm getting the very same ICE with the following code:

struct F
{
    ~this()    {}
}

struct G
{
    this(F[] p...) {}
}

void main()
{
    F c;
    G g = G(c);
}

DMD v2.054

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Aug 11 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6177


Richard Webb <webby beardmouse.org.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |webby beardmouse.org.uk



PDT ---
I'm getting this when trying to compile the Juno library with the latest DMD
source.
The crash there seems to reduce to:

////////////////
struct foo
{
    ~this()
    {

    }
}

void bar(foo[] args...)
{

}

void main()
{
    bar();
}
////////////////

It's ok if i compile it with -O.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 20 2011
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6177


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bugzilla digitalmars.com
         Resolution|                            |FIXED



10:51:54 PST ---
https://github.com/D-Programming-Language/dmd/commit/a682b8253a4cdd26e7727c3014ea6bba8f9c1cc8

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 19 2012