Commit Graph

522 Commits

Author SHA1 Message Date
Jonas Maebe
8ed15c96bb - removed COMPPROCINLINEFIXED define and ifdefs (fixed in 2.2.0)
git-svn-id: trunk@8789 -
2007-10-14 09:44:18 +00:00
peter
9f0ca44c94 * new tf_smartlink_library flag
* use create_smartlink[_sections|_library] to check what to 
    do for smartlinking

git-svn-id: trunk@8715 -
2007-10-01 16:55:08 +00:00
micha
0625040eba + add -XR switch for target root file system with libs (also used for C lib type detection)
git-svn-id: trunk@8695 -
2007-09-30 15:00:54 +00:00
Jonas Maebe
0040eecf9f + support for extra packing of sets whose lower element number
is <> 0 (Delphi compatible now, + various tests)
  + support for enums and sets in is_in_limit()
  * fixed converting smallset expressions to varsets
  * improved choosing an appropriate common set type when mixing
    set types in an expression
  - removed no longer used normalset code from nadd.pas
  - disabled large set (>256 elements) support for now, because
    they are not yet supported entirely throughout the compiler
    and this causes errors at run time in several situations

git-svn-id: trunk@8515 -
2007-09-16 20:04:45 +00:00
florian
abfdda6129 * small m68k cleanups
git-svn-id: trunk@8500 -
2007-09-16 10:21:17 +00:00
peter
8fcd3169d8 * remove -gd, use -gw instead
git-svn-id: trunk@8419 -
2007-09-09 14:22:11 +00:00
Jonas Maebe
488cfa3c32 + -go<x> switch for debugging options (some global switches could be
moved to it)
  + -go[no]dwarfsets switch to [disable]/enable generation of dwarf set
    information, as this breaks gdb < 6.5 (used to be disabled in the
    compiler by an ifdef, still off by default)

git-svn-id: trunk@8414 -
2007-09-09 09:27:49 +00:00
peter
b513ebe9c6 * missing not
git-svn-id: trunk@8383 -
2007-09-04 18:30:57 +00:00
peter
8c24a15e26 * allow -l-
git-svn-id: trunk@8382 -
2007-09-04 18:29:58 +00:00
Jonas Maebe
11cb2a5614 * moved the setting of many target-specific defines to
TOption.TargetDefines and call it before parsing the config file,
    so extra defines like UNIX and WINDOWS are already defined while
    parsing the config file (mantis #9450)

git-svn-id: trunk@8371 -
2007-09-03 18:24:07 +00:00
Jonas Maebe
c7a5b0cf33 * forgot to commit (-CF<x> support)
git-svn-id: trunk@8351 -
2007-09-02 07:49:50 +00:00
Jonas Maebe
e205481027 * fixed sparc bootstrap
* use -Av9 assembler option so it accepts the memory barrier opcodes

git-svn-id: trunk@8244 -
2007-08-08 09:48:37 +00:00
Jonas Maebe
98ad33a0c7 + added lwsync instruction to the compiler
* fixed compilation of ReadDependencyBarrier

git-svn-id: trunk@8243 -
2007-08-08 09:15:48 +00:00
Jonas Maebe
4cdd590091 * use app_type instead of RelocSection for creating bundles, as
RelocSection is automatically set for all shared libraries

git-svn-id: trunk@8219 -
2007-08-04 09:13:34 +00:00
Jonas Maebe
84ddacd017 + support for creating a bundle instead of a library on Darwin (-Wb)
git-svn-id: trunk@8217 -
2007-08-03 12:42:49 +00:00
Jonas Maebe
a3c9dc5ec6 + support for {$linkframework x} to link to framework x (Darwin only)
+ support for {$frameworkpath x} and -Ffx to add x to the directories to
    search for frameworks (Darwin only)

git-svn-id: trunk@8165 -
2007-07-25 15:42:30 +00:00
michael
bedf0151cc * Implemented support for custom RC compiler and .RES linker
git-svn-id: trunk@8164 -
2007-07-25 12:06:57 +00:00
florian
5e60b52f28 * ignore pic directive/switch if the platform doesn't support pic, resolves #9281
git-svn-id: trunk@8157 -
2007-07-23 20:25:04 +00:00
peter
67e16340be * revert r8118
git-svn-id: trunk@8139 -
2007-07-22 19:59:00 +00:00
daniel
21293f5818 + Add common type integer promotion.
- {$intpromotion common_type} or -CIcommon_type switches to common type promotion.
    - {$intpromotion native_integer} or -CIcommon_type switches to current behaviour.
    - Default in tp mode is common_type, native_integer in other modes
    - Compiler can cycle with -CIcommon_type
    - Still needs checking on other architectures than i386

git-svn-id: trunk@8118 -
2007-07-21 19:16:24 +00:00
daniel
9adb202a92 * Rework the constexprint to allow operations from low(int64) to high(qword).
+ Some initial work on a formaldef which also carries the typinfo of a parameter.

git-svn-id: trunk@7639 -
2007-06-13 07:41:18 +00:00
florian
c7100799ed + forbid usage of $E on targets supporting no fpu emulation
- disabled -Cfsoft on i386

git-svn-id: trunk@7625 -
2007-06-10 17:03:26 +00:00
pierre
43f72f56f9 * fix 'ppc386 -F' crash
git-svn-id: trunk@7546 -
2007-06-01 22:50:37 +00:00
Jonas Maebe
4919cecb3b + defined FPC_SUPPORTS_UNALIGNED if the compiler supports the
unaligned() expression

git-svn-id: trunk@7469 -
2007-05-25 12:00:55 +00:00
florian
9f56a89617 + added cyrillic code page tables
+ support -Fm<x> to load unicode tables from rtl/ucmaps, they must be in the same dir as the compiler though

git-svn-id: trunk@7420 -
2007-05-22 19:38:39 +00:00
Jonas Maebe
a0b57eddb5 * new internal set format for big endian systems. Advantages:
* varsets ({$packset x}) are now supported on big endian targets
    * gdb now displays sets properly on big endian systems
    * cleanup of generic set code (in, include/exclude, helpers), all
      based on "bitpacked array[] of 0..1" now
  * there are no helpers available yet to convert sets from the old to
    the new format, because the set format will change again slightly
    in the near future (so that e.g. a set of 24..31 will be stored in
    1 byte), and creating two classes of set conversion helpers would
    confuse things (i.e., it's not recommended to use trunk currently for
    programs  which load sets stored to disk by big endian programs compiled
    by previous FPC versions)
  * cross-endian compiling has been tested and still works, but one case
    is not supported: compiling a compiler for a different endianess
    using a starting compiler from before the current revision (so first
    cycle natively, and then use the newly created compiler to create a
    cross-compiler)

git-svn-id: trunk@7395 -
2007-05-19 17:15:15 +00:00
peter
6c916a032d * support - and + after -S options
git-svn-id: trunk@7365 -
2007-05-16 19:20:32 +00:00
florian
922b387980 * WinCE compilation fixed
git-svn-id: trunk@6938 -
2007-03-20 10:09:54 +00:00
Jonas Maebe
9cec910eb9 * changed *string_to_*chararray helpers from functions into procedures
because on win64 the location of a function result can depend on its
    size (so some chararrays had to be returned in registers and others
    by reference, which means it's impossible to have a generic function
    declaration which works in all cases) (mantis #8533)
  * pad constant string assignments to chararrays with #0 up to the
    length of the chararray for 2.0.x compatibility (fixes
    tests/test/tarray3)

git-svn-id: trunk@6915 -
2007-03-18 12:20:01 +00:00
florian
fb1afe0ea4 + set FPU* define properly
git-svn-id: trunk@6785 -
2007-03-11 17:16:23 +00:00
Jonas Maebe
4c1d540a21 * changed cpurequiresproperalignment from a compile-time define into
a target flag, since some kernels may be able to handle alignment
    problems, and the alignment requirements may not be absolute (e.g. on
    ppc64, only 8 byte values need alignment, and only to 4 byte boundaries)
   -> linux/ppc64 has tf_requires_proper_alignment set in its target flags,
      darwin/ppc64 hasn't

git-svn-id: trunk@6745 -
2007-03-06 16:10:56 +00:00
florian
cb746ec830 * propagate -Cfsoft to emulation settings on arm
git-svn-id: trunk@6703 -
2007-03-03 18:03:39 +00:00
peter
2ea4c683db * don't disable -Xs when -g and -Xg is used
git-svn-id: trunk@6629 -
2007-02-24 15:12:44 +00:00
peter
9f3de7e809 * -Xg generates a separate file with the debug info sections
git-svn-id: trunk@6628 -
2007-02-24 15:06:31 +00:00
michael
42f610f710 * Applied patch to preserve case in stabs info (-gp)
git-svn-id: trunk@6611 -
2007-02-23 10:42:20 +00:00
daniel
5aef9bc086 - Put gpc mode between ifdefs. The only thing it does it disable all
features, this is not gpc compatibility.

git-svn-id: trunk@6518 -
2007-02-16 23:13:28 +00:00
tom_at_work
106fe68ce6 * renamed TStringList to TCmdStrList, in general use TCmdStr instead of shortstrings to fix bug #6351
git-svn-id: trunk@6215 -
2007-01-26 22:29:39 +00:00
pierre
4f35aabebb + use new assembler flag: af_no_debug
git-svn-id: trunk@6196 -
2007-01-26 05:06:37 +00:00
pierre
11be490034 + use reinstated browser switches
git-svn-id: trunk@6139 -
2007-01-23 05:42:22 +00:00
yury
d401c0a198 * activated internal get_frame for ARM.
git-svn-id: trunk@5945 -
2007-01-13 15:23:51 +00:00
florian
76dc5ab588 + support of -fPIC (is equivalent to -Cg) so people won't be confused if ld tells them to recompile their code with -fPIC
git-svn-id: trunk@5934 -
2007-01-12 22:27:20 +00:00
Jonas Maebe
e815b923d5 * a_loadfpu_* gets two size parameters: fromsize and tosize
* fixed downsizing the precision of floating point values
  * floating point constants are now treated using only the minimal
    precision required (e.g. 2.0 is now a single, 1.1 extended etc)
    (Delphi compatible)

git-svn-id: trunk@5927 -
2007-01-12 18:33:51 +00:00
Jonas Maebe
cbba170e61 * properly (but silently) truncate parameters passed via environment
variables

git-svn-id: trunk@5921 -
2007-01-12 16:50:39 +00:00
Jonas Maebe
2fa51a485f * bootstrapping for systems where currency is not a float
git-svn-id: trunk@5865 -
2007-01-09 16:24:45 +00:00
pierre
e0d9b9e307 * fix previous patch for -g alone,
now debug type is set to target_info.dbg

git-svn-id: trunk@5695 -
2006-12-24 01:27:26 +00:00
pierre
a9da7ec275 * use stabs as default debug format if none is
explicitly selected. 

git-svn-id: trunk@5679 -
2006-12-22 16:36:07 +00:00
florian
fd2032dab2 + start of embedded rtl
+ feature support in the compiler

git-svn-id: trunk@5628 -
2006-12-17 18:40:36 +00:00
Legolas
96e1c482bc * compiler part of first Nintendo DS port
git-svn-id: trunk@5592 -
2006-12-14 17:32:16 +00:00
yury
61f0f0b793 * define FPC_DOUBLE_HILO_SWAPPED for ARM CPU if needed to properly handle doubles in RTL.
git-svn-id: trunk@5439 -
2006-11-21 21:24:01 +00:00
florian
5f4cf8654c * activate FPC_HAS_VALGRINDBOOL
git-svn-id: trunk@5379 -
2006-11-14 19:40:56 +00:00
florian
43ba7cfe6f * correct name of set packing directive is PACKSET
git-svn-id: trunk@5313 -
2006-11-10 19:56:19 +00:00
florian
e619bd3235 * enabled SETALLOC=1 for the compiler
git-svn-id: trunk@5300 -
2006-11-09 20:46:11 +00:00
florian
667baf433d + new switch -CPSETALLOC=<y> to influence set sizes
git-svn-id: trunk@5299 -
2006-11-09 20:41:33 +00:00
florian
a13d358f1e * first partially working implementation of variant com invoking
git-svn-id: trunk@5247 -
2006-11-05 15:34:15 +00:00
florian
4cbb67aa00 * some fpu emulation code from arm to generic code generator moved
* several m68k fixes

git-svn-id: trunk@5218 -
2006-11-04 10:23:35 +00:00
peter
658c46b903 * remove tdictionary and tindexarray
* symtables based on TFPHashObjectList and TFPObjectList
  * rename torddef.typ to torddef.ordtype
  * rename tfloatdef.typ to tfloatdef.floattype
  * rename tdef.deftype to tdef.typ
  * remove obsolete browser code, browcol is kept so the ide
    can still be compiled

git-svn-id: trunk@5192 -
2006-11-03 00:30:30 +00:00
Jonas Maebe
5acc8b44a8 * activated internal get_frame for x86
* turn off stackframe optimizations on x86 if get_frame is called
    in the current routine, or if the address of a nested function
    is taken in the current routine
  + test for the above
  * this fixes the IDE when compiled with stackframe optimizations
    on x86

git-svn-id: trunk@5146 -
2006-11-01 12:48:53 +00:00
florian
5c9b39549a * fixed olevariant -> variant conversion
git-svn-id: trunk@5131 -
2006-10-31 19:45:08 +00:00
peter
d21842fe61 * fixed linux compile
git-svn-id: trunk@5117 -
2006-10-31 11:35:54 +00:00
peter
7a2e0da7bd * extra parameter for file searching functions
that indicate if the cache shall be used or not
  * fixed compile of non-x86 targets

git-svn-id: trunk@5115 -
2006-10-31 10:56:58 +00:00
peter
cb246eb781 * Remove dos,strings units, use SysUtils instead
* replace split* functions with Extract* functions
  * Add Directory caching

git-svn-id: trunk@5102 -
2006-10-30 23:29:35 +00:00
florian
85d63d9fa9 * settings refactored
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
florian
edf01e4460 + support for -Xp to path the compiler executables to fpc
git-svn-id: trunk@5040 -
2006-10-28 14:06:55 +00:00
Jonas Maebe
36c6879581 + -Sx command line switch to turn on exception keywords in non-Delphi/ObjFPC
modes (mainly for MacPas, to replace nested gotos with exceptions)

git-svn-id: trunk@4984 -
2006-10-20 12:54:47 +00:00
florian
67aa148602 * fixed softfpu support
+ softfpu enabled for arm-gba

git-svn-id: trunk@4939 -
2006-10-15 21:31:27 +00:00
florian
fb5e396881 + experimental -Sv option to support vector arithmetics
git-svn-id: trunk@4825 -
2006-10-07 21:39:48 +00:00
peter
2f0ce31751 * string concat changed from function to procedure to
allow runtime optimization if the destination is the
    same as a source parameter
  * tassignmentnode now sets aktassignmentnode global that can be used
    to use the left node as a destination parameter and
    skip the assignment
  * disabled all cpu specific shortstr concat/append

git-svn-id: trunk@4770 -
2006-10-02 20:00:06 +00:00
Marc Weustink
48340d291e * splitup dwarf2/dwarf3
* changed cpu64bit define into isdwarf64 boolean
* generate info for methods

git-svn-id: trunk@4759 -
2006-09-30 15:21:17 +00:00
peter
d0156354a6 * inline directive enabled by default for fpc,objfpc,delphi modes
* -Si and $inline directive control are now local switches and 
    have finer control on whether a function will really inlined or not

git-svn-id: trunk@4553 -
2006-09-04 19:54:21 +00:00
florian
239a7a5d9c * do default replacements for -o, fixes #7198
git-svn-id: trunk@4304 -
2006-07-30 07:37:40 +00:00
Jonas Maebe
5f699c7838 + -gt, -gtt, -gttt and -gtttt switches to trash local variables with
different values (resp. $55, $AA, $EF and $00) in function/procedure
    prologs to help find uninitialized uses. Should still be extended
    for "out" parameters.

git-svn-id: trunk@4271 -
2006-07-20 22:54:23 +00:00
Tomas Hajny
419ab6aeac + allow output of full version in QuickInfo
git-svn-id: trunk@4165 -
2006-07-13 23:06:46 +00:00
marco
2a5332e3bd * Link ordering working FreeBSD implementation
git-svn-id: trunk@3894 -
2006-06-19 14:17:45 +00:00
marco
179451dcfd * Initial linkordering subsystem. Not active (need t_* mods which I want in a different revision to ease merging)
git-svn-id: trunk@3788 -
2006-06-04 12:44:48 +00:00
peter
0bb57006e5 * fix setting of internal/external linker
git-svn-id: trunk@3612 -
2006-05-21 10:52:23 +00:00
daniel
1d9b6ed5f0 * Disable internal_backtrace again
git-svn-id: trunk@3526 -
2006-05-14 13:58:00 +00:00
daniel
3048a98a6f * Fix and activate internal backtrace routines
git-svn-id: trunk@3524 -
2006-05-14 13:04:03 +00:00
daniel
4d37c919cc * Internal implementations of get_frame, get_caller_frame and get_caller_addr.
Not yet activated.

git-svn-id: trunk@3517 -
2006-05-14 08:39:19 +00:00
florian
b698d6eb02 * fixed bootstrapping on 64 bit CPUs
git-svn-id: trunk@3461 -
2006-05-09 13:15:22 +00:00
florian
ab1660c9c2 + tf_winlikewidestring
git-svn-id: trunk@3457 -
2006-05-08 18:20:26 +00:00
peter
d69ad5d84d * cleanup external/nolink options
git-svn-id: trunk@3375 -
2006-04-29 21:49:37 +00:00
florian
aa2e2a2829 * fix for -Oa parsing, by Roozbeh GHolizadeh
git-svn-id: trunk@3372 -
2006-04-29 21:34:02 +00:00
peter
f9a741df23 * CPU386 define for Delphi compatibility
git-svn-id: trunk@3276 -
2006-04-19 06:46:54 +00:00
peter
fc6e4adf74 Merged revisions 3068,3070,3114 via svnmerge from
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler

r3068 | peter | 2006-03-28 15:02:06 +0100 (Tue, 28 Mar 2006) | 2 lines

  * Add new TFPHashList and TFPHashObjectList

r3070 | peter | 2006-03-29 07:39:04 +0100 (Wed, 29 Mar 2006) | 2 lines

  * fix compile

r3114 | peter | 2006-04-01 23:47:50 +0100 (Sat, 01 Apr 2006) | 3 lines

  * remove debug writelns
  * enable vtable optimizer with -Xv

git-svn-id: trunk@3116 -
2006-04-02 00:13:03 +00:00
peter
f26e214fe9 * fix warning that reports incompatibility of assembler and target
git-svn-id: trunk@3095 -
2006-03-31 10:34:50 +00:00
peter
37c81492ad Merged revisions 2827,2831,2837,2932-2980 via svnmerge from
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler

r2827 (peter)
  * smartlinking of resourcestrings


r2831 (peter)
  * process_ea 64bit fixes


r2837 (peter)
  * linker script

git-svn-id: trunk@2981 -
2006-03-19 22:12:52 +00:00
tom_at_work
6d99152f4b * fixed wrong method of disabling stabs debug info in 2956
git-svn-id: trunk@2965 -
2006-03-19 10:54:52 +00:00
tom_at_work
496c31ac29 * DWARF debug info is now default on ppc64/linux
* disallow stabs debug info generation on ppc64/linux.

git-svn-id: trunk@2956 -
2006-03-18 20:48:04 +00:00
peter
2888a21593 * list supported optimization options in -i
* support $OPTIMIZATION and $O+

git-svn-id: trunk@2904 -
2006-03-13 11:17:56 +00:00
peter
17bc033747 Merged revisions 2791-2793,2798-2800,2806-2825,2829-2830,2833,2839,2898 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/linker/compiler

........
r2791 | peter | 2006-03-06 14:57:20 +0100 (Mon, 06 Mar 2006) | 3 lines

  * disable internal linker if -s is used
  * enable section smartlink by default for internal linker

........
r2792 | peter | 2006-03-06 14:58:23 +0100 (Mon, 06 Mar 2006) | 2 lines

  * support long sectionnames

........
r2793 | peter | 2006-03-06 15:04:12 +0100 (Mon, 06 Mar 2006) | 2 lines

  * register symbols in section also when reading .o files

........
r2798 | peter | 2006-03-07 10:08:07 +0100 (Tue, 07 Mar 2006) | 2 lines

  * symbolrefs need to be loaded from relocations when loading a .o

........
r2799 | peter | 2006-03-07 16:17:52 +0100 (Tue, 07 Mar 2006) | 3 lines

  * remove unreferenced sections
  * set stacksize in peopthaeder

........
r2800 | peter | 2006-03-07 17:02:46 +0100 (Tue, 07 Mar 2006) | 2 lines

  * objsection.fullname added

........
........
r2807 | peter | 2006-03-08 08:18:04 +0100 (Wed, 08 Mar 2006) | 2 lines

  * powerpc64 fixes

........
r2808 | peter | 2006-03-08 08:35:53 +0100 (Wed, 08 Mar 2006) | 2 lines

  * register x86_64_pecoff

........
r2809 | peter | 2006-03-08 11:26:38 +0100 (Wed, 08 Mar 2006) | 2 lines

  * optimize and cleanup matches()

........
r2810 | peter | 2006-03-08 12:25:28 +0100 (Wed, 08 Mar 2006) | 2 lines

  * small tweak to readdata to copy values direct without calling move()

........
r2811 | peter | 2006-03-08 15:55:21 +0100 (Wed, 08 Mar 2006) | 2 lines

  * compile fix

........
........
........
........
........
........
r2817 | peter | 2006-03-09 14:20:52 +0100 (Thu, 09 Mar 2006) | 2 lines

  * more readable with long secnames

........
........
........
........
........
........
........
........
r2825 | peter | 2006-03-10 09:52:05 +0100 (Fri, 10 Mar 2006) | 2 lines

  * don't initialize/finalize external variables

........
r2829 | peter | 2006-03-10 10:58:08 +0100 (Fri, 10 Mar 2006) | 2 lines

  * merge 64bit assembler

........
r2830 | peter | 2006-03-10 12:25:08 +0100 (Fri, 10 Mar 2006) | 2 lines

  * TElfAssembler rename

........
r2833 | peter | 2006-03-10 15:22:27 +0100 (Fri, 10 Mar 2006) | 3 lines

  * support & prefix to force identifier parsing, used to access fields that
    have the names of a register

........
r2839 | peter | 2006-03-10 19:37:11 +0100 (Fri, 10 Mar 2006) | 2 lines

  * merge stabs section flags

........
r2898 | peter | 2006-03-12 23:18:18 +0100 (Sun, 12 Mar 2006) | 2 lines

  * reorder instructions for better first match

........

git-svn-id: trunk@2902 -
2006-03-13 09:29:57 +00:00
peter
b6e35a200e * rewrite of optimizer options
git-svn-id: trunk@2901 -
2006-03-13 09:05:50 +00:00
Jonas Maebe
a90e3b3e1d * fixed argc/argv/envp catching for darwin/x86 (not really nice, but
works)

git-svn-id: trunk@2848 -
2006-03-10 23:45:37 +00:00
peter
785550d7e3 Merged revisions 2669,2673,2677,2683,2696,2699-2702,2704,2708,2712-2715,2718,2722-2723,2728-2730,2740,2769 via svnmerge from
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler

........
r2669 | peter | 2006-02-23 09:31:21 +0100 (Thu, 23 Feb 2006) | 2 lines

  * add compiler dir

........
r2673 | peter | 2006-02-23 17:08:56 +0100 (Thu, 23 Feb 2006) | 2 lines

  * enabled more code

........
r2677 | peter | 2006-02-24 17:46:29 +0100 (Fri, 24 Feb 2006) | 2 lines

  * pe stub and headers

........
r2683 | peter | 2006-02-25 23:13:24 +0100 (Sat, 25 Feb 2006) | 2 lines

  * section options cleanup

........
r2696 | peter | 2006-02-26 20:27:41 +0100 (Sun, 26 Feb 2006) | 2 lines

  * fixed typecasts

........
r2699 | peter | 2006-02-26 23:04:32 +0100 (Sun, 26 Feb 2006) | 2 lines

  * simple linking works

........
r2700 | peter | 2006-02-27 09:44:50 +0100 (Mon, 27 Feb 2006) | 2 lines

  * internal linker script

........
r2701 | peter | 2006-02-27 12:05:12 +0100 (Mon, 27 Feb 2006) | 2 lines

  * make elf working again

........
r2702 | peter | 2006-02-27 14:04:43 +0100 (Mon, 27 Feb 2006) | 3 lines

  * disable dwarf for smartlinking with .a
  * fix section start in new .a file

........
r2704 | peter | 2006-02-27 18:30:43 +0100 (Mon, 27 Feb 2006) | 2 lines

  * stab section fixes

........
r2708 | peter | 2006-02-28 19:29:17 +0100 (Tue, 28 Feb 2006) | 2 lines

  * basic work to merge stabs sections

........
r2712 | peter | 2006-02-28 23:17:48 +0100 (Tue, 28 Feb 2006) | 2 lines

  * unload tmodules before linking

........
r2713 | peter | 2006-02-28 23:18:51 +0100 (Tue, 28 Feb 2006) | 2 lines

  * fixed stabs linking

........
r2714 | peter | 2006-02-28 23:19:19 +0100 (Tue, 28 Feb 2006) | 2 lines

  * show code and data size

........
r2715 | peter | 2006-02-28 23:25:35 +0100 (Tue, 28 Feb 2006) | 2 lines

  * unload .stabs from objdata after it is merged

........
r2718 | peter | 2006-03-01 12:24:38 +0100 (Wed, 01 Mar 2006) | 3 lines

  * memsize/datasize cleanup
  * check for exports/resources when adding module to linker

........
r2722 | peter | 2006-03-03 09:12:20 +0100 (Fri, 03 Mar 2006) | 2 lines

  * new TObjSymbol splitted from TAsmSymbol

........
r2723 | peter | 2006-03-03 14:08:55 +0100 (Fri, 03 Mar 2006) | 2 lines

  * coff fixes after recent objsymbol changes

........
r2728 | peter | 2006-03-03 22:43:04 +0100 (Fri, 03 Mar 2006) | 2 lines

  * fixed coff writer

........
r2729 | peter | 2006-03-04 01:10:32 +0100 (Sat, 04 Mar 2006) | 2 lines

  * fix read-only opening

........
r2730 | peter | 2006-03-04 01:11:16 +0100 (Sat, 04 Mar 2006) | 2 lines

  * Read edata from DLLs, basic work

........
r2740 | peter | 2006-03-04 21:13:43 +0100 (Sat, 04 Mar 2006) | 3 lines

  * deletedef added
  * don't remove defs from index when we are already clearing everything

........
r2769 | peter | 2006-03-05 21:42:33 +0100 (Sun, 05 Mar 2006) | 4 lines

  * moved TObj classes to ogbase
  * ObjSection.SymbolRefs and SymbolDefines list
  * DLL importing

........

git-svn-id: trunk@2771 -
2006-03-05 21:10:37 +00:00
peter
9566255122 * allow out file parameters
* assign has out file

git-svn-id: trunk@2717 -
2006-03-01 10:18:47 +00:00
peter
232555904e * symtablestack cleanup and rewrite
git-svn-id: trunk@2448 -
2006-02-05 22:24:18 +00:00
peter
abc49206fc * section smartlink for win32 added, disabled by default because ld.exe
ignores the --gc-sections for pe-i38

git-svn-id: trunk@2305 -
2006-01-16 10:50:02 +00:00
florian
a76d26bcb1 * according to errore.msg -gw generates dwarf debugging info, this wasn't the case, fixed
git-svn-id: trunk@2298 -
2006-01-15 16:08:43 +00:00
peter
daa0be6ed1 * use not unsetbool for -WI-
git-svn-id: trunk@2277 -
2006-01-13 17:27:47 +00:00
peter
66f8276445 * refactor booleans in systeminfo structure, they are now flags
* support for case aware filesystems (Windows), they do now only
    one lookup if a file exists
  * add -WI option to generate import section for DLL imports or
    let the linker handle it. Default is still import section until
    the Makefiles are fixed, then the generation can be left to the
    linker

git-svn-id: trunk@2274 -
2006-01-13 15:13:26 +00:00
florian
3ccec3fbdd * proper error if a directory is passed as configuration file
git-svn-id: trunk@2134 -
2006-01-02 21:07:15 +00:00
michael
0362fa505d + -o now sets output path only if a path is explicitly specified
git-svn-id: trunk@1698 -
2005-11-08 20:25:04 +00:00
michael
9b59f0675f + Fixed -o option
git-svn-id: trunk@1669 -
2005-11-05 23:26:23 +00:00
peter
539b7dc220 * setting the compile mode should set the preprocessor symbol directly
git-svn-id: trunk@1457 -
2005-10-18 06:57:39 +00:00
tom_at_work
28381b1287 * new assembler symbol type AT_LABEL needed for PowerPc64 target
+ added automatic definition of FPC_REQUIRES_PROPER_ALIGNMENT define for PowerPC64 target

git-svn-id: trunk@1278 -
2005-10-03 22:13:45 +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
peter
6bf3269b41 * powerpc64 port from Thomas Schatzl
git-svn-id: trunk@1193 -
2005-09-25 17:19:44 +00:00
florian
21cc9597f2 + fpcylix unit
+ -Sk option

git-svn-id: trunk@1106 -
2005-09-18 08:34:51 +00:00
michael
7184d30fc1 + Fixed bootstrap problem for resources
git-svn-id: trunk@1013 -
2005-09-01 16:57:03 +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
florian
a53c9e2666 * fixed stupid copy/paste which turned softfloat always off
* fixed wince softfloat compiler proc. to be correctly named also when used outside the system unit

git-svn-id: trunk@966 -
2005-08-28 21:08:23 +00:00
florian
adb193497d + softfloat support for wince
* more units are build for wince

git-svn-id: trunk@959 -
2005-08-28 12:40:43 +00:00
olle
2a5e6d7b92 + compile time variables can be given on the command line
git-svn-id: trunk@923 -
2005-08-22 19:34:54 +00:00
florian
9a624dd82f * proper displaying of arm targets
git-svn-id: trunk@853 -
2005-08-13 16:57:06 +00:00
florian
0f671b0962 * default apptype for wince is gui
git-svn-id: trunk@852 -
2005-08-13 16:48:00 +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
Jonas Maebe
9d9fd923d9 * the 'main' procedure for darwin is now placed in the main program instead
of in the system unit
+ ability to rename this 'main' symbol (-XM<x>, e.g. -XMSDL_main for SDL), for
  all OS'es
+ mention the -Xm parameter in the help

git-svn-id: trunk@503 -
2005-06-26 13:24:12 +00:00
Jonas Maebe
4292e7f939 - removed obsolete FPC_MTFSB0_CORRECTED macro
git-svn-id: trunk@487 -
2005-06-24 18:34:58 +00:00
Jonas Maebe
6a8eddb6ce * fixed compilation with -dUSE_SYSUTILS
git-svn-id: trunk@486 -
2005-06-24 18:34:14 +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
florian
ec6d5ff211 + utf-8 support for string constants added
git-svn-id: trunk@428 -
2005-06-16 20:16:37 +00:00
michael
7449f99d5f + Removed all compatibility defines from compiler
git-svn-id: trunk@335 -
2005-06-09 21:14:22 +00:00
florian
21ae782854 * fixed more xmm stuff
+ some win64 stuff added

git-svn-id: trunk@330 -
2005-06-09 20:50:17 +00:00
florian
ebcb69478f * fixed a lot of stuff for fpu/mm register variables
git-svn-id: trunk@199 -
2005-06-04 21:23:15 +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
florian
83fa3bd0cb + output of supported instruction sets in info page 2005-05-05 14:53:55 +00:00
florian
f6442b758c * overloading of assignment operator by different unique result types now possible 2005-04-28 19:32:11 +00:00
peter
9843416e70 * always use exceptions to stop the compiler
- remove stop, do_stop
2005-04-24 21:01:37 +00:00
peter
9db3d9e07c * -Fe on commandline redirects now all output 2005-04-15 15:43:54 +00:00
olle
878c56bad6 * Cleaned up handling of source file extension.
+ Added support for .p extension for macos and darwin
2005-03-20 22:36:45 +00:00
florian
eeaded577a * fixed copy(dyn. array,...); 2005-03-05 16:37:28 +00:00
peter
abb3f82ceb * getheapstatus fixes 2005-03-04 16:49:22 +00:00
florian
534b11cfb1 * userdata in file/textrecs now 32 bytes 2005-02-26 15:42:45 +00:00
florian
83b04efbc3 * defaultreplacement expansion for -XP and -Xr 2005-02-19 18:32:16 +00:00
florian
16718b81e4 * cross compiliation defines 2005-02-19 18:10:57 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
c5488ea6b1 * -Fa option added, it'll load the units before the uses
line is parsed. Can be used to load cthreads from the commandline.
    Example '-g -Faheaptrc,lineinfo' is the same as '-ghl'
2005-02-06 21:33:28 +00:00
florian
e995e131bd *** empty log message *** 2005-02-05 10:24:17 +00:00
peter
79c20ebf7d * use val() for decoding integers 2005-01-20 17:05:53 +00:00
olle
7572f3a539 * rework of macro subsystem
+ exportable macros for mode macpas
2005-01-09 20:24:43 +00:00
peter
eae6d4fc8b * Allow #include ~/.fpc.cfg 2005-01-08 23:14:50 +00:00
florian
a90585b5a4 * arm sets FPUFPA by default for now 2005-01-04 16:19:52 +00:00
peter
b34de6861f fix outline of 3rd level of options (-SI option mainly) 2005-01-03 20:27:47 +00:00
Tomas Hajny
f290fbb299 * 8.3 fixes (short target name in paths) 2004-12-28 20:43:00 +00:00
marco
e79fb753bc * slash typo 2004-12-16 08:06:42 +00:00
marco
9dec5c3179 * introduction "cleanpath" (=fexpand), fixfilename(paramstr(0)) + search $PREFIX/etc/fpc.cfg 2004-12-15 16:06:47 +00:00
peter
a263b1d40e * GetHeapStatus added, removed MaxAvail,MemAvail,HeapSize 2004-11-22 19:34:58 +00:00
peter
14d25d278b mangledname setting moved to place after the complete proc declaration is read
import generation moved to place where body is also parsed (still gives problems with win32)
2004-11-17 22:21:35 +00:00
peter
f80f3fc0fa * shortstr compare with empty string fixed
* removed special i386 code
2004-11-01 12:43:28 +00:00
peter
7d745c0483 * default paths fixed 2004-10-31 19:09:54 +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
peter
705868e816 * remove saveregister calling convention 2004-10-24 20:01:08 +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
75363a20b0 * Merge is complete for this file, cycles ! 2004-10-14 14:03:02 +00:00
florian
feeba0ede6 * bootstrapping with rtti alignment fixed 2004-10-05 20:21:02 +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
33a834821f * paraloc branch merged 2004-09-21 17:25:12 +00:00
peter
90c280a42d * Use FExpand on paths passed to compiler 2004-09-16 16:31:53 +00:00
Jonas Maebe
1c0fb6a6ea * exit with exit code 0 instead of 1 after writing out quick options
(such as -iV)
2004-09-10 21:00:23 +00:00
michael
41f7fa8c37 + Check if outputdir exists, Fix exitcode when displaying help pages 2004-09-08 11:23:30 +00:00
peter
d763f9e142 browser disabled
uf_local_symtable ppu flag when a localsymtable is stored
2004-08-27 21:59:26 +00:00
olle
4b0b17a5aa + allow fileextension .p, in mode macpas 2004-07-05 21:26:28 +00:00
Jonas Maebe
bfe36fde4d * fixed "-g-l" (and other "-g-*" combinations) 2004-07-04 12:24:04 +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
florian
5168141540 * m68k compiler compilation fixed 2004-05-06 20:30:51 +00:00
olle
46451e4662 + added $APPTYPE TOOL for MPW tools on MacOS 2004-04-04 18:46:09 +00:00
florian
aae508c277 + arm floating point register saving implemented
* hopefully stabs generation for MacOSX fixed
  + some defines for arm added
2004-03-29 19:19:35 +00:00
florian
3554fac953 + added FPC_COMP_IS_INT64 define 2004-03-27 23:23:03 +00:00
peter
e46cdcea48 * constants ordinals now always have a type assigned
* integer constants have the smallest type, unsigned prefered over
    signed
2004-03-23 22:34:49 +00:00
florian
f3c4d487e7 + added interface support for the arm
* added  FPC_REQUIRES_PROPER_ALIGNMENT define for targets which require proper alignment
2004-03-21 22:40:15 +00:00
florian
292aa0175c + cross compilation dir search added 2004-03-20 22:57:07 +00:00
peter
37f3f95b59 * more stabs fixes
* special mode -gv for valgrind compatible stabs
2004-03-10 22:52:57 +00:00
florian
61f15e4ec4 * make cycle fixed
+ pic support for darwin
  + support of importing vars from shared libs on darwin implemented
2004-03-02 17:32:12 +00:00
florian
00dbe6655d + nx86set added
* some more x86-64 fixes
2004-02-22 12:04:04 +00:00
marco
9a83a21c64 * pthread on -CURRENT related fixes. 2004-02-15 16:34:18 +00:00
florian
0874e96a94 + FPC_PREFETCH defined 2004-02-03 00:42:08 +00:00
florian
37454274bc * fixed several arm floating point issues 2004-01-24 18:12:40 +00:00
peter
fa9e45b7cb * decrrefcount resets temps to nil 2004-01-21 22:13:20 +00:00
Jonas Maebe
4c7c8b9c3a * fixed mtfsb0 instruction for assembler reader/writer
* fixed initialisation of fpscr register to avoid spurious SIGPFE's
    (uses mtfsb0 instruction, so added extra define in options.pas to avoid
    requiring to start with a cross compiler)
2004-01-10 00:16:20 +00:00
Jonas Maebe
2af569745c * if currency = int64, FPC_CURRENCY_IS_INT64 is defined
+ round and trunc for currency and comp if FPC_CURRENCY_IS_INT64 is
    defined
  * if currency = orddef, prefer currency -> int64/qword conversion over
    currency -> float conversions
  * optimized currency/currency if currency = orddef
  * TODO: write FPC_DIV_CURRENCY and FPC_MUL_CURRENCY routines to prevent
      precision loss if currency=int64 and bestreal = double
2004-01-02 17:19:04 +00:00
Tomas Hajny
73bd91bfc3 * fixed incorrect error message 2003-12-17 22:50:42 +00:00
florian
6793170b72 * HASGLOBALPROPERTY define introduce 2003-12-11 18:15:06 +00:00
florian
96000de6d9 * variants and interfaces on powerpc released 2003-12-10 01:54:44 +00:00
peter
765b1b51b6 * define REGCALL when pocall_default=pocall_register 2003-11-11 21:10:34 +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
marco
d4a94d9294 * -Xc -Xr support 2003-10-22 15:40:44 +00:00
Tomas Hajny
4c5f5382a1 * upper limit for heapsize removed 2003-10-18 09:14:18 +00:00
olle
4b274401b8 * compiler now defines cpum68k instead of cpu68k (as is used in rtl) 2003-10-17 21:05:27 +00:00
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