www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 9847] New: ICE on CTFE literal cast(uint) on DMD 2.062

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

           Summary: ICE on CTFE literal cast(uint) on DMD 2.062
           Product: D
           Version: D2
          Platform: x86_64
        OS/Version: All
            Status: NEW
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: oivind.loe gmail.com



Created an attachment (id=1204)
D-code and Makefile reprodusing ICE issue that appeared in DMD 2.062

I have tested the attached code on DMD 2.060 and 2.061, and there it does not
give ICE, so this is a regression. At this point, ICE is also present on
'master'.

Attached is a testcase reduced with 'dustmite'. It produces some other errors
as well because of the reduction, but please disregard them. The exact same ICE
appears in my non-reduced program. 

Extract and run with

"make clean && make"

produces:

Cleaning...
Compiling: src/main.d -> build/debug/src/main.o
src/boss/core/addr.d(9): Error: undefined identifier procId, did you mean alias
tProcId?
src/boss/core/annotstruct.d(3): Error: no identifier for declarator index
src/boss/core/annotstruct.d(3): Error: semicolon expected, not 'EOF'
src/boss/core/annotstruct.d(3): Error: undefined identifier index
src/boss/core/annotstruct.d(3): Error: constructor addr.Addr.this (_error_,
uint) is not callable using argument types (uint,uint)
src/boss/core/addr.d(6): Error: Internal Compiler Error: CTFE literal
cast(uint)PROC_INVALID
dmd: ctfeexpr.c:353: Expression* copyLiteral(Expression*): Assertion `0'
failed.
Aborted (core dumped)

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


Iain Buclaw <ibuclaw ubuntu.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ibuclaw ubuntu.com



Further reduction:

----
import std.array;

template MsgMixin()
{
  mixin annotStructMembers!(MsgHeader.init);
}

template MsgReqMixin(T ...)
{
  mixin MsgMixin!T;
}

template annotStructMembers(T ...)
{
  mixin(mixinMembers!T);
}

struct MsgHeader
{
  alias uint tProcId;
  alias uint tNodeId;
  const PROC_INVALID = 0;
  tProcId m_procId = PROC_INVALID;
  tNodeId NODE_SELF;

  this(procId, tNodeId) {}
}

struct MsgLogFlush
{
  mixin MsgReqMixin;
}

Ret[] iterAnnotStruct(Ret, alias Op, int index, string member, T ...)()
{
  return [Op!(index, member, T).value];
}

string mixinMembers(T ...)()
{
  struct Op(V ...) {
      const value = V[0].stringof ~ V[1] ~ " = " ~ V[2].stringof;
  }
  return join(iterAnnotStruct!(string, Op, 0, "", T));
}
----


Regards
Iain

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




Sorry I cannot reproduce the bug.
- Original sources in attached file does not work with dmd-make or MSYS GNU
make.
- Reduced test case by Iain does not cause ICE.

But, this seems to me a duplicate of bug 9775 (the internal error file and
error is same).

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





 Sorry I cannot reproduce the bug.
 - Original sources in attached file does not work with dmd-make or MSYS GNU
 make.
 - Reduced test case by Iain does not cause ICE.
 
 But, this seems to me a duplicate of bug 9775 (the internal error file and
 error is same).
Did you test with the development branch or the most recent release? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 02 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9847






 Sorry I cannot reproduce the bug.
 - Original sources in attached file does not work with dmd-make or MSYS GNU
 make.
 - Reduced test case by Iain does not cause ICE.
 
 But, this seems to me a duplicate of bug 9775 (the internal error file and
 error is same).
Did you test with the development branch or the most recent release?
Also, I found that the order of code affected whether or nor the bug shows itself as well, so you could try testing that too. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 02 2013
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9847


Kenji Hara <k.hara.pg gmail.com> changed:

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




 Did you test with the development branch or the most recent release?
Ah, OK. I had used git head, and I reproduced the problem with 2.062 release. And I confirmed that this is really a dup of 9775. *** This issue has been marked as a duplicate of issue 9775 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 02 2013