Commit Graph

28453 Commits

Author SHA1 Message Date
Jonas Maebe
99e1e85447 * fixed execution of finalization section of smart linked shared
libraries on linux (mantis #6822)
  * fixed execution of library finalization sections on darwin
    (previously only the finalization section of the library
     compilation unit itself was executed, now those of the units
     used by the library are also executed)

git-svn-id: trunk@10554 -
2008-03-24 22:19:21 +00:00
micha
b0838b13d7 * add armeb target to compiler/Makefiles
git-svn-id: trunk@10552 -
2008-03-24 17:48:11 +00:00
Jonas Maebe
150eda304b * factored unix exports handling from t_bsd and t_linux into expunix unit
(todo: at least solaris, maybe others)
  * changed the "exports" section handling:
    a) make everything private which is not exported (implemented for
       darwin and linux)
    b) for the exported symbols:
     - functions/procedures
      1) if no name or index is provided, and if the procedure has aliases
         defined via the public/export directives, then export the default
         mangled name and all defined aliases
      2) otherwise if no name is specified (but there is an index) then
        i) if the procedure is defined as cdecl/cppdecl/mwpascal, use the
           appropriately mangled version of the function name
       ii) otherwise export the name without any mangling(e.g. "exports
           proc1" -> proc1 is the exported name)
     - variables
      1) if no name is provided and the variable was specified as cvar,
         use the mangled name
      2) otherwise if no name is provided, export the name without any
         mangling
  -> initialization/finalization of shared libraries under Linux works
     again (mantis #7838)
  -> sharing symbols between shared library and main program works
     under Linux (mantis #9089)

git-svn-id: trunk@10551 -
2008-03-24 16:55:05 +00:00
peter
f96817b5e9 * support CROSSOPT which is only passed to the cross compiler. Can be used to bootstrap a native compiler with
softfpu (-Cfsoft) that is not supported by i386

git-svn-id: trunk@10550 -
2008-03-24 14:23:45 +00:00
peter
52722b2cab * allocate .bss entries manual so we can take care of alignment
* disable COMMON symbol code, it might be needed again for ELF package
    support (.comm for ELF supports alignment)

git-svn-id: trunk@10549 -
2008-03-24 11:55:03 +00:00
micha
3e1149f740 * fix alignrecord fieldoffset size
git-svn-id: trunk@10548 -
2008-03-24 09:57:28 +00:00
micha
4b8486e55b * fix r10544 to take care of packed objects
git-svn-id: trunk@10546 -
2008-03-24 09:46:24 +00:00
micha
1130fb3e95 * revert accidental change to arm
git-svn-id: trunk@10545 -
2008-03-23 23:44:21 +00:00
micha
40211152d4 * make sure tobjects are pointer-size aligned in case of VMT usage; fixes tw1365 on armeb-linux
git-svn-id: trunk@10544 -
2008-03-23 23:42:53 +00:00
marco
6305d7d5a3 * fix for 10865
git-svn-id: trunk@10543 -
2008-03-23 18:34:26 +00:00
Legolas
f262aff7ef * ARM9 detection routine does not generate errors anymore
* Updated libmikmod
* libnds related changes:
    * Fixed sound core
    * Improved interrupt handling
    - Removed unused code

git-svn-id: trunk@10542 -
2008-03-23 14:10:31 +00:00
peter
741b5a1df7 * fix writing procedure local type defs
* write type names once for types defined in the current compiled unit

git-svn-id: trunk@10541 -
2008-03-23 13:40:41 +00:00
florian
7ef191021f + check for location.loc<>expectloc in extdebug mode
* set expectloc properly for add nodes on arm

git-svn-id: trunk@10536 -
2008-03-23 10:18:33 +00:00
michael
e56d239a00 * Applied patch from Giulio Bernardi
git-svn-id: trunk@10535 -
2008-03-22 21:15:37 +00:00
florian
97bde1ecd6 * handle integer operations on variants containing doubles correctly, resolves #11033
git-svn-id: trunk@10533 -
2008-03-22 15:35:44 +00:00
Jonas Maebe
3d97db7976 + support for subrange types in dwarf (allows proper printing of packed
sets of subrange types)

git-svn-id: trunk@10532 -
2008-03-22 11:49:05 +00:00
joost
f701162712 * Patch from Petr Kristan to allocate Constraints
git-svn-id: trunk@10529 -
2008-03-21 18:26:01 +00:00
joost
1da7000192 * Added test for CalcLookupValue
git-svn-id: trunk@10528 -
2008-03-21 18:19:02 +00:00
Jonas Maebe
87295e4ef6 * applies suggestion from Vincent to hopefully fix random lockups in the
test

git-svn-id: trunk@10524 -
2008-03-21 15:30:44 +00:00
joost
d7e393f2c3 * Added test for TDataset.EnableControls
* Adapted test for CalculateFields for fix of bug #11027

git-svn-id: trunk@10523 -
2008-03-21 15:22:11 +00:00
Jonas Maebe
62e66d2a56 * explicit typecasting of any ordinal type to a boolean of the same
size must happen without any mangling of the value (mantis #11027)
  * moved checking for signed-to-unsigned (or vice versa) type
    conversions in assignments from htypechk to ncnv (where there
    was already code for similar checks) and added support for
    bool_to_bool there as well

git-svn-id: trunk@10521 -
2008-03-21 14:44:58 +00:00
joost
e0593d7e6a * Test for CalculateFields
* Added cwstring unit on unix to avoid Widestring-issues

git-svn-id: trunk@10520 -
2008-03-21 14:28:34 +00:00
joost
805bcf1c1d * Fix for ValueOfKey for multiple-fields keys
git-svn-id: trunk@10519 -
2008-03-21 13:38:44 +00:00
michael
bd4b3dfa61 * Not needed, test file
git-svn-id: trunk@10518 -
2008-03-20 20:06:36 +00:00
michael
2fc3ede869 * Fixed makefiles using patch from Giulio Bernardi
git-svn-id: trunk@10517 -
2008-03-20 20:06:01 +00:00
michael
e9b3f7feb9 Merged revisions 10507-10509 via svnmerge from
svn+ssh://svn.freepascal.org/FPC/svn/fpc/branches/resources

........
  r10507 | giulio | 2008-03-19 11:13:54 +0100 (Wed, 19 Mar 2008) | 2 lines
  
  properly handle resource files with spaces in their path
........
  r10509 | giulio | 2008-03-20 13:07:31 +0100 (Thu, 20 Mar 2008) | 2 lines
  
  * Strip off path from resource file name when resource file is copied to output directory (fixes #11022)
........

git-svn-id: trunk@10516 -
2008-03-20 19:59:18 +00:00
joost
461a19b68d * TFormFieldItem.GetValue now uses TField.Displaytext instead of Text
* Do not crash when there are no records on the current page 
 * Set TTableCell.FormField

git-svn-id: trunk@10508 -
2008-03-19 15:59:36 +00:00
Jonas Maebe
242b335531 * fixed widestring range checking on win64 (mantis #10450, fix also
depends on r10505)

git-svn-id: trunk@10506 -
2008-03-18 23:09:12 +00:00
Jonas Maebe
a6b9b3e00a * fixed a_param_ref for source sizes < 8 bytes
git-svn-id: trunk@10505 -
2008-03-18 20:10:22 +00:00
joost
dd38ec2d36 * Revert r10501, CompareWideString should remain a dummy
git-svn-id: trunk@10504 -
2008-03-18 19:59:11 +00:00
joost
e142d31547 * Test for RefreshLookupList
git-svn-id: trunk@10502 -
2008-03-17 22:27:40 +00:00
joost
b5454e0352 * Implemented CompareWideString, based on CompareStr
git-svn-id: trunk@10501 -
2008-03-17 22:09:47 +00:00
micha
6910b0ed40 * fix arm(eb) load/store of smaller than register sizes
git-svn-id: trunk@10500 -
2008-03-17 21:27:44 +00:00
florian
cad678840e + internal linker takes care of setpeflags
git-svn-id: trunk@10499 -
2008-03-17 21:06:35 +00:00
florian
989f5eb367 * changed yywrap into a procedure variable so it can be overriden
git-svn-id: trunk@10498 -
2008-03-16 21:40:22 +00:00
Jonas Maebe
5cc0477dfa * test is not for windows
git-svn-id: trunk@10497 -
2008-03-16 09:28:26 +00:00
Jonas Maebe
b4d59bf0fb + test for previous commit with main program linking to libc
(apparently already works after all :)

git-svn-id: trunk@10496 -
2008-03-15 23:53:55 +00:00
Jonas Maebe
3eec0569be * fixed shared library initialisation for FPC-compiled libraries
when linked to FPC-compiled programs under linux/i386 which
    do not use libc + test (mantis #8730). Programs which do use
    libc and other linux targets have to be fixed in a similar
    way until we properly fix everything by not exporting
    any symbols at all from shared libraries by default (and
    only those appearing in the "exports" section).

    Finalisation does not work yet either for FPC-compiled
    programs on linux/anything.

git-svn-id: trunk@10495 -
2008-03-15 23:28:09 +00:00
Jonas Maebe
9aac8a7852 * fixed test
git-svn-id: trunk@10494 -
2008-03-15 23:20:11 +00:00
micha
eae3754ab7 * add testcase of issue #11006 to testsuite
git-svn-id: trunk@10493 -
2008-03-15 20:18:28 +00:00
micha
ae8289f9f7 * fix crash in case of main thread exiting simultaneously with other threads (issue #11006)
git-svn-id: trunk@10492 -
2008-03-15 19:42:30 +00:00
Jonas Maebe
f1bd686065 * re-applied r7485, which got lost in r7639 because an old
revision (r6623) of the file was renamed to cfileutl
    (mantis #10873)

git-svn-id: trunk@10488 -
2008-03-14 20:37:44 +00:00
micha
4a7f6bccf9 * fix arm edsp test to load from aligned address
git-svn-id: trunk@10487 -
2008-03-13 21:36:01 +00:00
peter
c05e60746b * simplify compile states
* fix recursive dependency check

git-svn-id: trunk@10486 -
2008-03-13 21:07:19 +00:00
tom_at_work
e540356be4 * fixed merge errors introduced by merge from resources branch, re-applied r9721
git-svn-id: trunk@10485 -
2008-03-13 19:45:01 +00:00
Jonas Maebe
9d9dc0e44e * also build fpcres* for solaris
git-svn-id: trunk@10484 -
2008-03-13 10:57:40 +00:00
Jonas Maebe
e10be4d3b4 * more Makefile fixes
git-svn-id: trunk@10483 -
2008-03-12 23:07:32 +00:00
Jonas Maebe
c97d448248 + added baseunix dependency for fpextres to darwin Makefile.fpc
* regenerated Makefiles committed in r10481 using up-to-date fpcmake

git-svn-id: trunk@10482 -
2008-03-12 22:50:59 +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
michael
886a36a6e3 Initialized merge tracking via "svnmerge" with revisions "1-9692" from
svn+ssh://svn.freepascal.org/FPC/svn/fpc/branches/resources

git-svn-id: trunk@10480 -
2008-03-12 21:13:56 +00:00