peter
3078a1927f
* remove ttype
...
* rename old ttype variables *type to *def
* rename resulttypepass to pass_typecheck
* rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
peter
d4d4309e44
* use unique symid and defid per module
...
git-svn-id: trunk@5061 -
2006-10-29 13:00:22 +00:00
florian
b64548e25c
* cleaned up unnecessary code
...
git-svn-id: trunk@5057 -
2006-10-29 12:36:50 +00:00
tom_at_work
bfa4fc30cd
* fix size calculation for packed arrays: it is not required to take alignment into account. Fixes tparray5 on 64 bit cpus
...
git-svn-id: trunk@5050 -
2006-10-28 22:27:57 +00:00
peter
0f6355e805
* fix property overriding
...
git-svn-id: trunk@5045 -
2006-10-28 20:35:53 +00:00
peter
8a0a27262e
* mark hidden parameters with < > when printing parameter lists, only used
...
in EXTDEBUG mode
git-svn-id: trunk@4734 -
2006-09-26 19:47:43 +00:00
florian
569c4871fc
+ first batch of varset support, as long as packset isn't changed, it doesn't change anything
...
git-svn-id: trunk@4710 -
2006-09-24 14:40:11 +00:00
Jonas Maebe
3bb41dcf9a
* fixed writing "packed" status of bitpacked records to ppu files.
...
Not sure how it ever worked, nor how exactly symtable ppu entries
work -- but it's now stored with the recorddef (which also means
that bitpacking is disabled currently for objects and classes,
since they are based on tabstractrecorddef rather than trecorddef)
git-svn-id: trunk@4679 -
2006-09-21 20:39:36 +00:00
Jonas Maebe
1f42ee201b
+ support for bitpacked records, except for:
...
* rtti
* typed constants
git-svn-id: trunk@4489 -
2006-08-23 15:44:13 +00:00
Jonas Maebe
37a9ce25d5
* fixed size of bitpacked arrays
...
git-svn-id: trunk@4488 -
2006-08-23 15:02:36 +00:00
florian
2228ec7fb0
* patch from C Western for #7232
...
git-svn-id: trunk@4481 -
2006-08-20 19:38:51 +00:00
florian
9e66674ff9
+ first part of qwordbool implementation
...
git-svn-id: trunk@4462 -
2006-08-19 23:16:17 +00:00
florian
22146e2bcf
* partial fix (not for 64 bit CPUs yet) for #5641 (tested only lower byte of result of object constructors)
...
git-svn-id: trunk@4455 -
2006-08-19 22:40:59 +00:00
Jonas Maebe
eccbc78e04
+ support for bitpacked arrays:
...
+ use {$bitpacking on/+} to change the meaning of "packed"
into "bitpacked" for arrays. This is the default for MacPas.
You can also define individual arrays as "bitpacked", but
this is not encouraged since this keyword is not known by
other compilers and therefore makes your code unportable.
+ pack(unpackedarray,index,packedarray) to pack
length(packedarray) elements starting at
unpackedarray[index] into packedarray.
+ unpack(packedarray,unpackedarray,index) to unpack
packedarray into unpackedarray, with the first
element being stored at unpackedarray[index]
* todo:
* "open packed arrays" and rtti for packed arrays are not
yet supported
* gdb does not properly support bitpacked arrays
git-svn-id: trunk@4449 -
2006-08-19 12:54:12 +00:00
peter
4506394cfa
* pass contextobjdef for visibility of methods. There are different
...
requirements for normal searching and for overloaded searching.
For overloaded searching we need to have the context of the
object where the overload is defined and not the current
module
git-svn-id: trunk@4391 -
2006-08-07 21:12:38 +00:00
peter
eb829ea21b
* store procdef messageinf in the ppu
...
git-svn-id: trunk@4386 -
2006-08-07 19:39:32 +00:00
chrivers
97e0ff4105
Added iioffset for _IMPLEMENTS. added iitype initializer
...
git-svn-id: trunk@4358 -
2006-08-06 00:50:06 +00:00
chrivers
d9eb4049e3
Added Interface implementation type specifier (var: iitype) to tobjectdef. Used for the implementation of "implements"-keyword
...
git-svn-id: trunk@4352 -
2006-08-05 20:05:40 +00:00
chrivers
aa783c2876
Cleanup for readability. timplementedinterfaces.searchintf() simplified, dummy-var renamed to mark it as such in tstoreddef.is_integrable
...
git-svn-id: trunk@4351 -
2006-08-05 20:04:55 +00:00
florian
887781a6b9
* experimental patch to fix #7187
...
git-svn-id: trunk@4281 -
2006-07-23 08:46:37 +00:00
Jonas Maebe
d75b19e484
* removed/conditionalised several unused variables
...
git-svn-id: trunk@4194 -
2006-07-14 19:44:54 +00:00
tom_at_work
f38dcb7145
* fixed wrong alignment on 64 bit cpus for rtti data for ordinals and enums if the cpu requires proper alignment
...
git-svn-id: trunk@3834 -
2006-06-09 21:01:57 +00:00
Jonas Maebe
e344ee3cd7
+ support for register variables which contain records
...
git-svn-id: trunk@3580 -
2006-05-19 15:49:07 +00:00
peter
36a57726ac
* always build deref info for localst
...
git-svn-id: trunk@3446 -
2006-05-07 09:01:21 +00:00
florian
2983b01109
* variant size must be 24 bytes on 64 bit platforms
...
git-svn-id: trunk@3441 -
2006-05-06 22:52:13 +00:00
florian
f7817b5669
+ parsing of variant dispatching
...
git-svn-id: trunk@3387 -
2006-04-30 17:53:53 +00:00
florian
c81f34aeee
+ parsing of dispinterface properties
...
git-svn-id: trunk@3383 -
2006-04-30 14:29:16 +00:00
florian
06e7d4be7a
+ dispid parsing
...
git-svn-id: trunk@3378 -
2006-04-30 08:25:36 +00:00
florian
91434bd791
* fixed several dispinterface parsing related stuff
...
git-svn-id: trunk@3373 -
2006-04-29 21:39:21 +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
0ec2921bbe
* split newasmsymbol to refasmsymbol and defineasmsymbol
...
git-svn-id: trunk@3057 -
2006-03-27 11:45:18 +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
9c6a296b86
* use shortint for alignments
...
* remove obsolete position check in tgobj, with the new alignment settings
this is not possible anymore
git-svn-id: trunk@2984 -
2006-03-20 08:29:13 +00:00
peter
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines
* pass ObjectWriter to ObjectOuput
........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines
* refactor asmdata
........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines
* add cfi to asmdata
* move asmlist, asmcfi, asmdata to own unit
........
git-svn-id: trunk@2932 -
2006-03-16 08:52:22 +00:00
Jonas Maebe
659d3e106d
* fixed alignment of double, extended, int64 and qword on i386-darwin
...
git-svn-id: trunk@2870 -
2006-03-11 22:01:11 +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
e5ebc40446
* fixed crash with loading overridden properties of forward-declared
...
classes from ppu files
git-svn-id: trunk@2758 -
2006-03-05 13:34:43 +00:00
Jonas Maebe
ec486f0238
* also change labels starting with L to _L on darwin/x86
...
git-svn-id: trunk@2725 -
2006-03-03 19:31:46 +00:00
Jonas Maebe
d5297b732e
* make classrefdef regable
...
git-svn-id: trunk@2530 -
2006-02-12 14:29:17 +00:00
peter
232555904e
* symtablestack cleanup and rewrite
...
git-svn-id: trunk@2448 -
2006-02-05 22:24:18 +00:00
Jonas Maebe
cd4df8a12c
* don't endlessly recurse in tobjectdef.gettypename if we need
...
to get the typename of aktobjectdef
git-svn-id: trunk@2419 -
2006-02-03 18:43:38 +00:00
florian
826b5cf34a
+ dwarf support for enums
...
git-svn-id: trunk@2363 -
2006-01-28 22:36:27 +00:00
florian
8cd8e4ba8d
+ basic dwarf support for variables and types
...
git-svn-id: trunk@2353 -
2006-01-28 16:06:08 +00:00
florian
b06643a1eb
* tai_const refactored
...
git-svn-id: trunk@2323 -
2006-01-22 12:58:38 +00:00
peter
45176ea2a8
* split tstringtype for stringdef and stringconstnode
...
to prevent wrong typecasts
git-svn-id: trunk@2276 -
2006-01-13 17:20:27 +00:00
Jonas Maebe
48e98d2a17
* fixed compilation of macpas interface-only units
...
git-svn-id: trunk@2130 -
2006-01-02 20:55:10 +00:00
peter
95879fe8a7
* basic support for generic classes
...
git-svn-id: trunk@2020 -
2005-12-21 10:11:15 +00:00
peter
68e56b9fc7
* write only unique property names in rtti
...
git-svn-id: trunk@2007 -
2005-12-20 14:44:48 +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