Commit Graph

38381 Commits

Author SHA1 Message Date
Jonas Maebe
a13c9d93ff * create new object file when creating new section for ansistring/
unicodestring constants so they can be smartlinked away on
    platforms using library-based smartlinking (mantis #22888)

git-svn-id: trunk@22417 -
2012-09-17 22:30:16 +00:00
tom_at_work
f5ddc02a5c + add debian armel library search path
+ for armhf, use the more canonical ld-linux-armhf.so.3 as defdynlinker

git-svn-id: trunk@22416 -
2012-09-17 21:13:37 +00:00
Jonas Maebe
8799d9d204 * don't create temporary ansistrings with codepage DefaultSystemCodePage
when concatenating or comparing CP_ACP strings, because the ansistring
    conversion helpers also check for CP_ACP and do the right thing in
    that case
  * don't convert code pages when comparing CP_ACP strings with
    DefaultSystemCodePage strings (mantis #22906)

git-svn-id: trunk@22415 -
2012-09-17 19:41:44 +00:00
Jonas Maebe
64740049bf * fix for mantis #22796: add alignment padding to records before inserting
hidden parameters while parsing the interface, because they may depend on
    the padded size (since the size was not yet padded in the interface and
    padded in the implementation, this could result in differences)

git-svn-id: trunk@22414 -
2012-09-17 14:34:03 +00:00
Jonas Maebe
349a682596 * corrected license header from GPL to LGPL + static linking exception like
the rest of the FPC RTL, after confirming with the original author that
    this is ok (mantis #22879)

git-svn-id: trunk@22413 -
2012-09-17 12:12:42 +00:00
Jonas Maebe
44fa475fe4 * fixed -dTEST_WIN64_SEH after r22337 (mantis #22885)
git-svn-id: trunk@22412 -
2012-09-17 11:22:18 +00:00
paul
f338d5c338 rtl: set DefaultSystemCodePage on linux without cwstrings
git-svn-id: trunk@22411 -
2012-09-17 08:31:37 +00:00
paul
d7d8c10aaf bsd: set DefaultSystemCodePage without cwstring.pas
git-svn-id: trunk@22410 -
2012-09-17 02:33:06 +00:00
paul
57da93dd11 compiler: don't reject utf-8 codepage as default althought it is not present in mapping tables
git-svn-id: trunk@22409 -
2012-09-17 02:24:56 +00:00
pierre
c3549aa67b Fix tw22326 test compilation failure
git-svn-id: trunk@22408 -
2012-09-16 21:34:32 +00:00
joost
5d24a23e66 * PackageVariants are now owned by the installer. Multiple packages can have references to them.
git-svn-id: trunk@22407 -
2012-09-16 20:01:31 +00:00
michael
76b9b4fdac * Add inherited to setup/teardown
git-svn-id: trunk@22406 -
2012-09-16 15:59:21 +00:00
michael
fcb3d0c256 * Implemented coCreateDeclaration
git-svn-id: trunk@22405 -
2012-09-16 15:06:12 +00:00
michael
4be38f5c53 * Fixed error in --limit and --defaultclasstest
git-svn-id: trunk@22404 -
2012-09-16 14:53:50 +00:00
michael
9d8235c9d8 * Fixed uninitialized string results
git-svn-id: trunk@22403 -
2012-09-16 14:05:37 +00:00
michael
f496994f46 * Use consoletestrunner from fcl-unit. Old output available through --legacy or -g
git-svn-id: trunk@22402 -
2012-09-16 11:55:07 +00:00
michael
3f803013a3 * Applied patch from #22899
git-svn-id: trunk@22401 -
2012-09-16 11:38:49 +00:00
michael
4b938fe818 * Erroneously committed
git-svn-id: trunk@22400 -
2012-09-16 09:56:59 +00:00
michael
9058529a44 * Initial implementation of FCL-SDO
git-svn-id: trunk@22399 -
2012-09-16 09:54:08 +00:00
michael
a37953dc34 * Observer hook and mediator implementation added
git-svn-id: trunk@22398 -
2012-09-16 09:09:13 +00:00
tom_at_work
9428c78d63 Pass OPT to compilation of fpmake.
Solves issues with systems that e.g. require special options for compilation of programs (e.g. libc programs to find libc startup code) or the actual build has been compiled with options that are incompatible with default ones.

Tested changes by building an i386-linux local build and i386-linux->arm-linux cross-builds

git-svn-id: trunk@22397 -
2012-09-15 23:41:44 +00:00
florian
95830d5a4a + DEBUG_REGISTERLIFE define
git-svn-id: trunk@22396 -
2012-09-15 17:20:57 +00:00
florian
f75e39e660 + aliasing of registers, allows to split live ranges
git-svn-id: trunk@22395 -
2012-09-15 17:20:53 +00:00
Jonas Maebe
e4956552de * test from mantis #22796 (already works)
git-svn-id: trunk@22394 -
2012-09-15 13:40:17 +00:00
sergei
fde944bf5d + Declare AT_TLS and AT_GNU_IFUNC symbol types, these are needed to handle object files created by gcc in ELF internal linker.
* TExeOutput.FixupSymbols:
  + Collect AT_GNU_IFUNC symbols in IndirectObjSymbols list for further processing by ELF back-end.
  * Do not overwrite bind and size while fixing AB_COMMON symbols, this removes need in storing symbol size in every relocation and dedicated handling of oso_common section.
  * Remove symbols with objsection<>nil from lists, so calling FixupSymbols several times skips already processed symbols.

git-svn-id: trunk@22393 -
2012-09-14 17:22:48 +00:00
Jonas Maebe
404e1a34a4 * changed resource handle parameters from THandle to TFPResourceHMODULE so
they don't truncate the handle data on 64 bit platforms (patch by
    Anton Kavalenka, mantis #21721)

git-svn-id: trunk@22392 -
2012-09-14 15:05:08 +00:00
pierre
6f47ed44a0 * Remove stamps and MAKEFILETARGETS subdirectories for distclean
git-svn-id: trunk@22391 -
2012-09-14 14:34:20 +00:00
Jonas Maebe
dcdcc6988d * if an agregate contains unaligned fields, it has to be passed via memory
(mantis #22878)

git-svn-id: trunk@22390 -
2012-09-14 13:59:59 +00:00
pierre
6eccf88499 call halt(217) if get_caller_XX function generates an exception
git-svn-id: trunk@22389 -
2012-09-14 13:45:31 +00:00
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