giseldo/neodataset huggingface dataset:
Win64 (seh) compiled exe crashes, because implicit finally handler is entered twice.


<h3><details><summary>Original Reporter info from Mantis: <small>Martin @martin_frb</small></summary><small>

- **Reporter name:** Martin Friebe
</small></details></h3>

## Description:

This happens on Win64 only (seh specific) / *not* tested with the 32 bit seh...


See code in "steps to reproduce"

compiled with -gh (tested with -gh -gt -gw) crashes.

The procedure allocates memory for a local copy of "a: array of integer" 

When "exit" is executed, _FPC_local_unwind is called. This calls the finally handlers (both the user one, and the implicit one).

The following code is generated (-al)

```
>>>>>>>>>>>>>>>>>
.seh_handler __FPC_specific_handler,@unwind
.seh_handlerdata
	.long	2
	.long	0
	.rva	.Lj14
	.rva	.Lj15
	.rva	P$PROJECT1$_$FOO$array_of_LONGINT_$$_fin$0
	.long	0
	.rva	.Lj9
	.rva	.Lj10
	.rva	P$PROJECT1$_$FOO$array_of_LONGINT_$$_fin$1
<<<<<<<<<<<<<<<<
```

Lj10 is BEFORE the call to the implicit finally

.Lj10:
```
.Lj11:
	movq	%rbp,%rcx
	call	P$PROJECT1$_$FOO$array_of_LONGINT_$$_fin$1
```

So after unwind finishes, the implicit finally handler is called a 2nd time (setting a breakpoint in asm proves this).

The memory for "a" is attempted to be freed a 2nd time, which crashes the app.

## Steps to reproduce:

``` pascal
program project1;
{$mode objfpc}
uses
  Classes;

procedure Foo(a: array of integer);
begin
  try
    writeln(a[0]);
    if a[0] = 1 then exit;
    writeln(a[0]);
  finally
    writeln(a[0]);
  end;
end;

begin
  foo([1]);
end.
```

## Mantis conversion info:

- **Mantis ID:** 34772
- **OS:** win 10
- **OS Build:** 10
- **Build:** 40680
- **Platform:** 64bit Intel
- **Version:** 3.3.1
- **Fixed in revision:** 42673 (#416c974d3ffc25f6e5d87b190c5a6ba155a2f503)
- **Monitored by:** » xmen (xmen), » reiner.sombrowsky (Reiner Sombrowsky), » Snus (Snus), » @xhajt03 (Tomas Hajny), » Cyrax (Cyrax), » @MageSlayer (Denis Golovan), » @CuriousKit (J. Gareth Moreton)

Story points: 100.0
Compiler misoptimizes the logical expression


<h3><details><summary>Original Reporter info from Mantis: <small>frol</small></summary><small>

- **Reporter name:** 
</small></details></h3>

## Description:

The following code outputs "YES YES" when compiled with `-O0`, `-O1`, `-O3`, `-O4`, but outputs "NO YES" with `-O2`.

Notes:

\* the `if` expressions are completely the same, so there is no reason for the output to be different!<br/>
\* the first `WriteLn;` is essential to reproduce the bug, but it can be replaced with some other computations.<br/>
\* the issue is reproducible on latest Debian, Ubuntu, CentOS, AlpineLinux x86_64 with FPC installed from the official repositories and the prebuilt-binaries from FreePascal.org<br/>
\* the issue is NOT reproducible on Arch Linux<br/>
\* the issue affects FPC 3.0.0+ and is not reproducible on FPC 2.6.4

## Steps to reproduce:

1. Compile the following code with `fpc -O2 qq.pas` and run the program:

``` pascal
var d: LongInt;
begin
    WriteLn;

    d := 828;
    if ((d mod 2) = 0) xor ((d < 0) and ((d mod 3) = 0)) then
        WriteLn('YES')
    else
        WriteLn('NO');

    if ((d mod 2) = 0) xor ((d < 0) and ((d mod 3) = 0)) then
        WriteLn('YES')
    else
        WriteLn('NO');
end.
```

2. The expected output is "YES YES", but the output is "NO YES"

## Mantis conversion info:

- **Mantis ID:** 34653
- **OS:** Debian
- **OS Build:** 9.6
- **Platform:** Linux x86_64
- **Version:** 3.0.4
- **Fixed in version:** 3.3.1
- **Fixed in revision:** 40934 (#e24449bcfd24e482e286b294830bcc76044c4a82)
- **Monitored by:** » frol (frol), » Vincent (Vincent Snijders)
- **Target version:** 3.3.1

Story points: 100.0
i386-win32 fails to build as of revision 40275 (and possibly earlier)


<h3><details><summary>Original Reporter info from Mantis: <small>CuriousKit @CuriousKit</small></summary><small>

- **Reporter name:** J. Gareth Moreton
</small></details></h3>

## Description:

As of SVN revision 40275, the compiler doesn't seem to build under i386-win32.  Upon running the make script, the following errors appear:

...<br/>
make[6]: Entering directory `C:/Users/NLO-012/Documents/Programming/fpc/rtl'<br/>
make -C win32 all<br/>
make[7]: Entering directory `C:/Users/NLO-012/Documents/Programming/fpc/rtl/win32'<br/>
C:/Users/NLO-012/Documents/Programming/fpc/compiler/ppc2.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUC:/Users/NLO-012/Documents/Programming/fpc/rtl/units/i386-win32 -di386 -dRELEASE  -Us -Sg system.pp -Fi../win<br/>
systemh.inc(23,2) Error: Wrong switch toggle, use ON/OFF or +/-<br/>
systemh.inc(31,2) Error: Wrong switch toggle, use ON/OFF or +/-<br/>
sysosh.inc(34,15) Fatal: Syntax error, "identifier" expected but ":" found<br/>
Fatal: Compilation aborted<br/>
make[7]: *** [system.ppu] Error 1<br/>
...

Line 23 of systemh.inc is "{$modeswitch advancedrecords}" while line 31 is "{$inline on}".  Line 34 of sysosh.inc is part of a record declaration and is the line "DebugInfo : pointer;"

## Steps to reproduce:

Attempt to do a full "make clean all" with the relevant configuration and observe the error when it attempts to recompile the system unit under ppc2.

## Additional information:

This is my personal script (a BAT file)

@echo off<br/>
set mybinutils=C:\Users\NLO-012\Documents\Programming\fpc\binw32\<br/>
set builder=C:\lazarus\fpc\3.0.4\bin\i386-win32<br/>
set PATH=%mybinutils%;%builder%;%PATH%

cd /d C:\Users\NLO-012\Documents\Programming\fpc<br/>
@echo Clearing compiled FPC binaries...<br/>
del /s *.o > NUL<br/>
del /s *.a > NUL<br/>
del /s *.ppu > NUL<br/>
make distclean all install DATA2INC=C:\Users\NLO-012\Documents\Programming\fpc\utils\bin\i386-win32\data2inc.exe OS_TARGET=win32 CPU_TARGET=i386<br/>
cd /d C:\PP\bin\i386-win32<br/>
fpcmkcfg -d basepath=C:\PP\ -o C:\PP\bin\i386-win32\fpc.cfg <br/>
cd /d C:\Users\NLO-012\Documents\Programming

## Mantis conversion info:

- **Mantis ID:** 34529
- **OS:** Microsoft Windows
- **OS Build:** 10 Professional
- **Build:** i386-win32 (40275)
- **Platform:** i386
- **Version:** 3.3.1
- **Target version:** 3.3.1

Story points: 200.0
[Block] PasToJS does not compile on x86_64-win64 as of r40045


<h3><details><summary>Original Reporter info from Mantis: <small>CuriousKit @CuriousKit</small></summary><small>

- **Reporter name:** J. Gareth Moreton
</small></details></h3>

## Description:

As of SVN revision 40045, the packages PasToJS fails to compile when running "make all", thus blocking a fully-successful compilation of Free Pascal on this platform.

Error log indicates not being able to locate the subroutine "ExpandFileNameUtf8" in "packages/pastojs/src/pas2jsfileutilswin.inc".  File last modified by user "mattias" according to "svn log".

## Steps to reproduce:

Attempt to do a "make all" under x86_64-win64 from a fresh set of files from the SVN repository revision 40045.

## Additional information:

Output log (with my particular directory tree):

...<br/>
[ 95%] Compiled package odata<br/>
Start compiling package pastojs for target x86_64-win64.<br/>
```
       Compiling pastojs\src\pas2jsfiler.pp
       Compiling pastojs\src\pas2jsfileutils.pp
```
The installer encountered the following error:<br/>
External command "C:/Users/NLO-012/Documents/Programming/fpc/compiler/ppcx64.exe -Twin64 -FUpastojs\units\x86_64-win64\ -FuC:\Users\NLO-012\Documents\Programming\fpc\rtl\units\x86_64-win64\ -FuC:\Users\NLO-012\Documents\Programming\fpc\packages\paszlib\units\x86_64-win64\ -FuC:\Users\NLO-012\Documents\Programming\fpc\packages\hash\units\x86_64-win64\ -FuC:\Users\NLO-012\Documents\Programming\fpc\packages\rtl-objpas\units\x86_64-win64\ -FuC:\Users\NLO-012\Documents\Programming\fpc\packages\fcl-js\units\x86_64-win64\ -FuC:\Users\NLO-012\Documents\Programming\fpc\packages\fcl-base\units\x86_64-win64\ -FuC:\Users\NLO-012\Documents\Programming\fpc\packages\fcl-res\units\x86_64-win64\ -FuC:\Users\NLO-012\Documents\Programming\fpc\packages\fcl-json\units\x86_64-win64\ -FuC:\Users\NLO-012\Documents\Programming\fpc\packages\fcl-passrc\units\x86_64-win64\ -Fipastojs\src -Ur -Xs -O2 -n -dx86_64 -dRELEASE -Sc -S2h -viq pastojs\src\pas2jsfiler.pp" failed with exit code 1. Console output:<br/>
Target OS: Win64 for x64<br/>
Compiling pastojs\src\pas2jsfiler.pp<br/>
Compiling pastojs\src\pas2jsfileutils.pp<br/>
pas2jsfileutilswin.inc(375,13) Error: Identifier not found "ExpandFileNameUtf8"<br/>
pas2jsfileutils.pp(845) Fatal: There were 1 errors compiling module, stopping<br/>
Fatal: Compilation aborted

make[2]: *** [all] Error 1<br/>
make[2]: Leaving directory `C:/Users/NLO-012/Documents/Programming/fpc/packages'<br/>
make[1]: *** [packages_all] Error 2<br/>
make[1]: Leaving directory `C:/Users/NLO-012/Documents/Programming/fpc'<br/>
make: *** [build-stamp.x86_64-win64] Error 2

## Mantis conversion info:

- **Mantis ID:** 34458
- **OS:** Microsoft Windows
- **OS Build:** 10 Professional
- **Build:** 40045
- **Platform:** x86_64
- **Version:** 3.3.1
- **Fixed in revision:** 40046 (#70a21c91c1742d995278a52cec24472283200c12)
- **Target version:** 3.3.1

Story points: 200.0
r40027 breaks build


<h3><details><summary>Original Reporter info from Mantis: <small>PascalR @PascalRiekenberg</small></summary><small>

- **Reporter name:** Pascal Riekenberg
</small></details></h3>

## Description:

at least for x86_64-win32

## Mantis conversion info:

- **Mantis ID:** 34456
- **OS:** Windows 10 x64
- **OS Build:** 1803
- **Build:** r40027
- **Platform:** i386
- **Version:** 3.3.1
- **Fixed in version:** 3.3.1
- **Fixed in revision:** commit 40028 (#d26fb3b663061b521fcdb48d84b2811a2f1dc996)
- **Target version:** 3.3.1

Story points: 300.0
Possible internal corruption with i386-win32 -> x86_64-win64 cross compiler


<h3><details><summary>Original Reporter info from Mantis: <small>CuriousKit @CuriousKit</small></summary><small>

- **Reporter name:** J. Gareth Moreton
</small></details></h3>

## Description:

There seems to be some internal corruption at play during cross compilation that causes a cascade SIGSEGV.  I have found a reproducible case with one of Lazarus' source files.

## Steps to reproduce:

Compile FPC under i386-win32 and then the cross compiler for x86_64-win64.  This is my personal script (change directories as appropriate):

set mybinutils=C:\Users\NLO-012\Documents\Programming\fpc\binw32\<br/>
set builder=C:\lazarus\fpc\3.0.4\bin\i386-win32<br/>
set PATH=%mybinutils%;%builder%;%PATH%

cd /d C:\Users\NLO-012\Documents\Programming\fpc<br/>
make distclean all install DATA2INC=C:\Users\NLO-012\Documents\Programming\fpc\utils\bin\i386-win32\data2inc.exe OS_TARGET=win32 CPU_TARGET=i386<br/>
make crossinstall OS_TARGET=win64 CPU_TARGET=x86_64<br/>
cd /d C:\PP\bin\i386-win32<br/>
fpcmkcfg -d basepath=C:\PP\ -o C:\PP\bin\i386-win32\fpc.cfg <br/>
cd /d C:\Users\NLO-012\Documents\Programming

Using a 32-bit version of Lazarus linked to the 32-bit compiler that you've built, open fpc/compiler/pp.lpi and reconfigure it to compile for x86_64-win64 by changing the custom options to -dx86_64 and then change any paths that reference i386 to x86_64.

Now, in the Run Parameters settings, set the command line parameters to "components\lazutils\ttdebug.pas -g -gl -O3 -Xs -CX -XX -ddisableUTF8RTL -Mobjfpc" (ttdebug.pas has mode Delphi, but other units that it relies on will fail to compile unless -MObjfpc is specified) and the working directory to your lazarus source directory (mine is "C:\Users\NLO-012\Documents\Programming\lazarus")

Run the compiler in the debugger and observe a SIGSEGV as it tries to compile ttdebug (you might have to run it more than once, especially if you do a full build the first time - it doesn't always occur if you use -B, or -O2 instead of -O3)

Now, add "-a" to the command line parameters.  This time there's an assembler error akin to "components\lazutils\ttdebug.s:974: Error: alignment not a power of 2".  If you analyse ttdebug.s that's produced, you'll find the following on line 914: ".balign 119,0x90".  There's nothing that should generate a value of 119 for this alignment field.  A possible clue is that it's nestled among a couple of CMOV commands and unused labels.

## Additional information:

I stumbled across this while attempting to fix issue #33909. Personally I cannot see how my changes would cause such a corruption, and I confess I need some help in getting to the bottom of this.

## Mantis conversion info:

- **Mantis ID:** 33926
- **OS:** Microsoft Windows
- **OS Build:** 10 Enterprise
- **Build:** x86_64-win64-win32/win64
- **Platform:** win64
- **Version:** 3.1.1
- **Target version:** 3.1.1

Story points: 200.0
New Jcc optimization makes error


<h3><details><summary>Original Reporter info from Mantis: <small>parcel</small></summary><small>

- **Reporter name:** Do-wan Kim
</small></details></h3>

## Description:

New Jcc optimization makes error on cross compiling x86-64.

Revert to 39306, it works ok.

## Additional information:

Free Pascal Compiler version 3.1.1-r39307 [2018/06/26] for x86_64<br/>
Copyright (c) 1993-2018 by Florian Klaempfl and others<br/>
(1002) Target OS: Win64 for x64<br/>
(3104) Compiling lazutils.pas<br/>
(3104) Compiling ttdebug.pas<br/>
C:\development\lazarus\components\lazutils\ttdebug.pas(653,8) Error: (1026) Compilation raised exception internally<br/>
C:\development\lazarus\components\lazutils\ttdebug.pas(653,8) Fatal: (1018) Compilation aborted<br/>
An unhandled exception occurred at $08D8C011:<br/>
EAccessViolation: Access violation<br/>
```  $08D8C011```<br/>

Error: C:\development\fpc\bin\i386-win32\ppcrossx64.exe returned an error exitcode<br/>
Error: (lazarus) Compile package LazUtils 1.0: stopped with exit code 1<br/>
Error: (lazbuild) LazUtils 1.0 compilation failed

## Mantis conversion info:

- **Mantis ID:** 33909
- **OS:** Windows
- **OS Build:** 10
- **Build:** 39307
- **Platform:** x86
- **Version:** 3.1.1
- **Fixed in version:** 3.1.1
- **Fixed in revision:** 39353 (#5782acc32d81d67a4e37361fa862c28bf910d84c)
- **Target version:** 3.1.1

Story points: 200.0
fpreport: Master/detail error leading to crash


<h3><details><summary>Original Reporter info from Mantis: <small>Stephano</small></summary><small>

- **Reporter name:** 
</small></details></h3>

## Description:

This test was done using the standalone designer, the data setup of which doesn't understand the master/detail concept among defined data. It would be like if all records in the detail are linked to each and every record of the master, which is fine for this test.

The preview however encounters an error: Unknown identifier: Employees.SALARY.

If the aggregate variable SumDeptSalary is deleted, and the corresponding memo is removed from the group footer detail band, then the report renders, but the detail group header and footer don't show up (pdf attached).

A 3rd preview produces a SIGSEGV.

The report file is attached.

## Mantis conversion info:

- **Mantis ID:** 33405
- **Version:** 3.1.1
- **Fixed in version:** 3.1.1
- **Fixed in revision:** 38560 (#6c3ac68f1a3a3c890a11edc3454bf00828827502)
- **Target version:** 3.2.0

Story points: 100.0
FPReport: Report file crash on 2nd preview


<h3><details><summary>Original Reporter info from Mantis: <small>Stephano</small></summary><small>

- **Reporter name:** 
</small></details></h3>

## Description:

\- Load the attached report<br/>
\- Preview it twice<br/>
\-> SIGSEGV

## Mantis conversion info:

- **Mantis ID:** 33403
- **Fixed in version:** 3.1.1
- **Fixed in revision:** 38560 (#6c3ac68f1a3a3c890a11edc3454bf00828827502).
- **Target version:** 3.2.0

Story points: 100.0
FPReport designer: Aggregate variables lose their reset trigger on preview


<h3><details><summary>Original Reporter info from Mantis: <small>Stephano</small></summary><small>

- **Reporter name:** 
</small></details></h3>

## Description:

\- Load the attached report<br/>
\- Inspect the already defined aggregate variable SalaryDeptSum<br/>
Its group reset trigger is Data1.DEPT_NO<br/>
\- Preview the report<br/>
The department salary sums are not being reset!<br/>
\- Inspect SalaryDeptSum<br/>
It has lost its group trigger setting

## Mantis conversion info:

- **Mantis ID:** 33390
- **Version:** 1.9 (SVN)
- **Fixed in version:** 3.1.1
- **Fixed in revision:** 38467 (#fbd974b0d8086f24cfc78befae1d43a95872d7b7)
- **Target version:** 3.2.0

Story points: 100.0
FPReport designer: Designer crash


<h3><details><summary>Original Reporter info from Mantis: <small>Stephano</small></summary><small>

- **Reporter name:** 
</small></details></h3>

## Description:

The standalone designer (rev 57462) crashes upon placing a memo with <br/>
EReportFontNotFound (Helvetica)<br/>
\- Create a new report<br/>
\- Add a band<br/>
\- Add a memo<br/>
\-> error + crash

## Mantis conversion info:

- **Mantis ID:** 33374
- **OS:** Ubuntu
- **OS Build:** 16.04
- **Platform:** x86_64
- **Version:** 3.1.1
- **Fixed in version:** 3.1.1
- **Fixed in revision:** 38451 (#44ec9dd4bc1ae2cb509adf51d08a13af89e27cd9)
- **Target version:** 3.2.0

Story points: 200.0
[Patch] Fix for packages/fcl-db/tests/dbtestframework.pas compile errors


<h3><details><summary>Original Reporter info from Mantis: <small>BigChimp</small></summary><small>

- **Reporter name:** Reinier Olislagers
</small></details></h3>

## Description:

Compiling testfieldtypes.pas<br/>
testfieldtypes.pas(1276,39) Error: Illegal qualifier<br/>
testfieldtypes.pas(1278,39) Error: Illegal qualifier<br/>
testfieldtypes.pas(1283,39) Error: Illegal qualifier<br/>
testfieldtypes.pas(1285,39) Error: Illegal qualifier<br/>
testfieldtypes.pas(1287,39) Error: Illegal qualifier<br/>
testfieldtypes.pas(2158,14) Warning: Class types "TSQLQuery" and "HackedDataset" are not related<br/>
testfieldtypes.pas(2164,14) Warning: Class types "TSQLQuery" and "HackedDataset" are not related<br/>
testfieldtypes.pas(2170,14) Warning: Class types "TSQLQuery" and "HackedDataset" are not related<br/>
testfieldtypes.pas(2327) Fatal: There were 5 errors compiling module, stopping<br/>
Fatal: Compilation aborted<br/>
Error: /home/pascaldev/264/bin/x86_64-linux/ppcx64 returned an error exitcode (normal if you did not

Laco:it is because there is used array constructor, which was introduced in FPC>=2.7.1<br/>
 solution is remove whole test TTestFieldTypes.TestOpenSpecialStatements from testfieldtypes.pas

Attached patch against 2.6.4RC1 fixes this and dbtestframework.pas compiles

## Mantis conversion info:

- **Mantis ID:** 25420
- **OS:** Windows
- **OS Build:** Windows 7
- **Platform:** x64 (with x86 compiler)
- **Version:** 2.6.4
- **Fixed in version:** 2.6.4
- **Fixed in revision:** r26229 (#c68723e364374bd581ad3417fc47fcad1982a5a5)

Story points: 100.0
Generics fatal error for local var in method.


<h3><details><summary>Original Reporter info from Mantis: <small>hnb</small></summary><small>

- **Reporter name:** Maciej Izak
</small></details></h3>

## Description:

// Generics fatal error for local var in method.

``` pascal
{$mode delphi}

type
  TA<T> = class
  private
    type
      TR = record
        A: T;
      end;
  end;

  TB<T> = class(TA<T>)
  public
    procedure Foo;
  end;

procedure TB<T>.Foo;
var
  LR: TR;  // This line causes an error "Fatal: Compilation aborted"
begin
end;
```

## Mantis conversion info:

- **Mantis ID:** 24463
- **Version:** 2.7.1
- **Fixed in version:** 3.0.0
- **Fixed in revision:** 27861 (#639a59df92dae758bd5cfed1128c9f7626eccc76)

Story points: 100.0
can not build RTL with 2.7.1 compiler


<h3><details><summary>Original Reporter info from Mantis: <small>barlone @barloneD</small></summary><small>

- **Reporter name:** 
</small></details></h3>

## Description:

OUTPUT<br/>
Free Pascal Compiler version 2.7.1 [2013/04/02] for i386<br/>
Copyright (c) 1993-2013 by Florian Klaempfl and others<br/>
Target OS: Linux for i386<br/>
Compiling system.pp<br/>
systemh.inc(117,16) Error: Duplicate identifier "FarPointer"<br/>
systemh.inc(117,29) Error: Identifier not found "NearFsPointer"<br/>
systemh.inc(117,29) Error: Error in type definition<br/>
systemh.inc(939,42) Error: Type "FarPointer" is not completely defined<br/>
system.pp(48,34) Fatal: There were 4 errors compiling module, stopping

i think it related with r24453


## Mantis conversion info:

- **Mantis ID:** 24437
- **OS:** XP
- **Build:** r24514
- **Platform:** Windows
- **Version:** 2.7.1

Story points: 100.0
for target win64 x86_64 trunk does not compile anymore


<h3><details><summary>Original Reporter info from Mantis: <small>Necem</small></summary><small>

- **Reporter name:** 
</small></details></h3>

## Description:

make clean install OS_TARGET=win64 CPU_TARGET=x86_64 "INSTALL_PREFIX=..." FPC=...<br/>
results in : <br/>
systemh.inc(160,16) Error: Duplicate identifier "FarPointer"<br/>
system.pp(121,34) Fatal: There were 1 errors compiling module, stopping<br/>
Fatal: Compilation aborted

## Additional information:

Attached console output

## Mantis conversion info:

- **Mantis ID:** 24404

Story points: 200.0
trunk > r24324 fails to build on 64-bit linux : tcgraisenode.pass_generate_code


<h3><details><summary>Original Reporter info from Mantis: <small>tangentstorm</small></summary><small>

- **Reporter name:** michal wallace
</small></details></h3>

## Description:

User loesje_ showed up in #fpc and reported build failure:

/bin/mkdir -p x86_64/units/x86_64-linux<br/>
/home/users/joost/Desktop/ppcx64 -Ur -Xs -O2 -n -Fux86_64 -Fusystems -Fu/home/svn/fpc-trunk/rtl/units/x86_64-linux -Fix86_64 -FE. -FUx86_64/units/x86_64-linux -Cg -dRELEASE    -dx86_64 -dGDB -dBROWSERLOG -Fux86 -Sew pp.pas<br/>
nx64flw.pas(32,37) Error: Identifier not found "tcgraisenode"<br/>
nx64flw.pas(32,37) Error: class type expected, but got "&LtPos;erroneous type>"<br/>
nx64flw.pas(33,17) Error: There is no method in an ancestor class to be overridden: "tx64raisenode.pass_generate_code;"<br/>
nx64flw.pas(52,1) Fatal: There were 3 errors compiling module, stopping<br/>
Fatal: Compilation aborted<br/>
make[5]: *** [ppcx64] Error 1<br/>
make[5]: Leaving directory `/home/svn/fpc-trunk/compiler'<br/>
make[4]: *** [next] Error 2<br/>
make[4]: Leaving directory `/home/svn/fpc-trunk/compiler'<br/>
make[3]: *** [ppc1] Error 2<br/>
make[3]: Leaving directory `/home/svn/fpc-trunk/compiler'<br/>
make[2]: *** [cycle] Error 2<br/>
make[2]: Leaving directory `/home/svn/fpc-trunk/compiler'<br/>
make[1]: *** [compiler_cycle] Error 2<br/>
make[1]: Leaving directory `/home/svn/fpc-trunk'<br/>
make: *** [build-stamp.x86_64-linux] Error 2


I replicated the problem and narrowed the culprit down to r24324, when the 8086 changes were merged in.

The cause is that ncgflw.tcgraisenode was removed:

http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/compiler/ncgflw.pas?r1=24324&r2=24323&pathrev=24324

Maybe it can just be re-added for platforms that depend on it?

## Mantis conversion info:

- **Mantis ID:** 24325
- **OS:** Linux
- **OS Build:** Kubuntu 12
- **Build:** 24324
- **Platform:** x86_64
- **Fixed in version:** 3.0.0
- **Fixed in revision:** 24327 (#4cfc693a632a3a6212c7bf0d8b27975d15f7f18a)-24328 (#4f8fcb7f15eda56ea0e276bc7ee3a5da13c90f4a)

Story points: 100.0