Commit Graph

120 Commits

Author SHA1 Message Date
Jonas Maebe
ac24965242 * procedures which use goto/label revert to the older and less
efficient regvar allocation scheme
  * also allocate regvars before the loops, not just afterwards

git-svn-id: trunk@2192 -
2006-01-05 23:45:00 +00:00
florian
f7d2c47f73 + no stackframe is generated for i386 if possible
git-svn-id: trunk@2162 -
2006-01-04 19:19:06 +00:00
peter
80fef1e8ad * fix parsing of typecasts in type declarations
git-svn-id: trunk@2026 -
2005-12-22 12:21:06 +00:00
peter
95879fe8a7 * basic support for generic classes
git-svn-id: trunk@2020 -
2005-12-21 10:11:15 +00:00
peter
632bdcd149 * $W switch sets the localswitch cs_generate_stackframes that can be
used in the future

git-svn-id: trunk@1487 -
2005-10-19 05:50:26 +00:00
peter
89297d2c39 * move all stabs ($ifdef gdb) code to dbgstabs
git-svn-id: trunk@1255 -
2005-10-02 11:17:05 +00:00
peter
ec4d287fd8 * aktoutputformat removed, add new paraXX vars for target
assembler and debuginfo and use these vars to override
    the defaults for the target after the parameters are read
  * remove not-maintained and tested gdb code

git-svn-id: trunk@1201 -
2005-09-25 21:17:37 +00:00
florian
21cc9597f2 + fpcylix unit
+ -Sk option

git-svn-id: trunk@1106 -
2005-09-18 08:34:51 +00:00
florian
d9f6a5a374 * support of apptype native for windows after a suggestion of Brian Bi
git-svn-id: trunk@977 -
2005-08-29 19:03:12 +00:00
daniel
d57c048696 * Remove ifdef 1_0
* Add expirimental 32-bit x86_64 target to systems

git-svn-id: trunk@729 -
2005-07-23 08:37:26 +00:00
florian
aa66f735ca * increased significant id len to 127 because there are unicode character constant names longer than 64 char
git-svn-id: trunk@659 -
2005-07-18 21:38:47 +00:00
Jonas Maebe
8bc4e0a32f * inline and compilerproc are now procoptions instead of proccall types
(so both can be combined with each other, as well as with other calling
     conventions)
  * defined COMPPROCINLINEFIXED so SYSTEMINLINE is again activated

git-svn-id: trunk@658 -
2005-07-18 15:27:14 +00:00
peter
408bba521a * support constset in $if
git-svn-id: trunk@538 -
2005-06-30 08:19:01 +00:00
florian
7cd67ea3f0 * node optimizer branch merged
* gotonode and gotolabel refactored
  * -Nu added to enable for loop unrolling

git-svn-id: trunk@446 -
2005-06-19 17:42:10 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
Jonas Maebe
bfa2301575 * const record parameters > 8 bytes are now passed by reference for non
cdecl/cppdecl procedures on Mac OS/Mac OS X to fix compatibility with
    GPC (slightly more efficient than Metrowerks behaviour below, but
    less efficient in most cases than our previous scheme)
  + "mwpascal" procedure directive to support the const record parameter
    behaviour of Metrowerks Pascal, which passes all const records by
    reference
2005-03-27 14:10:52 +00:00
peter
0ae80eea41 * allow enum arithmetics inside an enum def, compatible with delphi 2005-02-17 17:52:39 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
ad9d04f104 * removed $threading 2005-02-06 11:15:31 +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
florian
bb096fcec6 * fixed nan et al. handling on arm 2005-01-04 16:20:51 +00:00
peter
2a20174317 * set flag if a procedure references a symbol in staticsymtable 2004-12-27 16:35:48 +00:00
peter
29db12ecfa * disable inlining across units when the inline procedure references
a variable or procedure in the static symtable
2004-12-15 21:08:15 +00:00
peter
c95a859f0a * generic tlocation
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
peter
e7459f5466 * heap and heapsize removed
* checkpointer fixes
2004-10-25 15:38:41 +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
70fd9e8c81 + Needed types aliases to merge USE_SYSUTILS branch 2004-10-14 14:42:57 +00:00
peter
8fb3536f6e * simple regvar support, not yet finished 2004-09-26 17:45:29 +00:00
olle
41bdd6178c + added external facilities for macpas 2004-07-14 23:19:21 +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
peter
72365ec95b * implicit_finally flag must be set in pass1
* add check whether the implicit frame is generated when expected
2004-05-23 15:06:20 +00:00
peter
b6e86be8de * tprocinfoflag moved to globtype 2004-05-23 14:32:17 +00:00
peter
12efb6d19e * strlenint is replaced with sizeint 2004-05-02 11:48:46 +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
olle
46451e4662 + added $APPTYPE TOOL for MPW tools on MacOS 2004-04-04 18:46:09 +00:00
peter
37f3f95b59 * more stabs fixes
* special mode -gv for valgrind compatible stabs
2004-03-10 22:52:57 +00:00
marco
9a83a21c64 * pthread on -CURRENT related fixes. 2004-02-15 16:34:18 +00:00
peter
12aade4e16 * register calling is now default for i386 2003-12-23 23:22:35 +00:00
daniel
f8e49e98be * Register calling disabled again 2003-12-14 20:51:17 +00:00
daniel
7061f04355 * Register allocator speed optimizations
- Worklist no longer a ringbuffer
    - No find operations are left
    - Simplify now done in constant time
    - unusedregs is now a Tsuperregisterworklist
    - Microoptimizations
2003-12-14 20:24:28 +00:00
peter
1407a03ff1 * remove redundant calls to add_edge_used 2003-12-04 23:27:32 +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
b3ef859971 * default calling convention changed to stdcall 2003-09-28 13:39:58 +00:00
peter
b9d09a4e5c * preparations for different default calling conventions
* various RA fixes
2003-09-07 22:09:34 +00:00
olle
30938b72a7 + added new lagnuage mode: MAC 2003-09-04 21:37:29 +00:00
peter
6a8d5eb25d * NEWRA branch merged 2003-09-03 15:55:00 +00:00
daniel
42c320cb29 * cs_regalloc renamed to cs_regvars to avoid confusion with register
allocator
  * Some preventive changes to i386 spillinh code
2003-08-09 18:56:54 +00:00