| Thread overview | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 
 | 
| March 14, 2014Merge 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, 2014Re: 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, 2014Re: 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, 2014Re: 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, 2014Re: 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, 2014Re: Merge of 2.065.0 | ||||
|---|---|---|---|---|
| 
 | ||||
| Posted in reply to Temtaime | http://a-rei.ru/YVHr Callstack here if it'll help | |||
| June 14, 2014Re: 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, 2014Re: 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, 2014Re: 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, 2014Re: 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
  Permalink
Permalink Reply
Reply