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