mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-03 12:18:39 +02:00

o made all (non-abstract) tdef and tsym constructors virtual o added c*def/c*sym classref types for every (non-abstract) t*def/t*sym class o added cpusym unit for every architecture that derives a tcpu*def/tcpu*sym class from the base classes, and initialises the c*def/c*sym classes with them. This is done so that the llvm target will be able to derive from the tcpu*def/sym classes without umpteen ifdefs, and it also means that the WPO can devirtualise everything because the c* variables are only initialised with one class type o replaced all t*def/t*sym constructor calls with c*def/c*sym constructor calls git-svn-id: trunk@27361 -
65 lines
1.6 KiB
ObjectPascal
65 lines
1.6 KiB
ObjectPascal
{
|
|
Copyright (c) 2000 by Florian Klaempfl
|
|
|
|
Includes the x86-64 code generator
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
****************************************************************************
|
|
}
|
|
{ This is a helper unit to include the necessary code generator units
|
|
for the x86-64 processor.
|
|
}
|
|
unit cpunode;
|
|
|
|
{$i fpcdefs.inc}
|
|
|
|
interface
|
|
|
|
implementation
|
|
|
|
uses
|
|
{ generic nodes }
|
|
ncgbas,
|
|
ncgld,
|
|
ncgflw,
|
|
ncgcnv,
|
|
ncgmem,
|
|
ncgmat,
|
|
ncgcon,
|
|
ncgcal,
|
|
ncgset,
|
|
ncgopt,
|
|
ncgobjc,
|
|
{ the cpu specific node units must be used after the generic ones to
|
|
get the correct class pointer }
|
|
nx86set,
|
|
nx86con,
|
|
nx86mem,
|
|
nx64add,
|
|
nx64cal,
|
|
nx64cnv,
|
|
nx64mat,
|
|
{$ifndef DISABLE_WIN64_SEH}
|
|
nx64flw,
|
|
{$endif DISABLE_WIN64_SEH}
|
|
nx64inl,
|
|
nx64set,
|
|
{ symtable }
|
|
symcpu
|
|
;
|
|
|
|
end.
|