Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
March 24, 2013 How to proceed with ICE? | ||||
---|---|---|---|---|
| ||||
After moving to 2.062, I get the following ICE: src/boss/core/addr.d(23): Error: Internal Compiler Error: CTFE literal cast(uint)PROC_INVALID dmd: ctfeexpr.c:353: Expression* copyLiteral(Expression*): Assertion `0' failed. Aborted (core dumped) The line it fails on is here, but I have not managed to get a reduced testcase to fail yet.. struct Addr { alias uint tProcId; alias uint tNodeId; const PROC_INVALID = 0; const NODE_SELF = 0; tProcId m_procId = PROC_INVALID; // << This is the line tNodeId m_nodeId = NODE_SELF; .... } |
March 24, 2013 Re: How to proceed with ICE? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Øivind | On Sunday, 24 March 2013 at 16:01:14 UTC, Øivind wrote:
> After moving to 2.062, I get the following ICE:
>
> src/boss/core/addr.d(23): Error: Internal Compiler Error: CTFE literal cast(uint)PROC_INVALID
> dmd: ctfeexpr.c:353: Expression* copyLiteral(Expression*): Assertion `0' failed.
> Aborted (core dumped)
>
> The line it fails on is here, but I have not managed to get a reduced testcase to fail yet..
>
> struct Addr {
> alias uint tProcId;
> alias uint tNodeId;
>
> const PROC_INVALID = 0;
> const NODE_SELF = 0;
>
> tProcId m_procId = PROC_INVALID; // << This is the line
> tNodeId m_nodeId = NODE_SELF;
>
>
> ....
> }
Also inside the struct is the following constructor.. Commenting it out removes the ICE:
this(tProcId procId, tNodeId nodeId) {
m_procId = procId;
m_nodeId = nodeId;
}
|
March 24, 2013 Re: How to proceed with ICE? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Øivind | DustMite (https://github.com/CyberShadow/DustMite) is an invaluable tool for reducing test cases like this. I have to use it after each frontend update =\ |
March 24, 2013 Re: How to proceed with ICE? | ||||
---|---|---|---|---|
| ||||
Posted in reply to lomereiter | On Sunday, 24 March 2013 at 18:16:03 UTC, lomereiter wrote: > DustMite (https://github.com/CyberShadow/DustMite) is an invaluable tool for reducing test cases like this. I have to use it after each frontend update =\ Thanks! After running, my project is reduced to a small set of files. There are now also a couple of regular compiler errors before the ICE (introduced by dustmite), but the ICE should not be there anyway.. Should I zip the remaining files with instructions and post them on the tracker, or do I need to take steps to remove the first errors? Here is the output now: 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) make[1]: *** [build/debug/src/main.o] Error 134 |
March 24, 2013 Re: How to proceed with ICE? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Øivind Attachments:
| On 24 March 2013 21:15, "Øivind" <oivind.loe@gmail.com> wrote: > On Sunday, 24 March 2013 at 18:16:03 UTC, lomereiter wrote: > >> DustMite (https://github.com/**CyberShadow/DustMite<https://github.com/CyberShadow/DustMite>) >> is an invaluable tool for reducing test cases like this. I have to use it >> after each frontend update =\ >> > > Thanks! After running, my project is reduced to a small set of files. There are now also a couple of regular compiler errors before the ICE (introduced by dustmite), but the ICE should not be there anyway.. Should I zip the remaining files with instructions and post them on the tracker, or do I need to take steps to remove the first errors? > > Here is the output now: > > 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) > make[1]: *** [build/debug/src/main.o] Error 134 > > Put it in a new bug report please. http://d.puremagic.com/issues/ -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0'; |
March 31, 2013 Re: How to proceed with ICE? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | > Put it in a new bug report please. > > http://d.puremagic.com/issues/ Done: http://d.puremagic.com/issues/show_bug.cgi?id=9847 |
Copyright © 1999-2021 by the D Language Foundation