yury
a6eb251cee
* Define dummy tcgarm.g_stackpointer_alloc to fix abstract warning.
...
* Suppressed unreachable code warnings.
* Now ARM compiler compiles without warnings and notes.
git-svn-id: trunk@11456 -
2008-07-23 13:22:36 +00:00
yury
491f0fa1d8
* Replaced all user defined warnings by TODO comments to reduce compiler noise.
...
git-svn-id: trunk@11443 -
2008-07-23 11:00:03 +00:00
yury
fcceb9cfa1
* Removed/ifdefed/commented unused local variables.
...
git-svn-id: trunk@11430 -
2008-07-20 23:00:31 +00:00
yury
01e31e2215
* Fixed r10992. Really warn if someone still uses ppc386.cfg
...
git-svn-id: trunk@11202 -
2008-06-05 08:24:58 +00:00
florian
0f6bcd613f
* fixed spelling
...
git-svn-id: trunk@11171 -
2008-06-02 09:12:59 +00:00
florian
c3605645ff
+ warn if someone still uses ppc386.cfg
...
git-svn-id: trunk@10992 -
2008-05-18 07:57:54 +00:00
giulio
c6d4f1a9e5
Go32v2 is not an embedded target, don't disable features
...
git-svn-id: trunk@10943 -
2008-05-11 10:11:29 +00:00
florian
4a243d451f
+ support of -Mxxx or $modeswitch to enable single mode specific features
...
git-svn-id: trunk@10936 -
2008-05-10 22:04:53 +00:00
giulio
9203f46e1a
* Handling of -Sf parameter fixed
...
* Fixed definition of FPC_HAS_FEATURE_xxx macros for targets not supporting the full range of features
* Added DYNLIBS feature
git-svn-id: trunk@10932 -
2008-05-10 17:00:04 +00:00
Jonas Maebe
a324744cbe
* fixed checking for defined/undefined macro's in the configuration file
...
(#undef'ed macro's still caused #ifdef/#ifndef to return resp.
true/false)
git-svn-id: trunk@10872 -
2008-05-03 09:55:41 +00:00
Tomas Hajny
e64c9a152a
* fix for doubled slashes in paths by Giulio Bernardi
...
git-svn-id: trunk@10796 -
2008-04-26 04:46:59 +00:00
micha
b0838b13d7
* add armeb target to compiler/Makefiles
...
git-svn-id: trunk@10552 -
2008-03-24 17:48:11 +00:00
michael
174de3eab1
Merged revisions 9693-10480 via svnmerge from
...
svn+ssh://svn.freepascal.org/FPC/svn/fpc/branches/resources
........
r9694 | michael | 2008-01-09 21:31:18 +0100 (Wed, 09 Jan 2008) | 1 line
* Initial check-in
........
r9695 | michael | 2008-01-09 21:35:58 +0100 (Wed, 09 Jan 2008) | 1 line
* New version from Giulio Bernardi
........
r9697 | michael | 2008-01-09 21:41:54 +0100 (Wed, 09 Jan 2008) | 1 line
* Patch from Giulio Bernardi with resource support
........
r9698 | michael | 2008-01-09 21:46:33 +0100 (Wed, 09 Jan 2008) | 1 line
* Patch from Giulio Bernardi to add more resource testing
........
r9699 | michael | 2008-01-09 21:57:26 +0100 (Wed, 09 Jan 2008) | 1 line
* New tool from Giulio Bernardi
........
r9700 | michael | 2008-01-09 21:58:23 +0100 (Wed, 09 Jan 2008) | 1 line
* New tool from Giulio Bernardi
........
r9701 | michael | 2008-01-09 22:01:54 +0100 (Wed, 09 Jan 2008) | 1 line
* Added fcl-res
........
r9702 | michael | 2008-01-09 22:01:58 +0100 (Wed, 09 Jan 2008) | 1 line
* Added fcl-res
........
r9703 | michael | 2008-01-10 08:54:26 +0100 (Thu, 10 Jan 2008) | 1 line
* Fixed double code
........
r9704 | jonas | 2008-01-10 10:59:20 +0100 (Thu, 10 Jan 2008) | 2 lines
- removed duplicate code
........
r9705 | jonas | 2008-01-10 11:25:21 +0100 (Thu, 10 Jan 2008) | 2 lines
+ added missing fcl-res dependencies
........
r9706 | jonas | 2008-01-10 11:58:30 +0100 (Thu, 10 Jan 2008) | 2 lines
+ dependencies for fpintres and fpextres
........
r9707 | yury | 2008-01-10 12:47:51 +0100 (Thu, 10 Jan 2008) | 3 lines
* Fixed compilation of resource, which is included in a unit located in different folder than main source.
* .res files must be copied to units output folder, otherwise .res files will not be found when only compiled units path is available and compiler does not know anything about sources folder.
* Improved resource related error messages.
........
r9708 | michael | 2008-01-10 12:52:13 +0100 (Thu, 10 Jan 2008) | 1 line
* Removed double source after end.
........
r9709 | michael | 2008-01-10 12:52:48 +0100 (Thu, 10 Jan 2008) | 1 line
* No longer needed
........
r9710 | tom_at_work | 2008-01-10 22:09:08 +0100 (Thu, 10 Jan 2008) | 1 line
* properly align FPC_RESLOCATION so that linking does not fail on some architectures (e.g. ppc64)
........
r9711 | tom_at_work | 2008-01-10 23:53:12 +0100 (Thu, 10 Jan 2008) | 1 line
* fix splitting of 64 bit load/stores from/to unaligned memory locations into multiple load/stores, which in some cases generated wrong code
........
r9712 | michael | 2008-01-11 11:00:08 +0100 (Fri, 11 Jan 2008) | 1 line
* Fixed bug in BSS section on 64-bit platforms
........
r9720 | giulio | 2008-01-12 10:02:04 +0100 (Sat, 12 Jan 2008) | 1 line
Updated fcl-res documentation: occurrences of reslib changed to fcl-res.
........
r9740 | giulio | 2008-01-13 19:36:44 +0100 (Sun, 13 Jan 2008) | 3 lines
- Don't try to compile resources on systems with a non windows-like resource support.
- Don't add the .or file to the list of object files if resource compiling failed.
........
r10201 | giulio | 2008-02-04 11:35:44 +0100 (Mon, 04 Feb 2008) | 5 lines
* resource compiling supported on OS/2 via wrc
* CompileResourceFiles and CollectResourceFiles don't do target-specific checks anymore
* refactored a bit
........
r10389 | giulio | 2008-02-25 21:32:52 +0100 (Mon, 25 Feb 2008) | 2 lines
Deleted test file which was committed by mistake
........
r10472 | giulio | 2008-03-10 12:22:18 +0100 (Mon, 10 Mar 2008) | 2 lines
changed define FPC_HAS_RESOURCES to FPC_HAS_WINLIKERESOURCES
........
git-svn-id: trunk@10481 -
2008-03-12 21:33:48 +00:00
Jonas Maebe
b24caad870
* fixed x86_64 after r10422
...
git-svn-id: trunk@10442 -
2008-03-04 23:13:44 +00:00
micha
83b7f81f81
+ add no-fpu support to compiler/rtl for powerpc-linux (-Cfnone)
...
git-svn-id: trunk@10422 -
2008-03-02 12:59:02 +00:00
florian
c05d4912f4
+ basic system unit for avr-embedded
...
* fixed several compiler stuff to be able to start system unit compilation on avr
git-svn-id: trunk@10318 -
2008-02-13 20:35:16 +00:00
tom_at_work
52135af71f
* implement branchless fpc_abs_long in a generic way
...
* enable optimization for ppc/ppc64 (two times faster than
"generic" rtl branching routine)
git-svn-id: trunk@10306 -
2008-02-11 21:13:52 +00:00
peter
6b06d551a1
* don't fail on -Cg- for platforms that do not support PIC
...
git-svn-id: trunk@9383 -
2007-12-02 18:29:27 +00:00
yury
99a8012472
* Allow using constants in {$IF } directive in OBJFPC mode.
...
* Define FPC_OBJFPC_EXTENDED_IF to allow to test if this feature can be safely used.
git-svn-id: trunk@9342 -
2007-11-28 00:07:18 +00:00
Jonas Maebe
26930be303
* fixed non-x86 compilation after r9333
...
git-svn-id: trunk@9335 -
2007-11-26 11:13:42 +00:00
florian
fb8bbd5ff0
+ inline abs(<longint>) on x86
...
git-svn-id: trunk@9333 -
2007-11-25 18:54:40 +00:00
Jonas Maebe
3b4eba9f86
* fixed handling of unaligned in assignments
...
git-svn-id: trunk@9302 -
2007-11-20 11:59:15 +00:00
florian
8075f99ce9
* define for armel fixed
...
git-svn-id: trunk@9164 -
2007-11-08 21:03:46 +00:00
florian
7a4c469eb2
* more generic definition of abi define
...
git-svn-id: trunk@9155 -
2007-11-07 20:44:33 +00:00
florian
90af7ebf72
* use only windows exceptions for stack checking on win32/win64, resolves #9166
...
git-svn-id: trunk@9020 -
2007-10-31 23:19:48 +00:00
Jonas Maebe
81c5abfb72
* don't add target_info.unit_env to the unit search path
...
if it's not set/empty
git-svn-id: trunk@8931 -
2007-10-25 19:30:48 +00:00
florian
7878f0feb3
* made all fpc_*_to_shortstr helpers a procedure, resolves #8580
...
git-svn-id: trunk@8898 -
2007-10-21 17:33:18 +00:00
Jonas Maebe
ff3b455a59
* make PIC generation default on Darwin (ppc and i386; ppc64 will be
...
done in next commit to ease merging)
git-svn-id: trunk@8872 -
2007-10-21 10:34:01 +00:00
peter
bfca4e67fa
* -CO option to check for possible integer overflows
...
git-svn-id: trunk@8842 -
2007-10-18 19:55:22 +00:00
Jonas Maebe
2db3d54b2e
* support for -Cg- to disable pic code
...
git-svn-id: trunk@8841 -
2007-10-18 18:23:03 +00:00
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