Commit Graph

334 Commits

Author SHA1 Message Date
florian
602026d89d + setting sse exception mask on x86_64 2005-02-05 16:17:19 +00:00
olle
d5d8694c96 * macpas now uses tp style proc params 2005-02-01 17:57:30 +00:00
michael
ac1642de89 * Patch from peter: fix macpas anonymous function procvar 2005-02-01 08:46:13 +00:00
olle
4f43c7e09f + Added fake Exception classes, only for MACOS. 2005-01-31 21:30:56 +00:00
florian
0fe35da937 * fixed math constants for big endian cpus 2005-01-23 22:13:50 +00:00
florian
cc9534cf41 + added pi bit pattern to the compiler, so pi should always be correct 2005-01-23 21:09:11 +00:00
peter
04c97cc129 * load jmp_buf_size from system unit 2005-01-20 16:38:45 +00:00
olle
7572f3a539 * rework of macro subsystem
+ exportable macros for mode macpas
2005-01-09 20:24:43 +00:00
florian
ef9b70f1f4 * 1.0.10 starting patch from Peter 2005-01-06 13:40:41 +00:00
Károly Balogh
8f534e5428 * made Shell() work correctly on MorphOS 2005-01-06 09:20:36 +00:00
Károly Balogh
088575dc32 + sysv style syscalls added for MorphOS 2005-01-04 17:40:33 +00:00
florian
bb096fcec6 * fixed nan et al. handling on arm 2005-01-04 16:20:51 +00:00
Tomas Hajny
f290fbb299 * 8.3 fixes (short target name in paths) 2004-12-28 20:43:00 +00:00
marco
9dec5c3179 * introduction "cleanpath" (=fexpand), fixfilename(paramstr(0)) + search $PREFIX/etc/fpc.cfg 2004-12-15 16:06:47 +00:00
florian
caa87a23ec * fixed arm compilation 2004-11-05 13:14:30 +00:00
peter
c95a859f0a * generic tlocation
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
peter
7d745c0483 * default paths fixed 2004-10-31 19:09:54 +00:00
peter
bc59556a41 * $fpctarget expands to <cpu>-<os>
* allow * in middle of the path to support ../*/units/$fpctarget
2004-10-31 18:54:24 +00:00
peter
759c010f6a * -Ch for heapsize added again
* __heapsize contains the heapsize
2004-10-26 15:11:01 +00:00
peter
e7459f5466 * heap and heapsize removed
* checkpointer fixes
2004-10-25 15:38:41 +00:00
olle
ee8e998b61 * Fixed printing of filedates 2004-10-16 22:46:14 +00:00
olle
f8646ff771 + added more support for macos 2004-10-16 13:03:13 +00:00
mazen
581b52422c - remove $IFDEF DELPHI and related code
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
mazen
e90d8a42e3 * USE_SYSUTILS merged successfully : cycles with and without defines
* Need to be optimized in performance
2004-10-14 18:16:17 +00:00
peter
044ec56b56 * default optimization cpu changed to CLassPentium3 2004-10-10 15:42:22 +00:00
olle
61645ef149 + Added CurDirRelPath
* Exchanged hardcoded "./" to CurDirRelPath
2004-10-09 11:27:59 +00:00
Tomas Hajny
5df0c00360 * better PathExists, fix for too long command line, correction of message 2004-09-21 23:33:43 +00:00
peter
690f5e22d1 * x86_64 fixes
* cleanup of fpcdefs.icn
2004-09-21 19:59:51 +00:00
peter
33a834821f * paraloc branch merged 2004-09-21 17:25:12 +00:00
michael
41f7fa8c37 + Check if outputdir exists, Fix exitcode when displaying help pages 2004-09-08 11:23:30 +00:00
olle
22a93eb1e9 + support for quoting of paths in TSearchPathList.AddPath so that
compiler directives which take paths, will support quotes.
  * uppdated TranslateMacPath
2004-08-31 22:02:30 +00:00
peter
2043999880 * optimized search for noncasesensitive names. It now searches
first for NormalCase and skips double tests
2004-08-28 20:25:25 +00:00
olle
2a4605eabc + made fpc work as an MPW tool, by itself calling asm and link.
* bugfix in fp exception flag settings routine
2004-08-20 10:29:31 +00:00
michael
ff069c5ecc + Patch from Christian Iversen to implement LIBPREFIX/SUFFIX/EXTENSION directives 2004-08-02 07:15:54 +00:00
Jonas Maebe
75c3c8b259 * shell now returns an exitcode
* print an error if linking failed when linking was done using a script
2004-07-17 15:51:57 +00:00
olle
6b77630880 + FixFileName now handles Mac OS paths 2004-07-05 23:28:24 +00:00
florian
8a9758c5e2 * logs truncated 2004-06-20 08:55:28 +00:00
florian
588e2c38bf * dwarf branch merged 2004-06-16 20:07:06 +00:00
olle
e5625e3af4 * changed $mode mac to $mode macpas
* changed macmodeswitches to be more faithful to the mac dialect
2004-05-11 18:20:52 +00:00
daniel
b721e5872c * Prepare compiler infrastructure for multiple ansistring types 2004-04-29 19:56:36 +00:00
florian
c68ea95074 + syscall directive support for MorphOS added 2004-04-28 15:19:03 +00:00
peter
ba9f4a0703 * packrecords fixed for settings from $PACKRECORDS
* default packrecords now uses value 0 and uses info from aligment
    structure only, initpackrecords removed
2004-03-14 20:08:37 +00:00
olle
dfa6403a70 + Support for Link on target especially for MacOS
+ TLinkerMPW
  + TAsmScriptMPW
2004-02-19 20:40:15 +00:00
florian
4f90e4afdc + PtrInt declared if VER1_0 2004-02-08 16:38:51 +00:00
peter
8caaa7740d * more record alignment fixes 2004-01-28 22:16:31 +00:00
florian
4ccec73aa5 * fixed alignment of classes 2004-01-28 21:05:56 +00:00
florian
85bed883ce * another bunch of x86-64 fixes mainly calling convention and
assembler reader related
2004-01-14 23:39:05 +00:00
peter
32173c41fa * removed asmmode_direct 2004-01-12 16:36:53 +00:00
Jonas Maebe
c094978054 + SetFPUExceptionMask implementation for PPC 2004-01-02 16:50:24 +00:00
florian
06442fa677 + $fputype directive support
+ single data type operations with sse unit
  * fixed more x86-64 stuff
2003-12-25 01:07:09 +00:00
florian
9fd5217032 * some x86-64 compilation fixe 2003-12-20 12:38:51 +00:00
florian
a567970402 * fixed several arm related problems 2003-11-30 19:35:29 +00:00
florian
1af574ceca * assembler readers OOPed
+ typed currency constants
  + typed 128 bit float constants if the CPU supports it
2003-11-12 16:05:39 +00:00
marco
80abe98cf0 * havelinuxrtl10 fixes 2003-11-10 17:22:28 +00:00
florian
bbf7300a0c * Florian's culmutative nr. 1; contains:
- invalid calling conventions for a certain cpu are rejected
    - arm softfloat calling conventions
    - -Sp for cpu dependend code generation
    - several arm fixes
    - remaining code for value open array paras on heap
2003-11-07 15:58:32 +00:00
peter
3f2d99d04f * delphi mode uses packenum 1 2003-10-23 17:18:56 +00:00
marco
d4a94d9294 * -Xc -Xr support 2003-10-22 15:40:44 +00:00
peter
fcabdbbf35 * fixed unitsym-globalsymtable relation so the uses of a unit
is counted correctly
2003-10-22 15:22:33 +00:00
marco
d841f44994 * -Xd 2003-10-11 19:32:04 +00:00
mazen
25dc5f7e80 + ASMMODE ATT added to bypass fpc.cfg defaults 2003-10-08 14:10:16 +00:00
peter
3a92a2a25a * parameter alignment fixes 2003-10-03 22:00:33 +00:00
marco
487650ab51 * -XP<prefix> support 2003-10-03 14:16:48 +00:00
peter
7d3f0468e4 * delphi and tp7 mode use intel asm by default 2003-10-02 21:16:18 +00:00
peter
70fe77ca7c * procinfo unit contains tprocinfo
* cginfo renamed to cgbase
  * moved cgmessage to verbose
  * fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
florian
cedff1a593 + processor type intialization for x86-64 added 2003-09-24 17:13:22 +00:00
marco
86cdc8f4d1 * BSD 1.0.x still uses st_ prefixes. 2003-09-18 15:38:17 +00:00
peter
76a53a375d * varspez in calls to push_addr_param 2003-09-16 16:17:01 +00:00
marco
cf0c2af370 * fixed 2003-09-15 20:11:06 +00:00
marco
4144f93ce5 * Unix reform 2003-09-14 20:26:18 +00:00
Jonas Maebe
d6fead1277 * fixed compilation for non-x86 2003-09-14 12:55:06 +00:00
peter
b9d09a4e5c * preparations for different default calling conventions
* various RA fixes
2003-09-07 22:09:34 +00:00
florian
eb9a587759 + support of NaN and Inf in the compiler as values of real constants 2003-09-06 16:47:24 +00:00
florian
22f1ff8da4 * merged Wiktor's Watcom patches in 1.1 2003-09-05 17:41:12 +00:00
olle
30938b72a7 + added new lagnuage mode: MAC 2003-09-04 21:37:29 +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
florian
995f7e0f11 * fix some small flaws which prevent sparc linux system unit from compiling
* some reformatting done
2003-05-23 22:33:48 +00:00
peter
c9ecdb1a24 * fix previous commit for unix 2003-05-23 15:03:31 +00:00
peter
24e4003aa3 * FindFilePChar added to allow PATH variables > 256 chars 2003-05-23 14:39:56 +00:00
peter
92ee1804b6 * removed selfpointer_offset, vmtpointer_offset
* tvarsym.adjusted_address
  * address in localsymtable is now in the real direction
  * removed some obsolete globals
2003-05-15 18:58:53 +00:00
peter
60978ba89c * aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo
  * procinfo will now be stored in current_module so it can be
    cleaned up properly
  * gen_main_procsym changed to create_main_proc and release_main_proc
    to also generate a tprocinfo structure
  * fixed unit implicit initfinal
2003-04-27 11:21:32 +00:00
peter
7f14891d66 * aktprocdef cleanup, aktprocdef is now always nil when parsing
a new procdef declaration
  * aktprocsym removed
  * lexlevel removed, use symtable.symtablelevel instead
  * implicit init/final code uses the normal genentry/genexit
  * funcret state checking updated for new funcret handling
2003-04-27 07:29:50 +00:00
peter
f4b818fc1d * removed funcretn,funcretsym, function result is now in varsym
and aliases for result and function name are added using absolutesym
  * vs_hidden parameter for funcret passed in parameter
  * vs_hidden fixes
  * writenode changed to printnode and released from extdebug
  * -vp option added to generate a tree.log with the nodetree
  * nicer printnode for statements, callnode
2003-04-25 20:59:33 +00:00
peter
9ed2ce8c12 * removed some notes/hints 2003-04-22 14:33:38 +00:00
Tomas Hajny
8e7124f9f8 + emx target added 2003-03-23 23:11:17 +00:00
peter
7391487daa * amiga path fix (merged) 2003-01-30 21:45:53 +00:00
peter
71e2d34b5a * m68k pathexist update from 1.0.x
* palmos res update from 1.0.x
2003-01-12 15:42:23 +00:00
marco
04b80d3123 * more hasunix fixes 2003-01-10 21:49:00 +00:00
Tomas Hajny
7248252a23 * modified to make use of the common GetEnv code under OS/2 2003-01-04 16:20:44 +00:00
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