www.digitalmars.com         C & C++   DMDScript  

D - DMD 0.61 release

reply "Walter" <walter digitalmars.com> writes:
www.digitalmars.com/d/changelog.html
Mar 30 2003
next sibling parent Mark T <Mark_member pathlink.com> writes:
In article <b66c01$155t$1 digitaldaemon.com>, Walter says...
www.digitalmars.com/d/changelog.html

least with MS IE on Win98 thank you
Mar 30 2003
prev sibling next sibling parent Farmer <itsFarmer. freenet.de> writes:
Here's some malicous D code, that crashes DMD 0.61 and causes a linker 
error:

void func()
{
   void* ptr;
   int[5] array;

   void ptr*;     
   /* BUG: compiler crashes after saying
      semicolon expected, not '*'
      expression expected, not ';'
   */

   if (array==ptr[]) // BUG: should not compile
   {
   }
}


Farmer.
Mar 31 2003
prev sibling parent reply Stephan Wienczny <wienczny web.de> writes:
Walter wrote:
 www.digitalmars.com/d/changelog.html
 
 

this code causes dmd 0.61 to crash: template TList(T) { class Node { Node prev; Node next; T Value; } class List { Node m_first = null; Node m_last = null; void AddFront(T _Value) { Node cur = new Node; with (cur) { next = m_first; prev = null; Value = _Value; if (next != null) next.prev = cur; } m_first = null; if (m_last == null) m_last = cur; } } } void main(char[][] argv) { alias instance TList(uint).List UIntList; alias instance TList(uint).Node UIntNode; UIntList list; UIntNode node; for (int i = 1; i <= 10; i++) list.AddFront(i); }
Apr 01 2003
next sibling parent reply Helmut Leitner <helmut.leitner chello.at> writes:
Stephan Wienczny wrote:
 
 Walter wrote:
 www.digitalmars.com/d/changelog.html

this code causes dmd 0.61 to crash: template TList(T) { class Node { Node prev; Node next; T Value; } class List { Node m_first = null; Node m_last = null; void AddFront(T _Value) { Node cur = new Node; with (cur) { next = m_first; prev = null; Value = _Value; if (next != null) next.prev = cur; } m_first = null; if (m_last == null) m_last = cur; } } } void main(char[][] argv) { alias instance TList(uint).List UIntList; alias instance TList(uint).Node UIntNode; UIntList list; UIntNode node; for (int i = 1; i <= 10; i++) list.AddFront(i); }

Der Code UIntList list; erzeugt noch kein gültiges Objekt, dessen Methoden du mit list.AddFront(i); verwenden könntest. Siehe dagegen oben: Node cur = new Node; D ist da ganz gleich wie z. B. Java. -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Apr 01 2003
parent Stephan Wienczny <wienczny web.de> writes:
Helmut Leitner wrote:
 
 Stephan Wienczny wrote:
 
Walter wrote:

www.digitalmars.com/d/changelog.html

Hallo, this code causes dmd 0.61 to crash: template TList(T) { class Node { Node prev; Node next; T Value; } class List { Node m_first = null; Node m_last = null; void AddFront(T _Value) { Node cur = new Node; with (cur) { next = m_first; prev = null; Value = _Value; if (next != null) next.prev = cur; } m_first = null; if (m_last == null) m_last = cur; } } } void main(char[][] argv) { alias instance TList(uint).List UIntList; alias instance TList(uint).Node UIntNode; UIntList list; UIntNode node; for (int i = 1; i <= 10; i++) list.AddFront(i); }

Der Code UIntList list; erzeugt noch kein gültiges Objekt, dessen Methoden du mit list.AddFront(i); verwenden könntest. Siehe dagegen oben: Node cur = new Node; D ist da ganz gleich wie z. B. Java. -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com

Das ist als D-Newbie gut zu wissen! Das Problem ist aber, dass der Compiler ohne Fehlermeldung abschmiert. Das sollte nicht passieren... Cu Stephan
Apr 01 2003
prev sibling parent "Walter" <walter digitalmars.com> writes:
I have it fixed now. In the meantime, you can work around it by putting the
alias declarations at module rather than function scope.
Apr 01 2003