DMDScript - DMDScript completely broken
- Anomymous Coward (31/31) Jun 17 2009 The problem:
- Alan Knowles (8/49) Jun 18 2009 Please try my fork of DMDScript - It's used quite a bit, as I've written...
The problem: I built the 'ds' program and tried to compile "sieve.ds" with it. The result was a segmentation fault. I recompiled in debug mode and tried again, using a debugger this time. An assertion was triggered at value.d:717: (gdb) list 712 case V_OBJECT: 713 if (v.object == object) 714 return 0; 715 break; 716 default: 717 assert(0); 718 } 719 return -1; 720 } 721 The switch is testing against the variable this.vtype, whose value turns out to be 0 (V_NONE), which is not tested for by the switch. The complete value of "this" was: (gdb) print *this $12 = {vtype = 0 '\0', hash = 0, dbool = 0, number = 0, string = {length = 0, ptr = 0x0}, object = 0x0, int32 = 0, uint32 = 0, uint16 = 0, iter = 0x0} Some information about the host system: OS: Debian Lenny (stable). Aug 31 00:24:01 UTC 2007 i686 GNU/Linux D Compiler: gdc (GCC) 4.1.3 20080623 (prerelease gdc 0.25 20080419, using dmd 1.024) (Debian 0.25-20080616-4.1.2-23.2) Copyright (C) 2006 DMDScript version: UNKNOWN (downloaded today from http://ftp.digitalmars.com/dmdscript.zip).
Jun 17 2009
Please try my fork of DMDScript - It's used quite a bit, as I've written a JS compresser / documenter with it. http://www.akbkhome.com/svn/rooscript/ I do remember this bug a while back, cant' remember the fix, but I think it's fixed in rooscript. Regards Alan Anomymous Coward wrote:The problem: I built the 'ds' program and tried to compile "sieve.ds" with it. The result was a segmentation fault. I recompiled in debug mode and tried again, using a debugger this time. An assertion was triggered at value.d:717: (gdb) list 712 case V_OBJECT: 713 if (v.object == object) 714 return 0; 715 break; 716 default: 717 assert(0); 718 } 719 return -1; 720 } 721 The switch is testing against the variable this.vtype, whose value turns out to be 0 (V_NONE), which is not tested for by the switch. The complete value of "this" was: (gdb) print *this $12 = {vtype = 0 '\0', hash = 0, dbool = 0, number = 0, string = {length = 0, ptr = 0x0}, object = 0x0, int32 = 0, uint32 = 0, uint16 = 0, iter = 0x0} Some information about the host system: OS: Debian Lenny (stable). Aug 31 00:24:01 UTC 2007 i686 GNU/Linux D Compiler: gdc (GCC) 4.1.3 20080623 (prerelease gdc 0.25 20080419, using dmd 1.024) (Debian 0.25-20080616-4.1.2-23.2) Copyright (C) 2006 DMDScript version: UNKNOWN (downloaded today from http://ftp.digitalmars.com/dmdscript.zip).
Jun 18 2009