Commit Graph

196 Commits

Author SHA1 Message Date
peter
78213ee091 * delphi also has pointer archimetic 2002-12-25 01:26:17 +00:00
carl
081a4aab35 * 3% memory optimization
* changed some types
  + added type checking with different size for call node and for
     parameters
2002-12-07 14:27:07 +00:00
peter
2183d2edde * amiga fixes merged 2002-12-06 17:50:00 +00:00
carl
eeea5fdae0 * warning of portabilitiy problems with parasize / localsize
+ some added documentation
2002-12-01 22:07:41 +00:00
carl
6f5c977415 - cs_fp_emulation is no longer automatic for m68k target 2002-11-30 23:13:48 +00:00
carl
a62998ff03 * fix bug n last commit (this bug was only detected gby 1.0.x, fixed) 2002-11-30 11:08:46 +00:00
pierre
a47e4fb345 * remove double in delphimodeswitches to allow compilation with -Cr option 2002-11-30 00:34:20 +00:00
carl
5c5db0e0a3 + unimplemented hint directive added
* hint directive parsing implemented
  * warning on these directives
2002-11-29 22:31:19 +00:00
mazen
11b3fa6d81 + TSearchPathList.AddPath supports a local path in addition to file name 2002-11-20 10:11:46 +00:00
carl
cd256ebfb4 - browser information is off by default 2002-11-16 14:49:12 +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
carl
fd24f60a1c + added var_align/const_align routines 2002-11-09 15:38:39 +00:00
peter
83dae76625 + $IMPLICITEXCEPTIONS switch to turn on/off generation of the
implicit exception frames for procedures with initialized variables
    and for constructors. The default is on for compatibility
2002-10-16 19:01:43 +00:00
peter
8b5e92cb3c * removed repetitive pass counting
* display heapsize also for extdebug
2002-09-05 19:28:29 +00:00
peter
91b49914f6 * More fixes for cross unit inlining, all tnodes are now implemented
* Moved pocall_internconst to po_internconst because it is not a
    calling type at all and it conflicted when inlining of these small
    functions was requested
2002-08-19 19:36:42 +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
florian
3fe0229843 + added direct assembler reader for PowerPC 2002-07-28 20:45:22 +00:00
florian
4f7b35be5b + source code page support 2002-07-20 17:11:48 +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
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
86a068445b + moved constant from cpuinfo, these are NOT cpu specific
constant, but more related to compiler functionality.
2002-04-07 13:24:30 +00:00
peter
5b242f7741 * tlocation,treference update
* LOC_CONSTANT added for better constant handling
  * secondadd splitted in multiple routines
  * location_force_reg added for loading a location to a register
    of a specified size
  * secondassignment parses now first the right and then the left node
    (this is compatible with Kylix). This saves a lot of push/pop especially
    with string operations
  * adapted some routines to use the new cg methods
2002-04-02 17:11:27 +00:00
armin
ed209a3961 + initialize threadvars defined local in units 2002-03-28 16:07:52 +00:00
peter
fd2ad837e2 * implicit result variable generation for assembler routines
* removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
2002-01-24 18:25:48 +00:00
florian
b60666ae1f + parasym to tparaitem added 2001-12-06 17:57:33 +00:00
peter
e37dbf904d * calling convention rewrite 2001-10-25 21:22:32 +00:00
peter
17d62feebe * $calling directive and -Cc commandline patch added
from Pavel Ozerski
2001-10-23 21:49:42 +00:00
peter
cb06c9bcb8 * array access for properties added 2001-10-21 12:33:05 +00:00
peter
7781fca6bd * read only typed const support, switch $J- 2001-10-20 20:30:20 +00:00
Jonas Maebe
d8c104b25d * fixed goto/label/try bugs 2001-10-16 15:10:34 +00:00
peter
e178da120d * pathexists fix (merged) 2001-10-12 16:06:17 +00:00
michael
f959a590fe * Fixes win32 linking problems with import libraries
* LINKLIB Libraries are now looked for using C file extensions
* get_exepath fix
2001-09-18 11:30:47 +00:00
peter
45dab81414 * merged netbsd, fpu-overflow from fixes branch 2001-09-17 21:29:10 +00:00
peter
fd8e5fa78c * palmos support from v10 merged 2001-08-19 11:22:22 +00:00
peter
2a1adf0ee6 * updates so it works with the ide 2001-08-04 10:23:54 +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
e24474d9ac * -Ur switch (merged)
* masm fixes (merged)
  * quoted filenames for go32v2 and win32
2001-06-18 20:36:23 +00:00
peter
f86ce17588 + hint directive parsing support 2001-06-03 21:57:35 +00:00
peter
add30a428e * Kylix fixes, mostly case names of units 2001-06-03 20:21:08 +00:00
peter
652a4b8aaa * netware patches for copyright, screenname, threadname directives 2001-05-30 21:35:48 +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
6c7708c1e0 * ppu object to class rewrite
* move ppu read and write stuff to fppu
2001-05-06 14:49:16 +00:00
peter
0c03535b5b * registration of targets and assemblers 2001-04-18 22:01:53 +00:00
peter
5677fbe1b4 * fixed crash in labelnode
* easier detection of goto and label in try blocks
2001-04-15 09:48:29 +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
florian
64d7d5682e * applied several fixes to get the DD8 Delphi Unit compiled
e.g. "forward"-interfaces are working now
2001-04-04 21:30:42 +00:00
peter
a7fe3cb6b9 * new fixfilename, findfile for unix. Look first for lowercase, then
NormalCase and last for UPPERCASE names.
2001-02-20 21:41:15 +00:00
peter
7bdc320697 * default packenum=1 for tp7 mode 2001-02-09 23:05:45 +00:00
peter
eda26e9190 * support linux unit for ver1_0 compilers 2001-02-05 20:46:59 +00:00
marco
ad6ba5dd70 * Renamefest. Compiler part. Not that hard. 2001-01-21 20:32:45 +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
cac56fc13e * fixed findexe to also support already extension in name 2001-01-13 00:03:41 +00:00
peter
ff388a41e2 * use system.paramstr() 2000-12-26 15:57:25 +00:00
peter
32b9cdb7cf + new tlinkedlist class (merge of old tstringqueue,tcontainer and
tlinkedlist objects)
2000-12-25 00:07:25 +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
florian
51527ba1c9 + merged Attila's changes for interfaces, not tested yet 2000-11-04 14:25:19 +00:00
peter
451723647e * symtable splitted, no real code changes 2000-10-31 22:02:46 +00:00
pierre
f95a082233 * IsExe restored 2000-10-04 14:51:08 +00:00
peter
5dc42d12ed * also set initlocalswitches in setcompilemode (merged) 2000-09-27 21:20:56 +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
peter
24fc983597 * message updates merges 2000-09-24 21:33:46 +00:00
peter
5218af7926 * delphi compile fixes 2000-09-24 21:19:48 +00:00
peter
cd3f2c37e0 * fixed typo 2000-09-24 15:12:40 +00:00
peter
a71e44ac49 * use defines.inc 2000-09-24 15:06:10 +00:00
peter
0c94c56136 * searching of exe in path also for OS/2
* fixed searching of exe in path.
2000-09-24 10:33:07 +00:00
florian
6159f4535f + first implementation of Netware Module support, thanks to
Armin Diehl (diehl@nordrhein.de) for providing the patches
2000-09-11 17:00:22 +00:00
peter
4c94659743 * moved some util functions from globals,cobjects to cutils
* splitted files into finput,fmodule
2000-08-27 16:11:48 +00:00
peter
8f20bd887d * ELF writer works now also with -g
* ELF writer is default again for linux
2000-08-12 19:14:58 +00:00
peter
fac523d7f6 * IDE patch for stream reading (merged) 2000-08-12 15:30:44 +00:00
peter
227e983397 * first things for default parameters 2000-08-02 19:49:58 +00:00
michael
665c1f6410 + patched to 1.1.0 with former 1.09patch from peter 2000-07-13 12:08:24 +00:00
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
michael
e7aca136a1 + Initial import 2000-07-13 06:29:38 +00:00
pierre
ee9d8f5248 * smart link is default on win32 2000-06-19 19:57:19 +00:00
peter
2b1d92cb5c * no binary value reading with % if not fpc mode
* extended illegal char message with the char itself (Delphi like)
2000-06-18 18:05:54 +00:00
peter
0d58e53bfc * first look for ppu in cwd and outputpath and after that for source
in cwd
  * fixpath() for not linux makes path now lowercase so comparing paths
    with different cases (sometimes a drive letter could be
    uppercased) gives the expected results
  * sources_checked flag if there was already a full search for sources
    which aren't found, so another scan isn't done when checking for the
    sources only when recompile is needed
2000-06-15 18:10:11 +00:00
peter
42bdcb649b * fixed pchar->string conversion for delphi mode 2000-06-11 07:00:21 +00:00
pierre
7c324b13b2 * adapted to Delphi 3 2000-05-12 08:58:51 +00:00
pierre
a77b264bd0 * * get it to compile with Delphi by Kovacs Attila Zoltan 2000-05-12 05:55:04 +00:00
pierre
3697d3c985 * do not use upcase for strings, reported by Kovacs Attila Zoltan 2000-05-11 09:37:25 +00:00
peter
325b9acfa2 * ansistrings are now default on for delphi mode, as most ppl expect
this
2000-05-04 20:46:17 +00:00
pierre
eb59e0b11c * fix for tests/test/testrang.pp bug 2000-05-03 14:36:57 +00:00
pierre
76f84bfc22 * setfiletime to both files in synchronize 2000-04-14 12:27:57 +00:00
peter
273373602f * $VERSION is now version_string
+ $FULLVERSION is now full_version_string
2000-03-23 15:35:47 +00:00
pierre
53d50a62a4 * probably a fix for bug #615 2000-03-20 16:04:05 +00:00
daniel
97a5b84098 + Added align_from_size function as suggested by Peter. 2000-03-08 15:39:45 +00:00
daniel
fb1a842118 * Current work of symtable integration committed. The symtable can be
activated by defining 'newst', but doesn't compile yet. Changes in type
  checking and oop are completed. What is left is to write a new
  symtablestack and adapt the parser to use it.
2000-02-28 17:23:56 +00:00
marco
c23e9edb97 * Basic structures for new sethandling implemented. 2000-02-14 20:58:43 +00:00
peter
5aec5872b6 * addpath fixed with list of paths when inserting at the beginning
* if exepath=currentdir then it's not inserted in path list
  * searchpaths in ppc386.cfg are now added at the beginning of the
    list instead of at the end. (commandline is not changed)
  * check paths before inserting in list
2000-02-10 11:45:48 +00:00
peter
4a4a24b6e8 * log truncated 2000-02-09 13:22:42 +00:00
marco
4b25d85637 * $VERSION is now also substituted in -F paths (that have subst active) 2000-01-26 14:31:03 +00:00
florian
332c7a568f * CMOV support in optimizer (in define USECMOV)
+ start of support of exceptions in constructors
2000-01-23 21:29:14 +00:00
peter
39faeb7440 * better auto RTL dir detection 2000-01-23 16:36:37 +00:00
pierre
08cb7daa9f * fix for GetShortName, now checks results from Win32 2000-01-20 00:23:03 +00:00