Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2022-05

DEBUG_NODE_XML broken

2 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

J. Gareth Moreton

Hi everyone,

Building the compiler with -dDEBUG_NODE_XML got broken recently:

C:/lazarus/fpc/3.2.0/bin/x86_64-win64/ppcx64.exe -Ur -Xs -O2 -n -Fux86_64 -Fusystems
-FuC:/Users/garet/Documents/programming/fpc-opts/rtl/units/x86_64-win64 -Fix86_64 -FEx86_64/bin/x86_64-win64 -FUx86_64/units/x86_64-win64 -dRELEASE -dDEBUG_NODE_XML -dx86_64 -dGDB -Fux86 -Fix86 -oC:/Users/garet/Documents/programming/fpc-opts/compiler/ppc1.exe pp.pas procdefutil.pas(819,37) Error: identifier idents no member "defoptions" procdefutil.pas(1563) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted

I suspect it was one of the patches that Sven recently approved. Still, the fix is relatively simple, as the culprit code is the following:

       procedure print_procinfo(pi:tcgprocinfo);
         begin
           { Print the node to tree.log }
           if paraprintnodetree  0 then
             pi.printproc('after parsing');
{$ifdef DEBUG_NODE_XML}
           { Methods of generic classes don't get any code generated, so
output
             the node tree here }
           if (df_generic in procdef.defoptions) then  // <-- Error line
             pi.XMLPrintProc(True);
{$endif DEBUG_NODE_XML}
         end;

The faulty line of code should instead be "if (df_generic in pi.procdef.defoptions) then".

Gareth aka. Kit

This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus

Reply by email

Sven Barth
to J. Gareth Moreton
J. Gareth Moreton wrote 36 lines
Hi everyone, Building the compiler with -dDEBUG_NODE_XML got broken recently: C:/lazarus/fpc/3.2.0/bin/x86_64-win64/ppcx64.exe -Ur -Xs -O2 -n -Fux86_64 -Fusystems -FuC:/Users/garet/Documents/programming/fpc-opts/rtl/units/x86_64-win64 -Fix86_64 -FEx86_64/bin/x86_64-win64 -FUx86_64/units/x86_64-win64 -dRELEASE -dDEBUG_NODE_XML -dx86_64 -dGDB -Fux86 -Fix86 -oC:/Users/garet/Documents/programming/fpc-opts/compiler/ppc1.exe pp.pas procdefutil.pas(819,37) Error: identifier idents no member "defoptions" procdefutil.pas(1563) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted I suspect it was one of the patches that Sven recently approved. Still, the fix is relatively simple, as the culprit code is the following:       procedure print_procinfo(pi:tcgprocinfo);         begin           { Print the node to tree.log }           if paraprintnodetree 0 then             pi.printproc('after parsing'); {$ifdef DEBUG_NODE_XML}           { Methods of generic classes don't get any code generated, so output             the node tree here }           if (df_generic in procdef.defoptions) then  // <-- Error line             pi.XMLPrintProc(True); {$endif DEBUG_NODE_XML}         end; The faulty line of code should instead be "if (df_generic in pi.procdef.defoptions) then".

Should have tested that one... *rolls eyes* anyway, should be fixed now in 0c9b622a742063d1496cb47ff9b18db2480fbe31. :)

Regards,
Sven

Reply by email