digitalmars.D.ldc - Merge of 2.065.0
- Kai Nacke (6/6) Mar 14 2014 Hi all!
- Temtaime (6/6) Jun 14 2014 Hi Kai !
- Temtaime (4/4) Jun 14 2014 OK just commented out import of stacktrace and removed stacktrace
- Temtaime (8/8) Jun 14 2014 I have big project in D about 14k lines.
- Temtaime (31/31) Jun 14 2014 OK reduced test case:
- Temtaime (2/2) Jun 14 2014 http://a-rei.ru/YVHr
- Christian Kamm (4/5) Jun 14 2014 Thanks for the awesome bug report! Unfortunately I can't reproduce it wi...
- Temtaime (3/5) Jun 14 2014 Error: Exp type Expression not implemented: p
- Christian Kamm (18/23) Jun 14 2014 That does it, thanks! -vv output:
- Dan Olson (3/8) Jun 17 2014 It dumps stack on 2.064 too. I noticed that "ldc -O2 -c A.d" and higher
- Kai Nacke (9/21) Jun 19 2014 The codegen crashes because semantic2() and semantic3() did not
- Temtaime (2/2) Jun 19 2014 Hi Kai !
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
Mar 14 2014
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
Jun 14 2014
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.
Jun 14 2014
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
Jun 14 2014
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.
Jun 14 2014
http://a-rei.ru/YVHr Callstack here if it'll help
Jun 14 2014
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?
Jun 14 2014
Try to specify only A.dldc -c A.d B.d C.d D.d*compiles OK*ldc -c A.dError: Exp type Expression not implemented: p
Jun 14 2014
On 14.06.2014 18:08, Temtaime wrote: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.ldc -c A.d B.d C.d D.d*compiles OK*ldc -c A.dError: Exp type Expression not implemented: p
Jun 14 2014
"Temtaime" <temtaime gmail.com> writes:Try to specify only A.dIt dumps stack on 2.064 too. I noticed that "ldc -O2 -c A.d" and higher optimization levels work though.ldc -c A.d B.d C.d D.d*compiles OK*ldc -c A.dError: Exp type Expression not implemented: p
Jun 17 2014
On Wednesday, 18 June 2014 at 04:59:08 UTC, Dan Olson wrote:"Temtaime" <temtaime gmail.com> writes:The codegen crashes because semantic2() and semantic3() did not run on some functions. This can happen e.g. because of syntax errors. With my latest commit to merge-2.064 branch the crash is replaced by an error message. But I still need to analyze why LDC wants to generate code for the functions - DMD does apparently not. Regards, KaiTry to specify only A.dIt dumps stack on 2.064 too. I noticed that "ldc -O2 -c A.d" and higher optimization levels work though.ldc -c A.d B.d C.d D.d*compiles OK*ldc -c A.dError: Exp type Expression not implemented: p
Jun 19 2014
On Thursday, 19 June 2014 at 11:29:17 UTC, Temtaime wrote:And merge this fix to 2.065 branch too please.It is now in master (which is at 2.065 now). But this fix emits only an error message instead of a crash. It does not fix the underlying problem. Regards, Kai
Jun 25 2014
On Thursday, 19 June 2014 at 11:27:32 UTC, Temtaime wrote:Hi Kai ! Any chance to get this bug fixed ?I am working on it. Root cause is that LDC emits too much code, in this case even for entities for which not all semantic passes were run. Regards, Kai
Jun 25 2014
On Thursday, 19 June 2014 at 11:27:32 UTC, Temtaime wrote:Hi Kai ! Any chance to get this bug fixed ?(https://github.com/ldc-developers/ldc/issues/662) for it. Regards, Kai
Jul 01 2014