Commit Graph

231 Commits

Author SHA1 Message Date
florian
57a2fe6ddb + some code for PIC support added 2003-10-14 00:30:48 +00:00
marco
d841f44994 * -Xd 2003-10-11 19:32:04 +00:00
peter
f187323816 * -P to -ap
* -V to -vv
2003-10-08 19:17:43 +00:00
marco
487650ab51 * -XP<prefix> support 2003-10-03 14:16:48 +00:00
olle
41fda4ee40 + added command line option for language mode -M<x> 2003-09-17 21:37:07 +00:00
peter
1fcc82e61a * don't check exepath when linking on target 2003-09-14 21:33:11 +00:00
olle
82e40f6506 + compiler now define abi macros for powerpc FPC_ABI_AIX or FPC_ABI_SYSV 2003-09-06 10:41:54 +00:00
florian
22f1ff8da4 * merged Wiktor's Watcom patches in 1.1 2003-09-05 17:41:12 +00:00
peter
b4d54b1889 * powerpc needs software int64 to double 2003-09-03 21:06:05 +00:00
peter
6a8d5eb25d * NEWRA branch merged 2003-09-03 15:55:00 +00:00
florian
220e05dd5e * fixed arm concatcopy
+ arm support in the common compiler sources added
  * moved some generic cg code around
  + tfputype added
  * ...
2003-09-03 11:18:36 +00:00
peter
05c05f2555 * failn removed
* inherited result code check moven to pexpr
2003-05-13 19:14:41 +00:00
florian
fa27f77a17 * FPC_LITTLE_ENDIAN and FPC_BIG_ENDIAN is now defined as well 2003-05-11 19:17:16 +00:00
florian
9612e57805 * introduced defaultordconsttype to decribe the default size of ordinal constants
on 64 bit CPUs it's equal to cs64bitdef while on 32 bit CPUs it's equal to s32bitdef
  + added defines CPU32 and CPU64 for 32 bit and 64 bit CPUs
  * int64s/qwords are allowed as for loop counter on 64 bit CPUs
2003-05-01 07:59:42 +00:00
florian
59906e4e7c * fixed defines for x86-64 2003-04-30 16:35:00 +00:00
florian
88f3ab569c + HAS_TYPE_* defines for floats on i386 and powerpc added 2003-04-24 11:21:45 +00:00
peter
c4ddcc78a8 * generic constructor working for i386
* remove fixed self register
  * esi added as address register for i386
2003-03-28 19:16:56 +00:00
Tomas Hajny
8e7124f9f8 + emx target added 2003-03-23 23:11:17 +00:00
daniel
e8f649f5c2 + $define newra will enable new register allocator
+ getregisterint will return imaginary registers with $newra
  + -sr switch added, will skip register allocation so you can see
    the direct output of the code generator before register allocation
2003-03-08 08:59:07 +00:00
peter
cab4c8879f * only compile cs_fp_emulation support when cpufpuemu is defined
* define cpufpuemu for m68k only
2002-12-06 16:56:57 +00:00
carl
dc22ce1415 - removed cs_fp_emulation checking for m68k, its now controled
by a global switch
  + added powerpc/sparc/vis message options support
2002-11-30 23:14:55 +00:00
carl
f8d831d6ce + -Ce for softfpu 2002-11-30 21:29:56 +00:00
peter
bfd72ad5d5 * merged changes from 1.0.7 up to 04-11
- -V option for generating bug report tracing
    - more tracing for option parsing
    - errors for cdecl and high()
    - win32 import stabs
    - win32 records<=8 are returned in eax:edx (turned off by default)
    - heaptrc update
    - more info for temp management in .s file with EXTDEBUG
2002-11-15 01:58:45 +00:00
peter
5805755619 * fix -n that was broken in the previous commit 2002-10-23 17:07:40 +00:00
peter
3f3b1f8912 * first search for fpc.cfg instead of deprecated ppc386.cfg
* parse commandline options first before searching configfile so -vt
    can be used to display the searched files
2002-10-23 16:57:16 +00:00
peter
0538dce044 * define HASTHREADVAR 2002-10-13 21:33:01 +00:00
peter
d774c8d988 * Copy() is now internal syssym that calls compilerprocs 2002-10-02 18:20:52 +00:00
carl
8733061c78 * stack checking cannot be called before system unit is initialized
* MC68020 define
2002-09-22 14:02:34 +00:00
carl
9da171faf2 + stab register indexes for powerpc (moved from gdb to cpubase)
+ tprocessor enumeration moved to cpuinfo
  + linker in target_info is now a class
  * many many updates for m68k (will soon start to compile)
  - removed some ifdef or correct them for correct cpu
2002-08-12 15:08:39 +00:00
carl
18b102ce95 + moved target_cpu_string to cpuinfo
* renamed asmmode enum.
  * assembler reader has now less ifdef's
  * move from nppcmem.pas -> ncgmem.pas vec. node.
2002-08-10 14:46:29 +00:00
carl
1ef442f4bf - removed newcg define 2002-08-09 19:15:41 +00:00
florian
1b5435381b * several PowerPC related fixes to get forward with system unit compilation 2002-07-26 22:22:10 +00:00
florian
eb2ca8d10f * rewrote the system handling 2002-07-26 21:15:37 +00:00
florian
4f7b35be5b + source code page support 2002-07-20 17:11:48 +00:00
florian
479a745096 * first x86-64 patches 2002-07-04 20:43:00 +00:00
peter
4285e99853 * internal linker
* reorganized aasm layer
2002-07-01 18:46:20 +00:00
peter
68ce5a00e5 * cg64 patch
* basics for currency
  * asnode updates for class and interface (not finished)
2002-07-01 16:23:52 +00:00
peter
06ebac4e27 * readded missing revisions 2002-05-18 13:34:04 +00:00
carl
21b3a10f02 + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c * removed old logs and updated copyright year 2002-05-14 19:34:38 +00:00
peter
4dcd96747e * moved entry and exitcode to ncgutil and cgobj
* foreach gets extra argument for passing local data to the
    iterator function
  * -CR checks also class typecasts at runtime by changing them
    into as
  * fixed compiler to cycle with the -CR option
  * fixed stabs with elf writer, finally the global variables can
    be watched
  * removed a lot of routines from cga unit and replaced them by
    calls to cgobj
  * u32bit-s32bit updates for and,or,xor nodes. When one element is
    u32bit then the other is typecasted also to u32bit without giving
    a rangecheck warning/error.
  * fixed pascal calling method with reversing also the high tree in
    the parast, detected by tcalcst3 test
2002-05-12 16:53:04 +00:00
peter
6320530bdd * removed newn and disposen nodes, the code is now directly
inlined from pexpr
  * -an option that will write the secondpass nodes to the .s file, this
    requires EXTDEBUG define to actually write the info
  * fixed various internal errors and crashes due recent code changes
2002-04-21 19:02:03 +00:00
carl
87aa88e9b7 + generic FPC_CHECKPOINTER
+ first parameter offset in stack now portable
* rename some constants
+ move some cpu stuff to other units
- remove unused constents
* fix stacksize for some targets
* fix generic size problems which depend now on EXTEND_SIZE constant
2002-04-20 21:32:23 +00:00
carl
d5e772d8a4 + CPU defines now depends on current target 2002-04-07 10:22:35 +00:00
peter
5e7a1e3729 * removed unused units
* use tlocation.size in cg.a_*loc*() routines
2002-04-04 19:05:54 +00:00
carl
0ee2ac7451 + added wdosx support (patch from Pavel) 2002-04-04 18:30:22 +00:00
peter
e45bb82d81 * freemem change to value parameter
* torddef low/high range changed to int64
2001-12-03 21:48:41 +00:00
carl
41c3b07113 * Renamed ppc.cfg -> fpc.cfg 2001-11-24 02:05:21 +00:00
carl
f113d708d8 + ppc.cfg is now configuration file for compiler.
(first tries loading ppc386.cfg for backward compatibility)
2001-11-23 02:48:46 +00:00
peter
17d62feebe * $calling directive and -Cc commandline patch added
from Pavel Ozerski
2001-10-23 21:49:42 +00:00
peter
45dab81414 * merged netbsd, fpu-overflow from fixes branch 2001-09-17 21:29:10 +00:00
marco
3b9df162d1 * fix from peter 2001-09-12 12:46:54 +00:00
peter
2d610e9be3 * asbsd merged 2001-08-30 20:57:09 +00:00
peter
f88f6eb571 * rtti/init table updates
* rttisym for reusable global rtti/init info
  * support published for interfaces
2001-08-30 20:13:52 +00:00
florian
07495c8526 * renamed messages unit to cmsgs to avoid conflicts with the
win32 messages unit
2001-08-20 10:58:48 +00:00
peter
fd8e5fa78c * palmos support from v10 merged 2001-08-19 11:22:22 +00:00
peter
19e153abd3 * under development flag for targets 2001-08-12 17:57:06 +00:00
peter
7d45ac61de * list targets with -i 2001-08-07 18:42:46 +00:00
Jonas Maebe
367f7a0362 + "compilerproc" directive support, which turns both the public and mangled
name to lowercase(declaration_name). This prevents a normal user from
    accessing the routine, but they can still be easily looked up within
    the compiler. This is used for helper procedures and should facilitate
    the writing of more processor independent code in the code generator
    itself (mostly written by Peter)
  + new "createintern" constructor for tcal nodes to create a call to
    helper exported using the "compilerproc" directive
  + support for high(dynamic_array) using the the above new things
  + definition of 'HASCOMPILERPROC' symbol (to be able to check in the
    compiler and rtl whether the "compilerproc" directive is supported)
2001-08-01 15:07:29 +00:00
peter
899f2ad0bb * removed fpu_in_rtl define (merged) 2001-07-31 19:38:46 +00:00
peter
121f1a09a0 * declare fpu in rtl for m68k linux 2001-07-30 21:39:26 +00:00
peter
db87f86f00 * Length made internal
* Add array support for Length
2001-07-09 21:15:40 +00:00
peter
ca8d604964 * various widestring updates, it works now mostly without charset
mapping supported
2001-07-08 21:00:14 +00:00
peter
b10e754536 * alignmentinfo record added
* -Oa argument supports more alignment settings that can be specified
    per type: PROC,LOOP,VARMIN,VARMAX,CONSTMIN,CONSTMAX,RECORDMIN
    RECORDMAX,LOCALMIN,LOCALMAX. It is possible to set the mimimum
    required alignment and the maximum usefull alignment. The final
    alignment will be choosen per variable size dependent on these
    settings
2001-07-01 20:16:15 +00:00
peter
05e12f6894 * patch from Pavel Ozerski to support +/- better 2001-06-29 19:41:54 +00:00
Jonas Maebe
ea7b4b5367 * fixed typo in NOBOUNDCHECK define 2001-06-19 14:55:45 +00:00
peter
e24474d9ac * -Ur switch (merged)
* masm fixes (merged)
  * quoted filenames for go32v2 and win32
2001-06-18 20:36:23 +00:00
peter
8ee0413cf7 * extradefines field added to target_info, so that targets don't
need to put code in options.pas for it
2001-06-02 19:21:45 +00:00
peter
25e006b364 * endian define 2001-05-18 22:28:59 +00:00
peter
b9cb031a39 * simplify_ppu is now the default, a recompile of the compiler now
only compiles pp.pas
2001-05-12 12:11:31 +00:00
peter
0c03535b5b * registration of targets and assemblers 2001-04-18 22:01:53 +00:00
peter
a7cf57524e * symtable change to classes
* range check generation and errors fixed, make cycle DEBUG=1 works
  * memory leaks fixed
2001-04-13 01:22:06 +00:00
peter
b2c26bdd42 * fixed -Se (merged) 2001-03-25 12:27:31 +00:00
florian
e964449b71 + some stuff to compile FreeCLX added 2001-03-23 00:16:07 +00:00
peter
939f49375f * message loading fixes from Sergey (merged) 2001-03-13 20:59:56 +00:00
peter
9be4aa216f * don't check messagefile for numbers, this allows the usage of
1.1 msgfiles with a 1.0.x compiler
2001-03-10 13:19:10 +00:00
peter
e49f13a393 * press enter moved to errore.msg 2001-03-05 21:50:28 +00:00
Jonas Maebe
af38291233 * simplified and optimized range checking code, FPC_BOUNDCHECK is no longer necessary 2001-03-03 12:41:22 +00:00
peter
684970ea22 * merged generic m68k updates from fixes branch 2001-02-26 19:44:52 +00:00
Jonas Maebe
c7af813c76 * fixed bug in type checking for compatibility of set elements (merged)
* released fix in options.pas from Carl also for FPC (merged)
2001-02-26 12:47:46 +00:00
michael
71e170f80f * option_help_pages:
allow to omit an option (use one space char insteed an option)
   but to indent a continuation line as if option is present. For lines:
     3*2CX_first line
     3*2 _second line
     3*2*_third line
   we could get:
     -CX        first line
                second line
     third line
2001-02-26 08:08:39 +00:00
michael
c6f78731ed Support replacements for all -F<x> options 2001-02-26 07:49:50 +00:00
peter
6656025337 * applied patches from Sergey Korshunoff 2001-02-05 21:26:36 +00:00
Tomas Hajny
ee51dcc980 + APPTYPE support under OS/2, app_fs, GetEnvPChar for OS/2 2001-01-20 18:32:52 +00:00
peter
9964f294bd * fixed writing of quickinfo when no ppc386.cfg is available 2001-01-12 19:21:09 +00:00
florian
00917cb46f * the info about exception frames is stored now on the stack
instead on the heap
2001-01-05 17:35:50 +00:00
peter
32b9cdb7cf + new tlinkedlist class (merge of old tstringqueue,tcontainer and
tlinkedlist objects)
2000-12-25 00:07:25 +00:00
peter
6d8398ab9f * use system.paramstr() 2000-12-24 12:21:41 +00:00
peter
be95b0758b * object to class conversion
* more verbosity for -vt and -vd
  * -i options can be put after eachother so the Makefiles only need
    to call fpc once for all info (will be twice as the first one will
    be to check the version if fpc supports multiple info)
2000-12-23 19:46:49 +00:00
Jonas Maebe
4f791d04b4 - removed all ifdef cardinalmulfix code 2000-12-16 15:56:18 +00:00
Jonas Maebe
0a70f9b06e * only return int64's from functions if it int64funcresok is defined
+ added int64funcresok define to options.pas
2000-12-15 13:26:01 +00:00
florian
9107f49c03 * opts386 renamed 2000-11-30 22:48:23 +00:00
florian
b9796f6a7f * unused units removed from uses clause
* some changes for widestrings
2000-11-29 00:30:30 +00:00
marco
b65958a61e * Renamefest 2000-11-13 15:26:12 +00:00
peter
5ac2599649 * create generic toutputsection for binary writers 2000-11-12 22:20:37 +00:00
marco
e85fea41f5 * Define UNIX for FreeBSD and Linux. Checked crosscompile thingy. 2000-11-07 15:09:27 +00:00
marco
54897380bd * FreeBSD defines (FreeBSD,Linux,BSD,Unix) Linux defines (Linux,Unix) 2000-11-07 14:25:08 +00:00
peter
8df98007d6 * more fixes to get make cycle working 2000-11-06 20:30:54 +00:00
florian
51527ba1c9 + merged Attila's changes for interfaces, not tested yet 2000-11-04 14:25:19 +00:00
Jonas Maebe
fa38093530 * initmodeswitches is changed is you change the compiler mode from the
command line (the -S<x> switches didn't work anymore for changing the
    compiler mode) (merged from fixes branch)
2000-09-26 10:50:41 +00:00