Thread overview | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
November 09, 2012 [Issue 8988] New: Segfault in tricky CTFE scenario | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8988 Summary: Segfault in tricky CTFE scenario Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: timon.gehr@gmx.ch --- Comment #0 from timon.gehr@gmx.ch 2012-11-09 08:51:01 PST --- Crashes DMD 2.060, should pass compilation: template ID(alias T){ alias T ID; } template GetParent(T){ alias ID!(mixin((()=>(new T).foo())())) GetParent; } class B{ auto foo(){ return "A"; }} class A: GetParent!A{ override foo(){ return "B"; } } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 09, 2012 [Issue 8988] Segfault in tricky CTFE scenario | ||||
---|---|---|---|---|
| ||||
Posted in reply to timon.gehr@gmx.ch | http://d.puremagic.com/issues/show_bug.cgi?id=8988 Andrej Mitrovic <andrej.mitrovich@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich@gmail.com --- Comment #1 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2012-11-09 08:55:09 PST --- Slightly reduced: template GetParent(T) { alias Object GetParent; enum x = (()=>(new A()).foo())(); } class A : GetParent!A { string foo(){ return "Object"; } } The segfault is in ClassDeclaration::searchBase: Dsymbol *cdb = b->type->isClassHandle(); if (cdb->ident->equals(ident)) // offending line cdb is not checked for NULL. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
December 10, 2012 [Issue 8988] Segfault with circular derived class template | ||||
---|---|---|---|---|
| ||||
Posted in reply to timon.gehr@gmx.ch | http://d.puremagic.com/issues/show_bug.cgi?id=8988 Don <clugdbug@yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Segfault in tricky CTFE |Segfault with circular |scenario |derived class template --- Comment #2 from Don <clugdbug@yahoo.com.au> 2012-12-10 00:57:21 PST --- Not related to CTFE, also applies to D1. Bit hard to describe. Reduced test case: ---- template Bug8988(T) { alias Object xxx; alias typeof( A8988.init.foo) zzz; } class A8988 : Bug8988!(A8988).xxx { alias int foo; } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
December 10, 2012 [Issue 8988] Segfault with circular derived class template | ||||
---|---|---|---|---|
| ||||
Posted in reply to timon.gehr@gmx.ch | http://d.puremagic.com/issues/show_bug.cgi?id=8988 --- Comment #3 from Don <clugdbug@yahoo.com.au> 2012-12-10 02:29:47 PST --- This might be the same as bug 8466. At least, it is segfaulting in the same place. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 07, 2013 [Issue 8988] Segfault with circular derived class template | ||||
---|---|---|---|---|
| ||||
Posted in reply to timon.gehr@gmx.ch | http://d.puremagic.com/issues/show_bug.cgi?id=8988 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla@digitalmars.com Resolution| |WORKSFORME --- Comment #4 from Walter Bright <bugzilla@digitalmars.com> 2013-10-06 23:52:02 PDT --- All test cases compile successfully with 2.064 head. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation