1. Phix: oops

Hallo,
yes, me againblink

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

new topic     » topic index » view message » categorize

2. Re: Phix: oops

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.

new topic     » goto parent     » topic index » view message » categorize

3. Re: Phix: oops

petelomax said...

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... 

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu