bmx-ng / bcc

A next-generation bcc parser for BlitzMax
zlib License
33 stars 12 forks source link

Named loops not supported? #153

Closed AlexCeleste closed 8 years ago

AlexCeleste commented 8 years ago

NG doesn't seem to like this:

#Outer
For Local i:Int = 0 Until 10
    Print i
    If i = 5 Then Exit Outer
Next
Print "done."
End

... giving the error Identifier 'Outer' not found.

AlexCeleste commented 8 years ago

Are you, um, sure? The error message has changed, but code trying to use named loops still doesn't compile for me:

Build Error: failed to compile /Users/alex/BlitzMax.NG/tmp/untitled1.bmx

No further details now. But it goes away if I get rid of named loops.

GWRon commented 8 years ago
Building untitled1
[ 99%] Processing:untitled1.bmx
[ 99%] Compiling:untitled1.bmx.console.release.linux.x86.c
[100%] Linking:untitled1
Executing:untitled1
0
1
2
3
4
5
done.

Process complete

So maybe you did miss a step?

Edit:

$ ./bmk -v
bmk 3.10 mt-linux-x86 / gcc 040804 (cpu x4)

$ ./bcc -v
bcc[ng] Release Version 0.71
AlexCeleste commented 8 years ago

@GWRon ah thanks, I didn't build bmk in threaded mode earlier (that's...unusual, but fair enough).

GWRon commented 8 years ago

That threaded-mode just allows for a faster module-recompilation (helpful for "vanilla" too) - but it should not tackle your problem here. Your issue should have been solved with the latest revisions of BCC.

Did it work?

AlexCeleste commented 8 years ago

@GWRon It works now. I did rebuild bcc from new sources a few hours ago... don't know in that case what the difference actually was, but it seems to be fixed with a total fresh rebuild.

edit: correction, it worked just now when I tried in release mode. I still see the above error in debug mode.

edit: OK this is interesting. I seem to get a similar error in debug mode for this as well...

GWRon commented 8 years ago

Yes, debug build does not work here too.

You missed an important output:

Building untitled1
[ 99%] Processing:untitled1.bmx
Internal Error.
[/BlitzMaxNG/mod/brl.mod/blitz.mod/blitz.debug.linux.x86.i;107;0]
Build Error: failed to compile (65280) /BlitzMaxNG/tmp/untitled1.bmx
Process complete

So it seems to stumble over something leading to trouble. You could btw run run a debug-bcc with MaxIDE (given proper command line params (MaxIDE -Menu "Program" - Command Line)). So you could check at which point the Internal Error happens... For now we will leave that for Brucey.