pierre
6ac8b6e9c7
Fix SigContextRec record for x86_64 cpu
...
git-svn-id: trunk@22388 -
2012-09-14 12:06:07 +00:00
joost
e27586175f
* Load- and Save-unitconfig made public.
...
git-svn-id: trunk@22387 -
2012-09-13 20:17:18 +00:00
joost
16a26ea515
* Added ability to add flags to packages
...
git-svn-id: trunk@22386 -
2012-09-13 19:45:43 +00:00
florian
b72251389b
* when forcing left into memory during code generation of a subscript node then the type of left must be passed else memory corruption happens
...
git-svn-id: trunk@22385 -
2012-09-13 19:22:42 +00:00
Jonas Maebe
0ad1a26c61
* adjusted startup code so it guarantees 16 byte stack alignment on program
...
startup for Linux/i386 (since the code generator won't keep the 16 byte
alignment (yet?) for that platform, it won't make much difference in
practice)
git-svn-id: trunk@22383 -
2012-09-13 14:47:05 +00:00
pierre
9c7ea2e5a1
Fix compilation error with -dHEAPTRC
...
git-svn-id: trunk@22382 -
2012-09-13 12:45:20 +00:00
pierre
305a275746
Protect with try/except blocks call to get_caller_XXX functions to avoid troubles if stack is invalid
...
git-svn-id: trunk@22381 -
2012-09-13 12:37:49 +00:00
Jonas Maebe
1219797d94
* support LOC_(C)SUBSETREG/REF in gen_load_vmt_register() (mantis #22869 )
...
git-svn-id: trunk@22380 -
2012-09-13 12:35:31 +00:00
svenbarth
29c71d39ac
Preparations for upcoming work on generics:
...
+ symconst.pas: add a new flag to symtables to mark them as containing at least one generic (will be used to decide whether an expression like "Foo<Bar" should even remotely be considered a specialization)
* utils/ppudump.pp: respect the new flag
* pdecl.pas, types_dec: add the flag for every generic we have parsed
* pgenutil.pas, generate_specialization: add the flag to the specialize symtable if a nested generic set it for the temporary symtable (does not happen currently, but will in the future when nested generics are supported)
+ keep references to all generic para symbols in the def; this way the symtable containing the type parameters does not need to be walked every time we need to do something with the parameters
git-svn-id: trunk@22379 -
2012-09-13 11:35:35 +00:00
pierre
2d0f01e0dd
Enable writing of Warnings/Notes/hints if they are considered as errors using -SeX option
...
to avoid getting a compiler failure without any error printed out
git-svn-id: trunk@22378 -
2012-09-13 07:34:23 +00:00
Jonas Maebe
3b968b4b35
* don't allow overloading enum/int operations, because they should be
...
interpreted as internally define operations in case of enum type
definitions in {$mode delphi} (mantis #22860 )
git-svn-id: trunk@22377 -
2012-09-12 16:03:09 +00:00
pierre
fd844d08e0
Avoid wrong typecast in DoReplace function as revealed by extcycle
...
git-svn-id: trunk@22376 -
2012-09-12 14:06:48 +00:00
pierre
3db493482b
Regenerate after: extcycle produces lots of warnings, thus add ALLOW_WARNINGS=1
...
git-svn-id: trunk@22375 -
2012-09-12 14:05:00 +00:00
pierre
5140bc2021
extcycle produces lots of warnings, thus add ALLOW_WARNINGS=1
...
git-svn-id: trunk@22374 -
2012-09-12 13:43:41 +00:00
Jonas Maebe
fe90823b01
* support the "overload" modifier for Objective-C methods
...
* only check whether the message identifier of an Objective-C method
matches the one from a method with the same name in a parent class
if the parameters match (todo: should be refined to "if the
encoded Objective-C selector names match")
git-svn-id: trunk@22373 -
2012-09-11 21:58:40 +00:00
nickysn
0e1b582131
TZipper: set the compression level bit flag in the file header of deflate compressed files
...
git-svn-id: trunk@22372 -
2012-09-11 21:22:34 +00:00
florian
3a6446e6d1
* address parameters must be vr_addr regable
...
git-svn-id: trunk@22371 -
2012-09-11 17:20:12 +00:00
pierre
66b9617ba7
Do not add 8 to NIL values of get_caller_addr
...
git-svn-id: trunk@22370 -
2012-09-11 08:08:48 +00:00
florian
a1da9b7710
* better cse handling of short boolean evaluated boolean expressions
...
git-svn-id: trunk@22369 -
2012-09-10 18:42:50 +00:00
marco
e4c0132109
* workaround breakage due to fpgetenv deprecation in combination with
...
-Se.
git-svn-id: trunk@22368 -
2012-09-10 17:40:07 +00:00
masta
c3a91c5022
Remove the postfix check in MovStrMov peephole optimizer for ARM
...
We don't need to check for the postfix, PF_NONE/PF_H/PF_B are all ok for us and
can be intermixed. This allows the peephole optimizer to work for
strb and strh instructions.
git-svn-id: trunk@22367 -
2012-09-10 14:57:43 +00:00
masta
0f40429389
Improve handling of set operations with constant values on ARM
...
tarmaddnode.second_cmpsmallset always forced a value into a register
even when it could be represented as a constant, resulting in wasted
registers.
mov r1, #5
cmp r0, r1
If possible we'll now create:
cmp r0, #5
git-svn-id: trunk@22366 -
2012-09-10 12:37:50 +00:00
marco
1a895a875b
* move fpgetenv(pchar) to unit system for syscall based *nix rtls.
...
It was already available for libc based *nix rtls
git-svn-id: trunk@22365 -
2012-09-10 09:21:56 +00:00
marco
e245802fa8
* deprecated old shortstring getenv func.
...
git-svn-id: trunk@22364 -
2012-09-10 09:01:24 +00:00
Jonas Maebe
670509cbf1
- disabled multithreading because it has causes crashes
...
git-svn-id: trunk@22363 -
2012-09-09 23:33:51 +00:00
florian
67744ef46e
* fix methodpointers in registers on big endian targets
...
git-svn-id: trunk@22362 -
2012-09-09 17:54:35 +00:00
joost
a74b6e8573
* Added ability to add targets to a packagevariant
...
git-svn-id: trunk@22361 -
2012-09-09 12:57:08 +00:00
florian
9ebf2aa984
* project file updates
...
git-svn-id: trunk@22360 -
2012-09-08 21:58:45 +00:00
joost
8459c12af7
* Fixed compilation of programs when using a buildunit
...
git-svn-id: trunk@22359 -
2012-09-08 15:50:06 +00:00
joost
982c7ca9a9
* Added ability to inherit package-variants from dependencies.
...
git-svn-id: trunk@22358 -
2012-09-08 15:43:50 +00:00
joost
dfb01f7391
* Package variants are stored in the package-dictionary, so there are more
...
places now where the package-dictionary should be used instead of the
global one.
git-svn-id: trunk@22357 -
2012-09-08 15:26:29 +00:00
marco
eae11f81bb
* Size_t (IMalloc interface mainly) to PTRUINT, mantis #22835
...
git-svn-id: trunk@22355 -
2012-09-08 10:49:26 +00:00
joost
aa6b8b3fce
* Do not use the GlobalDictionary during compilation of a package, this is not thread-safe
...
git-svn-id: trunk@22353 -
2012-09-07 18:59:16 +00:00
florian
34996baa05
* remove more than a decade outdated project files
...
git-svn-id: trunk@22352 -
2012-09-07 17:13:40 +00:00
florian
d93cee995b
* fix register method pointer for ppc64 and x86_64-linux
...
git-svn-id: trunk@22351 -
2012-09-07 15:15:10 +00:00
Jonas Maebe
95c69f1f9e
* fixed function return location for small records on darwin/i386 and
...
iphonesim/i386 when not using cdecl/cppdecl/mwpascal calling conventions
git-svn-id: trunk@22350 -
2012-09-06 21:41:42 +00:00
Jonas Maebe
f2e1ec2771
* merged changes to systemh.inc/compproc.inc from r22289/r22290/r22310
...
git-svn-id: trunk@22349 -
2012-09-06 21:41:35 +00:00
joost
8a4bd096fc
* Files which should not be compiled on the current target can not trigger
...
a compile of the package. This also avoids checks on the file-age of
unknown source files, which effectively leads to checking the age of
directories.
git-svn-id: trunk@22348 -
2012-09-06 20:35:22 +00:00
Jonas Maebe
e7cb2e9a28
* test for mantis #22807 (bug fixed in jasmin)
...
git-svn-id: trunk@22347 -
2012-09-06 18:50:29 +00:00
pierre
971cc159f9
Using global assmelber labels for debug line is not required for smartlinked sections
...
git-svn-id: trunk@22346 -
2012-09-06 15:44:38 +00:00
florian
7840b4657a
* the improved arm optimizer might move instructions around so the old hacky test if a label with its data has been already embedded into the code by checking if the offset is 0 does not work anymore so a new field for tai_label has been introduced for this purpose
...
git-svn-id: trunk@22345 -
2012-09-06 15:12:17 +00:00
florian
7361e19799
+ support for handling OS_128/OS_S128 on 64 Bit CPUs as far as needed for method pointers in registers
...
git-svn-id: trunk@22344 -
2012-09-06 15:12:12 +00:00
florian
4514a55ec6
* call method pointers located in registers correctly
...
git-svn-id: trunk@22343 -
2012-09-06 15:12:06 +00:00
florian
e18a9cccaa
* fix expectlocs for method pointers
...
git-svn-id: trunk@22342 -
2012-09-06 15:12:02 +00:00
florian
370d42035a
* when creating method pointers, put them into registers
...
git-svn-id: trunk@22341 -
2012-09-06 15:11:58 +00:00
florian
4d4561923e
* nil method pointers can be kept in registers
...
git-svn-id: trunk@22340 -
2012-09-06 15:11:54 +00:00
florian
d6b548ce13
* don't force parameters into memory when loading them if both have the size OS_64/OS_S64
...
git-svn-id: trunk@22339 -
2012-09-06 15:11:50 +00:00
florian
be2003a404
* output register pairs correctly
...
git-svn-id: trunk@22338 -
2012-09-06 15:11:46 +00:00
florian
7901662eb3
+ mark method pointers as regable
...
git-svn-id: trunk@22337 -
2012-09-06 15:11:42 +00:00
pierre
a3ef2b42a8
Remove more TABs in sources
...
git-svn-id: trunk@22336 -
2012-09-06 08:11:59 +00:00