1. Phix: oops
- Posted by andreasWagner 3 weeks ago
- 324 views
Hallo,
yes, me again
after digging up another old program ( https://github.com/andizk4kx/euEyes ) and getting rid of the dozens of warnings from tinlib, i now have something new: oops
This commandline works (The program is generated and also works)
D:\devpool\projects\demo\euEyes>pw64 -c eueyes.exw
but it also
opens a console window with following:
oops, bad IdLinks index, symtab[5227(4444)], line 2807 pEmit2.e {6832,1,2,21251,44',',2956,1,1,4940} "True" oops, bad IdLinks index, symtab[5228(4445)], line 2807 pEmit2.e {6884,1,2,21251,45'-',2957,1,0,4924} "False"
Maybe more hidden warnings in tinlib.
Andreas
2. Re: Phix: oops
- Posted by petelomax 3 weeks ago
- 243 views
Ah, that brings back some unpleasant memories... Not really a big deal, but it's getting confused over a couple of variable names, in this case line 352 of tinlib.ew is:
public constant True = 1 public constant False = 0
and it's not entirely happy with you trying to redefine the builtin versions. Comment them out and the warnings disappear.
One of those little niggles I hope will be (magically) improved if and when 2.0 hits the door, if ever, not before.
It may very well take the form of bluntly refusing to let you do that, with a more obvious compilation message.
Just for completeness, here's what I did. Grabbed eueyes.exw, ran p64 -c -list eueyes.exw, and the list.asm contained:
symtab[4447]:{OldListViewProcAdress,S_GVar,2,(S_used+S_set+K_wdb),0,2956/#00408C78,atom,{atom,MININT,MAXINT,object,-1},0} symtab[4448]:{6832,S_Const,2,(S_used+S_set+K_wdb+K_noclr+K_gbl+K_lit),44,2957/#00408C80,integer,1} symtab[4449]:{6884,S_Const,2,(S_used+S_set+K_wdb+K_noclr+K_gbl+K_lit),45,2958/#00408C88,integer,0}
As you can see 4448/9 don't have proper/meaningful names. I searched for OldListViewProcAdress and found the offending items right after it.
Aside: the [5325(4448)] is the pre- and post- compacted symbol table indices, is all, sometimes you might need the pre- version.
3. Re: Phix: oops
- Posted by andreasWagner 3 weeks ago
- 236 views
- Last edited 2 weeks ago
Ah, that brings back some unpleasant memories... Not really a big deal, but it's getting confused over a couple of variable names, in this case line 352 of tinlib.ew is:
public constant True = 1 public constant False = 0
Thank you.
I think I owe you a coffee.
Andreas
while i was inserting the change, i somehow came across this (only p64 or pw64)
-- a comment abort(0)
there is a blank line before and after abort(0)
D:\devpool\projects\demo\easy4eu\write.exw:4 abort(0) ^Warning: statement after abort() will never be executed Press Enter, or d for diagnostics... D:\devpool\Phixsetup1.0.5\Phix\pmsgs.e:341 in procedure Warnings() attempt to divide by 0 fn = 1 wi = {"abort(0)",1,{"statement after abort() will never be executed\n",`D:\devpool\projects\demo\easy4eu\write.exw`,4}} buttons = {"Next","&Skip remainder",0} witxt = "D:\\devpool\\projects\\demo\\easy4eu\\write.exw:4\nabort(0)\n^Warning: statement after abort() will never be executed\n\n" fn1 = 1 r = <novalue> i = 0 ... called from D:\devpool\Phixsetup1.0.5\Phix\p.exw:2063 in function main() savepath = `D:\devpool\projects\demo\easy4eu` outfile = <novalue> Global & Local Variables --> see D:\devpool\projects\demo\easy4eu\ex.err Press Enter...