Commit Graph

182 Commits

Author SHA1 Message Date
Jonas Maebe
0d0766a595 * fixed web bug #6923 (old 5100): count references to private fields
from non-private properties

git-svn-id: trunk@4180 -
2006-07-14 15:34:02 +00:00
chrivers
5e65c94bfb Added preliminary support for parsing _IMPLEMENTS
git-svn-id: trunk@4141 -
2006-07-10 23:41:31 +00:00
daniel
34d33a1c81 + Enable "absolute $location" for GBA
git-svn-id: trunk@3904 -
2006-06-20 20:29:44 +00:00
michael
a3c573cf8d + Fixed nodefault storage specifier and case where stored is explicitly true
git-svn-id: trunk@3860 -
2006-06-13 21:41:52 +00:00
Jonas Maebe
f6d4f38bc0 * fixed setting of alignment of C records for darwin (only do it for
records, not for objects)

git-svn-id: trunk@3752 -
2006-05-31 11:02:42 +00:00
florian
daeda1b9e0 * fixed error msg (that->this)
* array properties can be published in delphi mode though it makes no sense to publish them because they can't be streamed

git-svn-id: trunk@3694 -
2006-05-27 15:24:55 +00:00
florian
d1bfba1c4d * handle stored false properly when overriding properties
git-svn-id: trunk@3509 -
2006-05-13 20:26:42 +00:00
florian
c81f34aeee + parsing of dispinterface properties
git-svn-id: trunk@3383 -
2006-04-30 14:29:16 +00:00
peter
79e483ec65 * cpu64 -> cpu64bit
git-svn-id: trunk@3324 -
2006-04-23 19:22:50 +00:00
Jonas Maebe
a55ca0e89f * fixed c record aligning for ppc after symtablestack structure change
git-svn-id: trunk@3164 -
2006-04-07 20:41:33 +00:00
peter
e0a62c1bf2 Merged revisions 3009 via svnmerge from
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler

r3009 (peter)
  * support public name for typed consts

git-svn-id: trunk@3043 -
2006-03-26 18:54:19 +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
Jonas Maebe
c5243db965 + more darwin i386 support
git-svn-id: trunk@2596 -
2006-02-15 16:31:05 +00:00
peter
0a2d1df0b6 * allow 64bit property indexes for 64bit
git-svn-id: trunk@2522 -
2006-02-11 21:45:58 +00:00
peter
05bac3dceb * fix searching of typenames in records
git-svn-id: trunk@2449 -
2006-02-06 07:07:37 +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
Jonas Maebe
89523d390b * fixed web bugs 4574 and 4575
+ added combined test for these bugs

git-svn-id: trunk@2119 -
2006-01-02 17:54:39 +00:00
peter
710ea0edf0 * fix enum support in vecn in symlists
git-svn-id: trunk@2035 -
2005-12-23 14:11:29 +00:00
peter
95879fe8a7 * basic support for generic classes
git-svn-id: trunk@2020 -
2005-12-21 10:11:15 +00:00
peter
dfd9b6e862 * property index is always a s32int
* property implementations must match parameters equal

git-svn-id: trunk@1995 -
2005-12-20 07:58:38 +00:00
Jonas Maebe
4c6874504b * fixed web bug #4461
git-svn-id: trunk@1921 -
2005-12-10 21:57:33 +00:00
Jonas Maebe
42ec76598c * new categories for vs_*: vs_declared, vs_initialised, vs_read,
vs_written, vs_readwritten. vs_initialised is the old vs_assigned;
    vs_used has been replaced by vs_read, vs_written and vs_readwritten
  * the valid_for_*() routines in htypechk now get an extra parameter to
    decide whether or not errors should be reported

git-svn-id: trunk@1913 -
2005-12-10 16:51:26 +00:00
florian
aa22e57a7e * fixed issue with static fields
git-svn-id: trunk@1803 -
2005-11-22 22:08:11 +00:00
peter
d5af8ed9a0 * fix range check error
git-svn-id: trunk@1439 -
2005-10-17 08:03:08 +00:00
peter
c3727c29b2 * rename al_code to al_procedures, al_bss/al_data to al_globals
* more work for section smartlinking

git-svn-id: trunk@1083 -
2005-09-15 06:51:12 +00:00
peter
05a628447f * put typedconsts in own asmlist to prevent mixing
array and string data
  * added al_rodata
  * renamed tasmlist enum names to include al_ prefix

git-svn-id: trunk@899 -
2005-08-17 08:42:52 +00:00
daniel
22e89e1a42 * Proof of concept: Support threadvars using segment registers.
git-svn-id: trunk@740 -
2005-07-24 21:06:23 +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
florian
abbc85bb78 + strict protected and strict private support
git-svn-id: trunk@512 -
2005-06-28 19:23:39 +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
peter
d24397b6e6 support external <dllname>; also for variables 2005-03-09 23:44:18 +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
florian
f5cab73217 * fixed proc. vars with calling specifiers in usual var declarations 2005-02-02 19:03:27 +00:00
florian
49347a0117 * fixed:
r1 = record
      p : procedure stdcall;
      i : longint;
    end;
2005-02-01 23:18:54 +00:00
michael
ac1642de89 * Patch from peter: fix macpas anonymous function procvar 2005-02-01 08:46:13 +00:00
florian
56f1af83a9 * variables exported by $J/$Z in macpas mode are never regable 2005-01-30 17:17:19 +00:00
florian
7aa53f09cc * widechararray patch from Peter 2005-01-06 13:30:40 +00:00
peter
d2c8a99440 * don't typecast index of indexed properties 2005-01-04 16:52:07 +00:00
peter
b88a75d42f * give error when property doesn't reference a method or field 2005-01-04 16:37:38 +00:00
Jonas Maebe
d7c52f4062 * external vars are not regable 2004-12-11 15:19:08 +00:00
peter
78c2af7b3c * set vo_explicit_paraloc flag 2004-12-07 16:11:52 +00:00
peter
06cfe01791 * os2 fixes for import
* asmsymtype support for intel reader
2004-11-29 18:50:15 +00:00
peter
87d2861f89 * fixes for win32 mangledname 2004-11-16 20:32:40 +00:00
peter
e740a66636 * tparaitem removed, use tparavarsym instead
* parameter order is now calculated from paranr value in tparavarsym
2004-11-15 23:35:30 +00:00
peter
6c9c4c686c * small m68k updates to bring it up2date
* give better error for external local variable
2004-11-09 22:32:59 +00:00
peter
6458bd0ce1 * tvarsym splitted 2004-11-08 22:09:58 +00:00
mazen
581b52422c - remove $IFDEF DELPHI and related code
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
peter
560a790a57 * gen high tree makes copy in temp when there is a calln 2004-10-12 14:36:38 +00:00
Jonas Maebe
c7544e69de + padalgingment field for recordsymtables (saved by recorddefs)
+ support for Macintosh PowerPC alignment (if the first field of a record
    or union has an alignment > 4, then the record or union size must be
    padded to a multiple of this size)
2004-08-17 16:29:21 +00:00
florian
cf25a973f8 * fixed alignment of variant records
* more alignment problems fixed
2004-08-15 13:30:18 +00:00
florian
ed872a3600 * fixed problem with explicit specified calling conventions for property symbols 2004-08-07 19:13:51 +00:00
olle
41bdd6178c + added external facilities for macpas 2004-07-14 23:19:21 +00:00
florian
8a9758c5e2 * logs truncated 2004-06-20 08:55:28 +00:00
florian
588e2c38bf * dwarf branch merged 2004-06-16 20:07:06 +00:00
peter
51452c1e1b * fix calling convention problem when parsing default value before
the semicolon
2004-04-11 12:38:16 +00:00
peter
e46cdcea48 * constants ordinals now always have a type assigned
* integer constants have the smallest type, unsigned prefered over
    signed
2004-03-23 22:34:49 +00:00
Jonas Maebe
e823822f49 * fixed importing of variables from shared libraries, but disabled
PIC support for now. You have to save/restore r31 when you us it! :)
    Also, it's not necessary to support the imported variables
2004-03-05 22:17:11 +00:00
Jonas Maebe
61e09d9dea * fixed wrong name mangling for imported variables under Darwin 2004-03-05 21:13:22 +00:00
peter
7ff979cdc9 * support enums in property array ranges 2004-03-04 17:24:42 +00:00
peter
cd76bf8ded * another procvar directive fix, this time for initialized vars 2004-02-26 16:10:23 +00:00
peter
c844c5a505 * procvar cleanup 2004-02-20 21:55:59 +00:00
peter
1e3875ad36 - fix rtti generation for properties containing sl_vec
- fix crash when overloaded operator is not available
- fix record alignment for C style variant records
2004-02-17 15:57:49 +00:00
peter
ee569d7817 * make extcycle is working again 2004-02-12 15:54:03 +00:00
peter
ecfbbeffc3 * renamed xNNbittype to xNNinttype
* renamed registers32 to registersint
  * replace some s32bit,u32bit with torddef([su]inttype).def.typ
2004-02-03 22:32:53 +00:00
peter
1422985ca0 * Change several $ifdef i386 to x86
* Change several OS_32 to OS_INT/OS_ADDR
2004-01-31 17:45:16 +00:00
peter
dfb7fe9d9d * fixed alignment calculation for variant records
* fixed alignment padding of records
2004-01-29 16:51:29 +00:00
peter
8caaa7740d * more record alignment fixes 2004-01-28 22:16:31 +00:00
peter
2d8d788211 * record alignment splitted in fieldalignment and recordalignment,
the latter is used when this record is inserted in another record.
2004-01-28 20:30:18 +00:00
peter
5090185909 * global property support for fpc modes 2003-12-10 16:37:01 +00:00
peter
51384ca53c * register calling is left-right
* parameter ordering
  * left-right calling inserts result parameter last
2003-11-23 17:05:15 +00:00
peter
079e489b08 * absolute to object field supported, fixes tb0458 2003-10-28 15:36:01 +00:00
peter
d7d19e4e7f * allow absolute with value for win32,wdos 2003-10-05 12:55:37 +00:00
peter
6edadf3df5 * more proc directive for procvar fixes 2003-10-03 14:45:09 +00:00
peter
2bec6b14fc * procvar directive parsing fixes 2003-10-02 21:13:09 +00:00
peter
3b771392a1 * fix type parsing in records 2003-10-02 15:12:07 +00:00
peter
7900a544a3 * searchsym_type to search for type definitions. It ignores
records,objects and parameters
2003-10-01 19:05:33 +00:00
peter
8af51ea6d3 * locals and paras are allocated in the code generation
* tvarsym.localloc contains the location of para/local when
    generating code for the current procedure
2003-09-23 17:56:05 +00:00
florian
61c2b19b5c * proper error recovering from invalid published fields 2003-09-07 14:14:51 +00:00
florian
22f1ff8da4 * merged Wiktor's Watcom patches in 1.1 2003-09-05 17:41:12 +00:00
peter
b7d99ec934 * paraloc splitted in callerparaloc,calleeparaloc
* sparc calling convention updates
2003-07-02 22:18:04 +00:00
peter
1a2eedd767 * self moved to hidden parameter
* removed hdisposen,hnewn,selfn
2003-05-09 17:47:02 +00:00
peter
f4b818fc1d * removed funcretn,funcretsym, function result is now in varsym
and aliases for result and function name are added using absolutesym
  * vs_hidden parameter for funcret passed in parameter
  * vs_hidden fixes
  * writenode changed to printnode and released from extdebug
  * -vp option added to generate a tree.log with the nodetree
  * nicer printnode for statements, callnode
2003-04-25 20:59:33 +00:00
peter
d42645ca0a * fix crash with duplicate id 2003-03-17 18:56:02 +00:00
michael
fbd28675c9 + Patch from peter to support initial values for local variables 2003-01-02 11:14:02 +00:00
peter
b44a8b42c8 * don't allow initialized threadvars 2002-12-27 15:22:20 +00:00
carl
4d9e00f251 * convert some vars from longint -> byte 2002-12-07 14:04:59 +00:00
carl
5c5db0e0a3 + unimplemented hint directive added
* hint directive parsing implemented
  * warning on these directives
2002-11-29 22:31:19 +00:00
peter
f3fc72095f * splitted defbase in defutil,symutil,defcmp
* merged isconvertable and is_equal into compare_defs(_ext)
  * made operator search faster by walking the list only once
2002-11-25 17:43:16 +00:00
peter
edbd98176b * made tasmsymbol.refs private (merged) 2002-11-15 16:29:30 +00:00
peter
bfd72ad5d5 * merged changes from 1.0.7 up to 04-11
- -V option for generating bug report tracing
    - more tracing for option parsing
    - errors for cdecl and high()
    - win32 import stabs
    - win32 records<=8 are returned in eax:edx (turned off by default)
    - heaptrc update
    - more info for temp management in .s file with EXTDEBUG
2002-11-15 01:58:45 +00:00
carl
d170f6625f * fix heap leaks 2002-10-05 15:18:42 +00:00
carl
67486c96c3 * fixes for Delphi 6 compilation
(warning : Some features do not work under Delphi)
2002-10-05 12:43:23 +00:00
carl
ad82de8798 * bugfix of crash 2002-10-04 20:53:05 +00:00
carl
a0de4860b2 * don't make the vars regable if they are absolute and their definitions
are not the same.
2002-10-03 21:22:01 +00:00
peter
d04496352f * fix setting of sp_static 2002-09-16 18:08:45 +00:00