www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 6799] New: Backend ICE involving AAs and pointers to structs

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

           Summary: Backend ICE involving AAs and pointers to structs
           Product: D
           Version: D2
          Platform: All
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: debio264 gmail.com



---
Code Sample: 
struct ChunkLoc {
}

class Chunk {

        private ChunkLoc _loc;

         property
        public ChunkLoc loc()  {
                return _loc;
        }
}

private struct FiberWaitingForChunk {
}

class WorldCache {
        FiberWaitingForChunk*[ChunkLoc] _fibersWaitingForChunks;
        void chunkLoaded(Chunk chunk) {
                _fibersWaitingForChunks.remove(chunk.loc);
        }
}

Output:
Internal error: backend/type.c 304

(Code doesn't make much sense because it's a very reduced scenario)
(Kudos to DustMite)

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


Benjamin Thaut <code benjamin-thaut.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |code benjamin-thaut.de



PST ---
Any progress on this?
Still happening with dmd 2.058 on windows.

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




PST ---
This only seems to happen when passing a struct to remove by value. If you pass
it by reference everything is fine.

Reduced repro case + workaround:

struct ChunkLoc {}

ChunkLoc Get()
{
  return ChunkLoc();
}

int main(string[] args)
{
  int[ChunkLoc] aa;
  aa.remove(Get());

  //workaround
  //auto value = Get();
  //aa.remove(value);
  return 0;
}

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


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla digitalmars.com
         OS/Version|Windows                     |All



21:09:10 PDT ---
https://github.com/D-Programming-Language/dmd/pull/2633

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




Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/1709042d8650a8550882e5c553a4a9b5fb79148f
fix Issue 6799 - ICE(type.c) involving AAs and pointers to structs

https://github.com/D-Programming-Language/dmd/commit/16e678b2c9a7c71e0701e9d945c1f5fdde7c10fb


fix Issue 6799 - ICE(type.c) involving AAs and pointers to structs

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


Walter Bright <bugzilla digitalmars.com> changed:

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


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 08 2013