Thread overview | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
March 21, 2008 Error: array dimension overflow | ||||
---|---|---|---|---|
| ||||
Newbie Q: During compilation I'm getting the error: "array dimension overflow" but it doesn't provide any information as to where (module and line number) the error might be, so I'm at a loss. Other errors seem to provide such information. Any ideas? |
March 21, 2008 Re: Error: array dimension overflow | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brian Hay | Brian Hay wrote:
> Newbie Q:
>
> During compilation I'm getting the error: "array dimension overflow" but it doesn't provide any information as to where (module and line number) the error might be, so I'm at a loss. Other errors seem to provide such information.
>
> Any ideas?
I think there's a limit of 16K for the size of static arrays.
Do you have any really big static arrays?
Anyway, the compiler should generate a line number for that. Not providing one is a bug.
--bb
|
March 21, 2008 Re: Error: array dimension overflow | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | Bill Baxter wrote: > Brian Hay wrote: >> Newbie Q: >> >> During compilation I'm getting the error: "array dimension overflow" but it doesn't provide any information as to where (module and line number) the error might be, so I'm at a loss. Other errors seem to provide such information. >> >> Any ideas? > > I think there's a limit of 16K for the size of static arrays. > Do you have any really big static arrays? No. Nothing like that. > Anyway, the compiler should generate a line number for that. Not providing one is a bug. That's what I figured. It's kind of hard to track down the issue without such details. |
March 21, 2008 Re: Error: array dimension overflow | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brian Hay | "Brian Hay" <bhay@construct3d.com> wrote in message news:frviab$126$1@digitalmars.com... > Newbie Q: > > During compilation I'm getting the error: "array dimension overflow" but it doesn't provide any information as to where (module and line number) the error might be, so I'm at a loss. Other errors seem to provide such information. > > Any ideas? Hee hee hee. static int[] x = [-1: 1]; There's some kind of funky logic in the compiler which for some reason does not detect negative initialization indices, but rather does something like currentLength = index.toInt(); currentLength++; if(currentLength == 0) error("array dimension overflow"); It's to detect index overflow, but it's easily fooled by using a negative index, which it should really detect anyway. Are you using, maybe, 0xFFFF_FFFF anywhere as an array initializer index? Also, are you getting an "array initializers as expressions are not allowed" error at the same time by any chance? |
March 21, 2008 Re: Error: array dimension overflow | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jarrett Billingsley | Jarrett Billingsley wrote:
> "Brian Hay" <bhay@construct3d.com> wrote in message news:frviab$126$1@digitalmars.com...
>> Newbie Q:
>>
>> During compilation I'm getting the error: "array dimension overflow" but it doesn't provide any information as to where (module and line number) the error might be, so I'm at a loss. Other errors seem to provide such information.
>>
>> Any ideas?
>
> Hee hee hee.
>
> static int[] x = [-1: 1];
Why do you hate the compiler? Meanie.
/me sniffles.
|
March 22, 2008 Re: Error: array dimension overflow | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jarrett Billingsley | Jarrett Billingsley wrote:
> "Brian Hay" <bhay@construct3d.com> wrote in message news:frviab$126$1@digitalmars.com...
>> Newbie Q:
>>
>> During compilation I'm getting the error: "array dimension overflow" but it doesn't provide any information as to where (module and line number) the error might be, so I'm at a loss. Other errors seem to provide such information.
>>
>> Any ideas?
>
> Hee hee hee.
>
> static int[] x = [-1: 1];
>
> There's some kind of funky logic in the compiler which for some reason does not detect negative initialization indices
Thanks Jarrett, that was it.
|
March 24, 2008 Re: Error: array dimension overflow | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brian Hay | == Quote from Brian Hay (bhay@construct3d.com)'s article > Bill Baxter wrote: > > Brian Hay wrote: > >> Newbie Q: > >> ... > > Anyway, the compiler should generate a line number for that. Not providing one is a bug. > > That's what I figured. It's kind of hard to track down the issue without such details. I agree. I filed a bug report so that perhaps a future version of DMD would include a line number when it runs into this error: http://d.puremagic.com/issues/show_bug.cgi?id=1936 |
April 03, 2008 Re: Error: array dimension overflow | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | Bill Baxter wrote:
> Brian Hay wrote:
>> Newbie Q:
>>
>> During compilation I'm getting the error: "array dimension overflow" but it doesn't provide any information as to where (module and line number) the error might be, so I'm at a loss. Other errors seem to provide such information.
>>
>> Any ideas?
>
> I think there's a limit of 16K for the size of static arrays.
> Do you have any really big static arrays?
>
> Anyway, the compiler should generate a line number for that. Not providing one is a bug.
>
> --bb
16k Seems shockingly low. Is there documentation on this. Even old Dos compilers for C support close to 64k indexes.
|
April 03, 2008 Re: Error: array dimension overflow | ||||
---|---|---|---|---|
| ||||
Posted in reply to Spacen Jasset | "Spacen Jasset" <spacen@yahoo.co.uk> wrote in message news:ft35ik$q7g$1@digitalmars.com... > Bill Baxter wrote: >> Brian Hay wrote: >>> Newbie Q: >>> >>> During compilation I'm getting the error: "array dimension overflow" but it doesn't provide any information as to where (module and line number) the error might be, so I'm at a loss. Other errors seem to provide such information. >>> >>> Any ideas? >> >> I think there's a limit of 16K for the size of static arrays. Do you have any really big static arrays? >> >> Anyway, the compiler should generate a line number for that. Not providing one is a bug. >> >> --bb > 16k Seems shockingly low. Is there documentation on this. Even old Dos compilers for C support close to 64k indexes. |
April 03, 2008 Re: Error: array dimension overflow | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jarrett Billingsley | "Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote in message news:ft3757$11cb$1@digitalmars.com... > "Spacen Jasset" <spacen@yahoo.co.uk> wrote in message news:ft35ik$q7g$1@digitalmars.com... >> Bill Baxter wrote: >>> Brian Hay wrote: >>>> Newbie Q: >>>> >>>> During compilation I'm getting the error: "array dimension overflow" but it doesn't provide any information as to where (module and line number) the error might be, so I'm at a loss. Other errors seem to provide such information. >>>> >>>> Any ideas? >>> >>> I think there's a limit of 16K for the size of static arrays. Do you have any really big static arrays? >>> >>> Anyway, the compiler should generate a line number for that. Not providing one is a bug. >>> >>> --bb >> 16k Seems shockingly low. Is there documentation on this. Even old Dos compilers for C support close to 64k indexes. Son of a. Bill made a typo, the max is 16MB. While Walter says that this is because "any larger array should really be allocated at runtime and not in the static data segment", I think it's really because OPTLINK crashes if you have something larger than 16MB in the static data segment. 9_9 |
Copyright © 1999-2021 by the D Language Foundation