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


--- Comment #0 from Jose Garcia <jsancio gmail.com> 2011-06-19 09:06:45 PDT ---
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


--- Comment #1 from Andrei Alexandrescu <andrei metalanguage.com> 2011-06-19
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



--- Comment #2 from Jose Garcia <jsancio gmail.com> 2011-06-19 09:28:51 PDT ---
(In reply to comment #1)
 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


--- Comment #3 from kennytm gmail.com 2011-06-19 10:41:06 PDT ---
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


--- Comment #4 from kennytm gmail.com 2011-06-19 10:45:58 PDT ---
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



--- Comment #5 from Jose Garcia <jsancio gmail.com> 2011-06-19 10:48:55 PDT ---
(In reply to comment #3)
 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



--- Comment #6 from kennytm gmail.com 2011-06-19 11:18:15 PDT ---
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


--- Comment #7 from Trass3r <mrmocool gmx.de> 2011-08-11 18:15:50 PDT ---
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


--- Comment #8 from Richard Webb <webby beardmouse.org.uk> 2011-10-20 08:15:12
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


--- Comment #9 from Walter Bright <bugzilla digitalmars.com> 2012-01-19
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