Thread overview | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
March 14, 2014 Merge of 2.065.0 | ||||
---|---|---|---|---|
| ||||
Hi all! Again some news from the bleeding edge: Now the branch merge-2.065 contains my merge of latest dmd release 2.065.0. Regards, Kai |
June 14, 2014 Re: Merge of 2.065.0 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kai Nacke | Hi Kai ! Now i can build ldc and almost all druntime and phobos. Only the problem is code.sys.windows.stacktrace in druntime. LDC shows following error: Both operands to ICmp instruction are not of the same type! %tmp50 = icmp ne [1 x i8] %tmp49, i0 0 |
June 14, 2014 Re: Merge of 2.065.0 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Temtaime | OK just commented out import of stacktrace and removed stacktrace fron my druntime-ldc project. Now it OK and i can build hello world. Exceptions are fine. |
June 14, 2014 Re: Merge of 2.065.0 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Temtaime | I have big project in D about 14k lines. Compiling with ldc now ldc crashes at toir.c:1982 Logger::print("EqualExp::toElem: %s @ %s\n", toChars(), type->toChars()); Debugger says that variable type is null. If i comment that log message out it gives strange error without file and line Error: Exp type Expression not implemented: p |
June 14, 2014 Re: Merge of 2.065.0 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Temtaime | OK reduced test case: FILE A.d import B; FILE B.d import C; import D; import std.range; class Font { public: mixin RCounted; auto makeTextData(string s) { // split text by spaces auto arr = s.splitter.array; } } class Engine { RC!Font font; } FILE C.d import A; FILE D.d template RCounted() { void release() { this.destroy; } } struct RC(T) { ~this() { _rc_ptr.release; } T _rc_ptr; } I don't know why that errors occurs really. Any ideas ? Want to get LDC compile it. |
June 14, 2014 Re: Merge of 2.065.0 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Temtaime | http://a-rei.ru/YVHr Callstack here if it'll help |
June 14, 2014 Re: Merge of 2.065.0 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Temtaime | On 14.06.2014 17:07, Temtaime wrote:
> OK reduced test case:
Thanks for the awesome bug report! Unfortunately I can't reproduce it with
ldc2 -c A.d B.d C.d D.d
Is there anything else I need to know?
|
June 14, 2014 Re: Merge of 2.065.0 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Christian Kamm | Try to specify only A.d >ldc -c A.d B.d C.d D.d *compiles OK* >ldc -c A.d Error: Exp type Expression not implemented: p |
June 14, 2014 Re: Merge of 2.065.0 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Temtaime | On 14.06.2014 18:08, Temtaime wrote: >> ldc -c A.d B.d C.d D.d > *compiles OK* > >> ldc -c A.d > Error: Exp type Expression not implemented: p That does it, thanks! -vv output: * TemplateInstance::codegen: 'std.array.Appender!(string[])' * * StructDeclaration::codegen: 'std.array.Appender!(string[]).Appender' * * * Resolving struct type: Appender (/home/kamm/eigenes/projekte/ldc/ldc/runtime/phobos/std/array.d(2152)) * * * StructDeclaration::codegen: 'std.array.Appender!(string[]).Appender.Data' ... * * * * DtoDefineFunction(std.array.Appender!(string[]).Appender.Data.__xopEquals): * * * * * Doing function body for: __xopEquals * * * * * Function available externally: __xopEquals * * * * * DtoCreateNestedContext for __xopEquals * * * * * * DtoCreateNestedContextType for __xopEquals * * * * * ReturnStatement::toIR(): * * * * * * Expression::toElemDtor(): p == q and then your stack trace. |
June 18, 2014 Re: Merge of 2.065.0 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Temtaime | "Temtaime" <temtaime@gmail.com> writes:
> Try to specify only A.d
>
>
>>ldc -c A.d B.d C.d D.d
> *compiles OK*
>
>>ldc -c A.d
> Error: Exp type Expression not implemented: p
It dumps stack on 2.064 too. I noticed that "ldc -O2 -c A.d" and higher optimization levels work though.
|
Copyright © 1999-2021 by the D Language Foundation