[Issue 1542] New: static array size limitation is too restrictive

BCS BCS at pathlink.com
Mon Oct 1 15:13:53 PDT 2007


d-bugmail at puremagic.com wrote:
> http://d.puremagic.com/issues/show_bug.cgi?id=1542
> 
>            Summary: static array size limitation is too restrictive
>            Product: D
>            Version: 1.021
>           Platform: PC
>         OS/Version: All
>             Status: NEW
>           Keywords: patch, rejects-valid
>           Severity: major
>           Priority: P2
>          Component: DMD
>         AssignedTo: bugzilla at digitalmars.com
>         ReportedBy: thecybershadow at gmail.com
> 
> 
> Source:
> uint[4096][4096] myBigMap;
> 
> Output:
> bug.d(1): Error: index 4096 overflow for static array
> 
> Remarks:
> I do not see the purpose for this 'reasonable' limit (as it is called in the
> source code). That range is well inside the 32-bit addressing space, and the
> size is not restricted by any stack size or data segment restrictions.
> 
> Patch:
> --- mtype_.c    2007-07-21 22:10:02.000000000 +0300
> +++ mtype.c     2007-10-01 18:45:24.828125000 +0300
> @@ -1832,8 +1832,6 @@
>             n2 = n * d2;
>             if ((int)n2 < 0)
>                 goto Loverflow;
> -           if (n2 >= 0x1000000)        // put a 'reasonable' limit on it
> -               goto Loverflow;
>             if (n && n2 / n != d2)
>             {
>               Loverflow:
> 
> My temporary workaround:
> Hex-edited the exe :P
> 
> Comparing files C:\DOWNLOADS\DMD.1.021\DMD\BIN\dmd.exe and
> C:\SOFT\DMD\BIN\DMD.EXE
> 000086A1: 73 90
> 000086A2: 2B 90
> 
> 


Congrats, you are Nuts! (I'm not making fun of you, I'm nuts to and I 
rater enjoy the condition)


More information about the Digitalmars-d-bugs mailing list