Commit Graph

271 Commits

Author SHA1 Message Date
peter
eb829ea21b * store procdef messageinf in the ppu
git-svn-id: trunk@4386 -
2006-08-07 19:39:32 +00:00
Károly Balogh
b77a51f67d + first somewhat-valid AmigaOS/PowerPC support (no linking yet)
git-svn-id: trunk@4329 -
2006-08-02 18:47:25 +00:00
yury
8bef50f29f * fixed import by ordinal number for all Windows targets when using external linker.
git-svn-id: trunk@3830 -
2006-06-09 20:02:03 +00:00
florian
6620181ee0 * expect repetition of class for class methods and fixed error message to show the forward declaration instead of the current one
git-svn-id: trunk@3685 -
2006-05-26 19:06:40 +00:00
yury
5d82676f78 * Do not use cprefix for cdecl DLL imports in Windows.
git-svn-id: trunk@3663 -
2006-05-24 23:53:10 +00:00
peter
392ef22a7f * win imports are only by importname not anymore per procdef
git-svn-id: trunk@3622 -
2006-05-21 20:40:18 +00:00
florian
e4d2d87bb9 * function results can be a generic parameter
git-svn-id: trunk@3585 -
2006-05-19 21:54:39 +00:00
florian
a5dfe315ec * made safecall working, handling not consistent yet though
git-svn-id: trunk@3418 -
2006-05-04 22:15:31 +00:00
florian
23af245ba2 * fixed parameter order of self and result to be COM compatible
git-svn-id: trunk@3391 -
2006-04-30 20:00:45 +00:00
florian
2bb707a4ee * fixed COM parameter passing
git-svn-id: trunk@3389 -
2006-04-30 19:09:27 +00:00
florian
06e7d4be7a + dispid parsing
git-svn-id: trunk@3378 -
2006-04-30 08:25:36 +00:00
peter
76534b1888 * always add library prefix and suffix to generate uniform dll name
git-svn-id: trunk@3285 -
2006-04-19 16:23:42 +00:00
peter
d858a419c8 * missing import_name flag
git-svn-id: trunk@3256 -
2006-04-17 21:06:36 +00:00
peter
ce58e15393 * fix coff section names to fix resourcestrings with
the external linker
  * create import libraries for dll imports, this uses
    the new objdata framework to generate the binary
    object files directly without needing an assembler pass
  * store import_dll and import_name in ppu
  * external linker uses import libraries
  * internal linker uses import info from symtables,
    no dlls are needed anymore

git-svn-id: trunk@3255 -
2006-04-17 20:48:22 +00:00
peter
b2121dae20 * fix intf map resolving with for inherited intfs
git-svn-id: trunk@3055 -
2006-03-27 09:28:17 +00:00
peter
2ee71781a7 * openstring now uses a type in the system unit
git-svn-id: trunk@3053 -
2006-03-27 09:07:33 +00:00
peter
95be416b9d * don't allow stringconst+integer
* change booleans in arraydef to set
  * set option in arraydef to indicate a constant string so
    a nicer type can be shown instead of array[0..x] of char

git-svn-id: trunk@3051 -
2006-03-27 07:22:02 +00:00
peter
38c0ae73da Merged revisions 2775,2788-2789 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/linker/compiler

........
r2775 | peter | 2006-03-05 22:43:30 +0100 (Sun, 05 Mar 2006) | 2 lines

  * merge ppu changes to keep ppus the same

........
r2788 | peter | 2006-03-06 12:59:14 +0100 (Mon, 06 Mar 2006) | 2 lines

  * Add TFPList and TFPObjectList

........
r2789 | peter | 2006-03-06 13:01:37 +0100 (Mon, 06 Mar 2006) | 2 lines

  * fix powerpc

........

git-svn-id: trunk@2790 -
2006-03-06 12:04:44 +00:00
peter
785550d7e3 Merged revisions 2669,2673,2677,2683,2696,2699-2702,2704,2708,2712-2715,2718,2722-2723,2728-2730,2740,2769 via svnmerge from
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler

........
r2669 | peter | 2006-02-23 09:31:21 +0100 (Thu, 23 Feb 2006) | 2 lines

  * add compiler dir

........
r2673 | peter | 2006-02-23 17:08:56 +0100 (Thu, 23 Feb 2006) | 2 lines

  * enabled more code

........
r2677 | peter | 2006-02-24 17:46:29 +0100 (Fri, 24 Feb 2006) | 2 lines

  * pe stub and headers

........
r2683 | peter | 2006-02-25 23:13:24 +0100 (Sat, 25 Feb 2006) | 2 lines

  * section options cleanup

........
r2696 | peter | 2006-02-26 20:27:41 +0100 (Sun, 26 Feb 2006) | 2 lines

  * fixed typecasts

........
r2699 | peter | 2006-02-26 23:04:32 +0100 (Sun, 26 Feb 2006) | 2 lines

  * simple linking works

........
r2700 | peter | 2006-02-27 09:44:50 +0100 (Mon, 27 Feb 2006) | 2 lines

  * internal linker script

........
r2701 | peter | 2006-02-27 12:05:12 +0100 (Mon, 27 Feb 2006) | 2 lines

  * make elf working again

........
r2702 | peter | 2006-02-27 14:04:43 +0100 (Mon, 27 Feb 2006) | 3 lines

  * disable dwarf for smartlinking with .a
  * fix section start in new .a file

........
r2704 | peter | 2006-02-27 18:30:43 +0100 (Mon, 27 Feb 2006) | 2 lines

  * stab section fixes

........
r2708 | peter | 2006-02-28 19:29:17 +0100 (Tue, 28 Feb 2006) | 2 lines

  * basic work to merge stabs sections

........
r2712 | peter | 2006-02-28 23:17:48 +0100 (Tue, 28 Feb 2006) | 2 lines

  * unload tmodules before linking

........
r2713 | peter | 2006-02-28 23:18:51 +0100 (Tue, 28 Feb 2006) | 2 lines

  * fixed stabs linking

........
r2714 | peter | 2006-02-28 23:19:19 +0100 (Tue, 28 Feb 2006) | 2 lines

  * show code and data size

........
r2715 | peter | 2006-02-28 23:25:35 +0100 (Tue, 28 Feb 2006) | 2 lines

  * unload .stabs from objdata after it is merged

........
r2718 | peter | 2006-03-01 12:24:38 +0100 (Wed, 01 Mar 2006) | 3 lines

  * memsize/datasize cleanup
  * check for exports/resources when adding module to linker

........
r2722 | peter | 2006-03-03 09:12:20 +0100 (Fri, 03 Mar 2006) | 2 lines

  * new TObjSymbol splitted from TAsmSymbol

........
r2723 | peter | 2006-03-03 14:08:55 +0100 (Fri, 03 Mar 2006) | 2 lines

  * coff fixes after recent objsymbol changes

........
r2728 | peter | 2006-03-03 22:43:04 +0100 (Fri, 03 Mar 2006) | 2 lines

  * fixed coff writer

........
r2729 | peter | 2006-03-04 01:10:32 +0100 (Sat, 04 Mar 2006) | 2 lines

  * fix read-only opening

........
r2730 | peter | 2006-03-04 01:11:16 +0100 (Sat, 04 Mar 2006) | 2 lines

  * Read edata from DLLs, basic work

........
r2740 | peter | 2006-03-04 21:13:43 +0100 (Sat, 04 Mar 2006) | 3 lines

  * deletedef added
  * don't remove defs from index when we are already clearing everything

........
r2769 | peter | 2006-03-05 21:42:33 +0100 (Sun, 05 Mar 2006) | 4 lines

  * moved TObj classes to ogbase
  * ObjSection.SymbolRefs and SymbolDefines list
  * DLL importing

........

git-svn-id: trunk@2771 -
2006-03-05 21:10:37 +00:00
peter
9566255122 * allow out file parameters
* assign has out file

git-svn-id: trunk@2717 -
2006-03-01 10:18:47 +00:00
peter
232555904e * symtablestack cleanup and rewrite
git-svn-id: trunk@2448 -
2006-02-05 22:24:18 +00:00
peter
66f8276445 * refactor booleans in systeminfo structure, they are now flags
* support for case aware filesystems (Windows), they do now only
    one lookup if a file exists
  * add -WI option to generate import section for DLL imports or
    let the linker handle it. Default is still import section until
    the Makefiles are fixed, then the generation can be left to the
    linker

git-svn-id: trunk@2274 -
2006-01-13 15:13:26 +00:00
Károly Balogh
b718d9ff37 + added framework code for AmigaOS/PPC syscall support
git-svn-id: trunk@2239 -
2006-01-09 08:58:30 +00:00
peter
ad0f93da39 * don't report name differences after implicit renames
git-svn-id: trunk@2021 -
2005-12-21 11:04:42 +00:00
peter
95879fe8a7 * basic support for generic classes
git-svn-id: trunk@2020 -
2005-12-21 10:11:15 +00:00
Károly Balogh
739ae4c254 + 1st attempt to have explicit funcretloc for Amiga/m68k
git-svn-id: trunk@1978 -
2005-12-18 03:58:27 +00:00
Károly Balogh
238964e443 Various m68k fixes/additions:
- fixes in asmreader, basic stuff works again, the rest is untested
  - removed lot of unnecessary ungetcpuregister()s
  - various other fixes i forgot
  + basic amigaos syscalls support. still lacks explicit funcretloc

git-svn-id: trunk@1943 -
2005-12-13 20:42:15 +00:00
Jonas Maebe
c9b2e34524 * also make "out" shortstring parameters openstrings if required
git-svn-id: trunk@1887 -
2005-12-06 19:39:59 +00:00
peter
9a8dc6bfb2 * store hidden symbols correctly in ppu
git-svn-id: trunk@1751 -
2005-11-15 08:35:01 +00:00
peter
59a26e4f68 * fixed interface name mapping
git-svn-id: trunk@1443 -
2005-10-17 16:02:44 +00:00
florian
158c6f72b7 * names of cdecl'ed exports on linux fixed
git-svn-id: trunk@1233 -
2005-09-29 21:40:19 +00:00
Jonas Maebe
8bc4e0a32f * inline and compilerproc are now procoptions instead of proccall types
(so both can be combined with each other, as well as with other calling
     conventions)
  * defined COMPPROCINLINEFIXED so SYSTEMINLINE is again activated

git-svn-id: trunk@658 -
2005-07-18 15:27:14 +00:00
florian
83c6b3aca2 * from Yury Sidorov:
+ Added new target WinCE for i386 (to be able compile and run programs in WinCE emulator)

git-svn-id: trunk@596 -
2005-07-09 09:31:57 +00:00
florian
c2fe9e3814 + compiler part of WinCE patches from Yuri Sidorov
git-svn-id: trunk@573 -
2005-07-03 15:52:54 +00:00
peter
c1b2e1aac5 * check function/procedure type when adding a proc definition
git-svn-id: trunk@546 -
2005-06-30 14:56:05 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
florian
f6442b758c * overloading of assignment operator by different unique result types now possible 2005-04-28 19:32:11 +00:00
florian
e33bf907d8 * fixed previous commit 2005-04-06 19:39:04 +00:00
florian
1f4e15705c * hidden parameters can be put now in registers as well 2005-04-06 19:09:39 +00:00
Jonas Maebe
bfa2301575 * const record parameters > 8 bytes are now passed by reference for non
cdecl/cppdecl procedures on Mac OS/Mac OS X to fix compatibility with
    GPC (slightly more efficient than Metrowerks behaviour below, but
    less efficient in most cases than our previous scheme)
  + "mwpascal" procedure directive to support the const record parameter
    behaviour of Metrowerks Pascal, which passes all const records by
    reference
2005-03-27 14:10:52 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
ffb7b80888 * more procvar directive fixes 2005-02-03 17:11:40 +00:00
michael
ac1642de89 * Patch from peter: fix macpas anonymous function procvar 2005-02-01 08:46:13 +00:00
peter
371e741a9d * macpas procvars in parameters 2005-01-31 21:27:51 +00:00
peter
8d251e8506 * unit mapping rewrite
* new derefmap added
2005-01-19 22:19:41 +00:00
Károly Balogh
5908985365 * more SysV call support stuff for MorphOS 2005-01-06 02:13:03 +00:00
Károly Balogh
86c111a794 * fixed SysV syscall support (MorphOS) 2005-01-05 02:31:06 +00:00
Károly Balogh
088575dc32 + sysv style syscalls added for MorphOS 2005-01-04 17:40:33 +00:00
peter
ac962df59f * don't parse public,private,protected as procdirectives, leave
procdirective parsing before any other check is done
2004-12-27 17:32:06 +00:00