Commit Graph

34804 Commits

Author SHA1 Message Date
paul
27538f21a4 merge r13489 from cpstrnew branch by florian:
* made tcpstr1 work

git-svn-id: trunk@19086 -
2011-09-17 11:21:00 +00:00
paul
8cc22972a0 merge r13488 from cpstrnew branch by florian except ncgcon.pas which has a difficult merge conflict (code moved to another unit which is not at the branch during the revision):
* first batch of patches to make tcpstr1.pp work

git-svn-id: trunk@19085 -
2011-09-17 11:16:45 +00:00
paul
06af8f3e44 merge r13486 from cpstrnew branch by florian:
+ fpc_ansistr_to_ansistr implemented, rtl compiles again

git-svn-id: trunk@19084 -
2011-09-17 11:03:30 +00:00
paul
ae0d732c8f merge r13485 from cpstrnew branch by florian:
* fixed compilation of system unit after last changes

git-svn-id: trunk@19083 -
2011-09-17 11:01:42 +00:00
paul
28627482c5 merge r13483 from cpstrnew branch by florian:
+ Win32Unicode2AnsiMove and Win32Wide2AnsiMove support code page parameter
+ Win32Ansi2UnicodeMove and Win32Ansi2WideMove support code page parameter
+ code page parameter added for several compilerprocs
* unified more code between win32 and win64 (widestring conversion routines

git-svn-id: trunk@19082 -
2011-09-17 10:54:00 +00:00
paul
42832675d8 merge r13482 from cpstrnew branch by florian:
+ first tests for code page aware strings

git-svn-id: trunk@19081 -
2011-09-17 10:40:45 +00:00
paul
8a4634a7b1 merge r13481 from cpstrnew branch by florian
+ support parsing of strings with code page specification
+ added encoding and elementsize field to ansi- and unicodestring records
+ some basic rtl support routines for encoding aware strings
+ DefaultSystemCodePage
+ DefaultUnicodeCodePage
+ ppu writing/loading of code page aware strings

git-svn-id: trunk@19080 -
2011-09-17 10:37:36 +00:00
paul
a95512f0ec merge cpstrnew branch r13480 by florian:
* merged old cpstr branch

git-svn-id: trunk@19079 -
2011-09-17 10:03:59 +00:00
Jonas Maebe
6920c7a0c1 * fixed stat/fstat-related types for iphonesim platform
(mantis #20249)

git-svn-id: trunk@19078 -
2011-09-17 09:31:32 +00:00
pierre
ea6138cffa * Add Category and svn information
git-svn-id: trunk@19077 -
2011-09-16 16:07:48 +00:00
marco
44bd4470f9 * Patch from Mantis #20046 fixing an issue in rcmatchstring.
git-svn-id: trunk@19072 -
2011-09-15 20:19:25 +00:00
sergei
1365467b0d + Support classes for creating unwind bytecode for Win64.
git-svn-id: trunk@19071 -
2011-09-15 15:35:08 +00:00
sergei
6280ee2eed * Changed attributes of .pdata section so it is smart-linkable on x86_64.
* Changed alignment of .pdata section to 4.
+ Support saving RELOC_NONE relocations to .o files and reading them back on x86_64.

git-svn-id: trunk@19070 -
2011-09-15 15:22:03 +00:00
sergei
782cdd8e9a x86 external Intel assembler:
+ Write name of sec_threadvar
+ Also write actual section alignment instead of always using PARA.

git-svn-id: trunk@19069 -
2011-09-15 15:05:14 +00:00
Jonas Maebe
05c4c3ae25 + test for mantis #20257 (already fixed in 2.7.x)
git-svn-id: trunk@19068 -
2011-09-15 12:47:23 +00:00
pierre
874f27a105 * Remove useless local variable which prevents go32v2 compilation
git-svn-id: trunk@19067 -
2011-09-14 21:55:36 +00:00
pierre
30129a0363 * msg files regeneration after commit 19057
git-svn-id: trunk@19066 -
2011-09-14 13:38:46 +00:00
pierre
a5d2840980 + Fix commit 19061, by restoring cs_link_smart code and disabling
cs_create_smart if using dwarf information and external assembler
   debug information as this is not compatible.
 * Added a different message for cs_create_smart.

git-svn-id: trunk@19065 -
2011-09-14 13:38:15 +00:00
pierre
f9fbe661f0 * msg files regeneration after commit 19057
git-svn-id: trunk@19064 -
2011-09-14 12:21:43 +00:00
pierre
b5c4df8eb5 * exclude cs_create_smart if using external assembler and dwarf
debug information as this is not compatible.

git-svn-id: trunk@19063 -
2011-09-14 12:16:53 +00:00
pierre
0d15a427c2 * Consider cs_create_smart instead of cs_link_smart for
use of global labels for alt_dbgline type.

git-svn-id: trunk@19062 -
2011-09-14 12:14:52 +00:00
pierre
5d39f2208a * Consider cs_create_smart instead of cs_link_smart for disabling
smartlink creation if using external assembler and Dwarf debugging
 * Call CheckOptionsCompatibility again after setting currentt assembler

git-svn-id: trunk@19061 -
2011-09-14 12:13:05 +00:00
marco
1556751109 * also quote ftguid fields. Mantis 20219.
git-svn-id: trunk@19060 -
2011-09-14 07:48:24 +00:00
pierre
53d3d518fa Check warning for %es:0 in assmebler code
git-svn-id: trunk@19058 -
2011-09-13 16:21:31 +00:00
pierre
5a671336c7 Fix go32v2 rtl compilation error and add warning for %es:Const
git-svn-id: trunk@19057 -
2011-09-13 16:20:12 +00:00
paul
67008470ea tests: fix record helper test
git-svn-id: trunk@19056 -
2011-09-13 00:20:24 +00:00
vladob
863da422df doc update for fcl-stl
git-svn-id: trunk@19054 -
2011-09-12 10:15:17 +00:00
vladob
76b511bec5 new examples for fcl-stl
git-svn-id: trunk@19053 -
2011-09-12 08:46:05 +00:00
Jonas Maebe
fd908a70f1 * added missing { %fail }
git-svn-id: trunk@19051 -
2011-09-12 06:53:54 +00:00
michael
942cc99bfe * Better warnings
git-svn-id: trunk@19050 -
2011-09-11 17:39:17 +00:00
marco
2aebae2846 * commented a few left over "alias" debug msg
git-svn-id: trunk@19049 -
2011-09-11 15:05:45 +00:00
joost
89f3b4d838 * When TProcess is available, pipe compiler console output to log instead of stdout. So that GUI applications can show it
git-svn-id: trunk@19046 -
2011-09-11 08:53:46 +00:00
paul
ec29fddda7 compiler: implement Delphi like dynamic array constructors. E.g.: SomeArrayVar := TSomeDynArrayType.Create(value1, value2). (issue #0015385)
git-svn-id: trunk@19045 -
2011-09-11 04:41:46 +00:00
joost
eb6f381a18 * Do not add the file to compile twice to compiler command line
git-svn-id: trunk@19044 -
2011-09-10 15:52:05 +00:00
marco
91b017a985 * ansi(start/ends)(str/text) MBCS compatible (via widestringmgr), mantis #16153 + tests
Patch by Flavio Etrusco.

git-svn-id: trunk@19043 -
2011-09-10 15:01:46 +00:00
marco
47af891513 * change resourcestream.handle from thandle to TPFResourceHGlobal, since it is
a pointer, and handle is a 32-bit integer on 64-bit *nix.

git-svn-id: trunk@19042 -
2011-09-10 10:00:27 +00:00
pierre
daa27f636d + exeinstall: New phony target to install only current cpu taret compiler.
+ fullinstall: New phony target to install all posible compilers.

git-svn-id: trunk@19041 -
2011-09-10 08:54:50 +00:00
marco
d6962106b9 * typecast that fixes range error, part of mantis #16172
git-svn-id: trunk@19040 -
2011-09-09 20:03:08 +00:00
marco
367be2cd7a * adds some checks to sqldb avoid AV and memleaks. Mantis #19326 and #18669
git-svn-id: trunk@19039 -
2011-09-09 18:13:03 +00:00
sergei
a9515e9446 * Don't include ShortString constants into resourcestring reference table, because current design allows RTL to handle only a single string type.
git-svn-id: trunk@19038 -
2011-09-09 17:58:32 +00:00
Jonas Maebe
fcc56d271a * replaced some parameter definitions based on their value in the
FreeB-licensed SGI version
  * deleted constants that belong in glext.pp (and which are already
    defined there)
  * replaced "This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon
    Graphics, Inc." license header with FreeB license; see
    http://bugs.freepascal.org/view.php?id=20200 for details)
  -> fixes http://bugs.freepascal.org/view.php?id=20200

git-svn-id: trunk@19037 -
2011-09-09 12:03:09 +00:00
tom_at_work
9ce34c63c9 Fix shared library loading and unloading for Linux platforms. Shared library initialization and finalization are now called correctly at program startup for compile-time linked dynamic libraries on powerpc-/powerpc64-/arm-/i386- and x86_64-linux.
Every startup code must now provide an additional entry point called "_dynamic_start" that is set as new the entry point if the program links to a Pascal shared library. Its purpose is to set up an exit hook usually passed via a register, which should be called during program finalization if non-nil.

We use this additional entry point because this register only has meaningful content when there are any compile-time linked shared libraries, otherwise it often contains random garbage. The difference between the _dynamic_start and the original code is minimal; actually in all implementations the _dynamic_start code passes on control to the old startup code, so we use an additional entry point instead of an additional startup file.

Detailed changes and fixes list:
compiler:
  always link to the dynamic loader (ld.so) when compiling shared libraries. Fixes crashes in the loader during shared library finalization on some Linuxes
  remove additional ENTRY() section in arm linker script
  select either _dynamic_start or _start as entry point depending on whether this is a static or dynamic executable
powerpc*:
  do not set System.isLibrary in startup code, it will be set during library initialization anyway
  trap in case of reaching code locations that should not be reached instead of looping (possibly endlessly)
powerpc:
  register atexit() function pointer if supplied to the executable and call it during shutdown
  correctly set argc/argv/envp in shared library code and return correctly to the caller after initialization
  pass on exitcode in shared library haltproc
  use the more recent exit_group system call if available for shutdown
powerpc64
  fix .ptrgl stub, do not set the environment register to the value of the GOT entry in the function descriptor
arm
  do not set System.isLibrary in startup code, it will be set during library initialization anyway
  reload exitcode to pass to shutdown
mips,mipsel,sparc
  added stubs to allow correct linking

git-svn-id: trunk@19036 -
2011-09-08 21:17:35 +00:00
marco
1f5333a80a * fixes from Mantis #20194, derived from patch and description by G. Fink.
git-svn-id: trunk@19035 -
2011-09-08 20:42:39 +00:00
sergei
0c3c8a8745 * Cast HashValue to Longint, otherwise empty strings (which have hash=$FFFFFFFF) cause range check error when RTL is compiled with -Cr.
git-svn-id: trunk@19034 -
2011-09-08 19:15:34 +00:00
sergei
376d34ebdf * Fixed type of dwCallback member in 44 remaining MCI_xx_PARAMS records ;-)
* MCI_STATUS_PARAMS.dwReturn is pointer-sized, too.

git-svn-id: trunk@19033 -
2011-09-08 18:32:12 +00:00
Mattias Gaertner
14d13bc004 avl_tree: added enumerator
git-svn-id: trunk@19032 -
2011-09-08 17:53:31 +00:00
marco
51e61b5df7 * 64-bit fix for mci_open_params structure. Mantis #20197
git-svn-id: trunk@19031 -
2011-09-08 17:43:09 +00:00
sekelsenmat
c9545e24a0 Regenerates the makefiles for opengles
git-svn-id: trunk@19029 -
2011-09-08 13:17:07 +00:00
sekelsenmat
727da08c0c opengles updates the Makefile.fpc
git-svn-id: trunk@19028 -
2011-09-08 13:03:42 +00:00
sekelsenmat
64232f7876 Patch from bug #15632: OpenGL ES 2.0 headers
git-svn-id: trunk@19027 -
2011-09-08 13:00:30 +00:00