Commit Graph

342 Commits

Author SHA1 Message Date
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
peter
e525797c51 * updated copyright to 2000 2000-01-07 01:14:18 +00:00
peter
75109b4fc1 * tp7 fix 2000-01-07 00:08:09 +00:00
peter
2085b5abde * wildcard support for directory adding, this allows the use of units/*
in ppc386.cfg
2000-01-06 15:48:59 +00:00
florian
89ccc81c2b + added compiler switch $maxfpuregisters
+ fixed a small problem in secondvecn
2000-01-04 15:15:50 +00:00
peter
7583de7a4f - removed freelabel()
* added undefined label detection in internal assembler, this prevents
    a lot of ld crashes and wrong .o files
  * .o files aren't written anymore if errors have occured
  * inlining of assembler labels is now correct
1999-12-22 01:01:45 +00:00
pierre
bed6bb6b2a + $description $version 1999-12-20 23:23:28 +00:00
pierre
3e399a860d + dllversion global variable
* FPC_USE_CPREFIX code removed, not necessary anymore
    as we use .edata direct writing by default now.
1999-12-20 21:42:34 +00:00
pierre
5169b7b86b + allow use of unit var in exports of DLL for win32
by using direct export writing by default instead of use of DEFFILE
    that does not allow assembler labels that do not
    start with an underscore.
    Use -WD to force use of Deffile for Win32 DLL
1999-12-08 10:39:59 +00:00
peter
ada779a989 * support !ENVVAR for long commandlines
* win32/go32v2 write short pathnames to link.res so c:\Program Files\ is
    finally supported as installdir.
1999-12-06 18:21:03 +00:00
peter
c5410eee5c * preprocessor support. But it fails on the caret in type blocks 1999-12-02 17:34:34 +00:00
pierre
b528749138 * Notes/Hints for local syms changed to
Set_varstate function
1999-11-18 15:34:44 +00:00
pierre
62da9bd4c0 * Notes/hints changes 1999-11-17 17:04:58 +00:00
pierre
5fa01cdc9e * -g disables reloc section for win32 1999-11-15 17:42:40 +00:00
peter
e169c592f8 * searchpaths changed to stringqueue object 1999-11-12 11:03:49 +00:00
pierre
2bb6dcfa7b + resolving_forward boolean used for references 1999-11-09 23:34:46 +00:00
peter
225bbac550 * define FPC_DELPHI,FPC_OBJFPC,FPC_TP,FPC_GPC
* initial support for ansistring default with modes
1999-11-09 13:00:37 +00:00
pierre
ffbacdffde + Reset AnsiStrings to clean up memory 1999-11-08 16:27:20 +00:00
peter
0887060ff2 * truncated log to 20 revs 1999-11-06 14:34:16 +00:00
peter
38ee2fd8b4 * TSearchPathString for the string type of the searchpaths, which is
ansistring under FPC/Delphi
1999-11-04 10:55:31 +00:00
peter
503d5a1cfa * const parameter is now checked
* better and generic check if a node can be used for assigning
  * export fixes
  * procvar equal works now (it never had worked at least from 0.99.8)
  * defcoll changed to linkedlist with pparaitem so it can easily be
    walked both directions
1999-10-26 12:30:40 +00:00
peter
fefc839b29 * redesigned linker object
+ library support for linux (only procedures can be exported)
1999-10-21 14:29:32 +00:00
florian
a9d8bfa1f7 * some bug fixes (e.g. must_be_valid and procinfo.funcret_is_valid)
* most things for stored properties fixed
1999-09-10 18:48:00 +00:00
peter
be49731850 * pointer add/sub is now as expected and the same results as inc/dec 1999-09-08 16:05:29 +00:00
pierre
7439aa4828 * use do_internalerror insetead of runerror 1999-09-07 15:11:00 +00:00
peter
0274f3a08b * fixed crash in psub
* ansistringcompare fixed
  * support for #$0b8
1999-08-30 10:17:56 +00:00
pierre
d585f0544f options -Ca sets simply_ppu to true 1999-08-27 10:45:00 +00:00
pierre
1c8a7a1924 + label faillabel added for _FAIL support 1999-08-19 13:02:08 +00:00
pierre
96fdcfb1f2 * fix for DLL relocation problems
* external bss vars had wrong stabs for pecoff
  + -WB11000000 to specify default image base, allows to
    load several DLLs with debugging info included
    (relocatable DLL are stripped because the relocation
     of the .Stab section is misplaced by ldw)
1999-08-16 15:35:20 +00:00
peter
fc8211bbb8 * tlinker object is now inherited for win32 and dos
* postprocessexecutable is now a method of tlinker
1999-08-11 17:26:31 +00:00
pierre
d85a8886fd * bind_win32_dll removed (Relocsection used instead)
* now relocsection is true by default ! (needs dlltool
    for DLL generation)
1999-08-10 12:51:14 +00:00
daniel
3ec16374ab * Changes for new symtable. 1999-08-05 20:54:19 +00:00
florian
1cf1665d73 * the alpha compiler can be compiled now 1999-08-03 17:09:34 +00:00
peter
07bb58295b * alignment is now saved in the symtable
* C alignment added for records
  * PPU version increased to solve .12 <-> .13 probs
1999-07-23 16:05:18 +00:00
florian
046acfb84b * made it compilable with Dlephi 4 again
+ fixed problem with large stack allocations on win32
1999-07-18 10:19:38 +00:00
michael
5b62a2b45c + Defaultreplacemens now more logical 1999-07-13 19:14:44 +00:00
peter
02576a8279 * merged 1999-07-10 10:26:18 +00:00
florian
62cb5453d3 * a lot bug fixes:
- po_external isn't any longer necessary for procedure compatibility
     - m_tp_procvar is in -Sd now available
     - error messages of procedure variables improved
     - return values with init./finalization fixed
     - data types with init./finalization aren't any longer allowed in variant
       record
1999-07-06 21:48:09 +00:00
peter
58cbc3e795 * new link writing to the ppu, one .ppu is needed for all link types,
static (.o) is now always created also when smartlinking is used
1999-07-03 00:29:45 +00:00
peter
0b272f13c7 * removed oldasm
* plabel -> pasmlabel
  * -a switches to source writing automaticly
  * assembler readers OOPed
  * asmsymbol automaticly external
  * jumptables and other label fixes for asm readers
1999-05-27 19:43:55 +00:00
peter
a47afc3857 * removed oldppu code
* warning if objpas is loaded from uses
  * first things for new deref writing
1999-05-13 21:59:19 +00:00
florian
253ba04a57 * a delphi compiled compiler recompiles ppc 1999-05-05 10:05:48 +00:00
florian
78d13ec796 * changes to compile it with Delphi 4.0 1999-05-04 21:44:30 +00:00
peter
884c517b18 * release storenumber,double_checksum 1999-04-26 13:31:24 +00:00
peter
d9b021ebd9 * default asm changed to att 1999-04-21 14:12:55 +00:00
pierre
155e60790a * unused local var commented 1999-04-16 09:56:05 +00:00
michael
425a971f8d + Re-added; 1999-04-08 09:14:46 +00:00