problem compiling release code

BlitzMax Forums/BlitzMax Bug Reports/problem compiling release code

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

Anyone up for a puzzle?

I've thrown out everything that isn't needed to show the problem and narrowed it down to a few lines (enough to get the program to compile properly in debug mode, but fail in release mode).


SuperStrict

Local temparray:Int[512 * 512]
Local mycolour:Int
Local mya:Int
Local myr:Int
Local myg:Int
Local myb:Int
Local f:Int
Local g:Int

temparray = New Int[512 * 512]
Local newtemparray:Int[512 * 512]

mya = (mycolour & $ff000000) Shr 24
myr = (mycolour & $ff000000) Shr 16
myg = (mycolour & $ff000000) Shr 8
myb = (mycolour & $ff000000)

mya = (mya & $000000ff) Shl 24
myr = (myr & $000000ff) Shl 16
myg = (myg & $000000ff) Shl 8
myb = (myb & $000000ff)

newtemparray[(f * 512) + g] = mya + myr + myg + myb
temparray[(f * 512) + g] = mya + myr + myg + myb




As I say, very little of the above code makes any sense without the rest of it, it's just to show the problem, if I try to compile the above lines in release mode the compiler will hang.

If I comment out either one of these two lines, it will compile in debug and release...

newtemparray[(f * 512) + g] = mya + myr + myg + myb
temparray[(f * 512) + g] = mya + myr + myg + myb


Also, if I rem out these lines...
[QOUTE]
mya = (mycolour & $ff000000) Shr 24
myr = (mycolour & $ff000000) Shr 16
myg = (mycolour & $ff000000) Shr 8
myb = (mycolour & $ff000000)

mya = (mya & $000000ff) Shl 24
myr = (myr & $000000ff) Shl 16
myg = (myg & $000000ff) Shl 8
myb = (myb & $000000ff)
[/QOUTE]
It will also compile in debug and release, which is really strange.

None of this code is neccessary to my main routines anymore so this isn't an important issue, but does anyone have any ideas?