Jonas Maebe
f6473ac074
* give more information about array types in error messages
...
(dynamic, open, const open array) (mantis 8021)
git-svn-id: trunk@5720 -
2006-12-26 17:19:00 +00:00
Jonas Maebe
26f81bfe08
* fixed arithmetic overflow when loading the recorddef of large
...
(> high(aint)/8 bytes) records from ppu files
git-svn-id: trunk@5595 -
2006-12-14 20:24:20 +00:00
Jonas Maebe
4dc98db426
* don't put classes/interfaces which need to be finalized in regvars
...
because the code generated by finalize_data_node() can't deal with that
(and it's called from gen_finalize_code() *after* the local symtable
of the current procedure has been allocated, and therefore the
make_not_regable() call of the generated addrnode doesn't do anything)
git-svn-id: trunk@5414 -
2006-11-17 12:06:20 +00:00
Károly Balogh
eb01d935d3
- typo fix
...
git-svn-id: trunk@5397 -
2006-11-15 23:10:49 +00:00
yury
d8d25c2489
* fixed memory leaks in compiler.
...
git-svn-id: trunk@5369 -
2006-11-14 09:32:58 +00:00
peter
9ae8e9fa21
* refactor tclassheader in tvmtbuilder and tvmtwriter
...
* fix rtti generation
* rtti is now written at the end of a module when all info is available,
this prevents some duplicate rtti entries cause by inheritance
git-svn-id: trunk@5363 -
2006-11-13 22:03:17 +00:00
peter
13f359aa80
* resultname changed to pshortstring
...
git-svn-id: trunk@5295 -
2006-11-09 07:43:13 +00:00
florian
7781e842fc
* varset support fixed
...
git-svn-id: trunk@5294 -
2006-11-08 22:48:44 +00:00
peter
e96b5f0152
* also use typename in rtti label for staticsymtable
...
git-svn-id: trunk@5291 -
2006-11-08 21:38:24 +00:00
florian
42a3ed4ac0
* copy savesize for procvardefs as well
...
git-svn-id: trunk@5282 -
2006-11-07 22:00:33 +00:00
florian
08f72e02f4
+ copying of procedure variable defs
...
git-svn-id: trunk@5277 -
2006-11-07 19:20:12 +00:00
florian
a13d358f1e
* first partially working implementation of variant com invoking
...
git-svn-id: trunk@5247 -
2006-11-05 15:34:15 +00:00
peter
3cae449fda
* moved rtti to ncgrtti
...
git-svn-id: trunk@5219 -
2006-11-04 10:43:27 +00:00
peter
658c46b903
* remove tdictionary and tindexarray
...
* symtables based on TFPHashObjectList and TFPObjectList
* rename torddef.typ to torddef.ordtype
* rename tfloatdef.typ to tfloatdef.floattype
* rename tdef.deftype to tdef.typ
* remove obsolete browser code, browcol is kept so the ide
can still be compiled
git-svn-id: trunk@5192 -
2006-11-03 00:30:30 +00:00
peter
136d3e8d46
* refactor implemented interfaces
...
git-svn-id: trunk@5134 -
2006-10-31 22:38:49 +00:00
peter
cb246eb781
* Remove dos,strings units, use SysUtils instead
...
* replace split* functions with Extract* functions
* Add Directory caching
git-svn-id: trunk@5102 -
2006-10-30 23:29:35 +00:00
florian
bce905b106
* give correct error locations for errors when specializing templates
...
* removed more germanisms
* better dumping of tokenbuf in ppudump
git-svn-id: trunk@5101 -
2006-10-30 23:28:06 +00:00
florian
ef7bd58c54
* germanism removed (aktfilepos -> current_filepos)
...
git-svn-id: trunk@5099 -
2006-10-30 22:37:31 +00:00
florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
d27fda4b01
* fix rtti for overriden properties
...
git-svn-id: trunk@5079 -
2006-10-29 23:20:00 +00:00
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
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
daniel
c0b4678873
* Rename unit crc to fpccrc to avoid name conflict in packages
...
git-svn-id: trunk@1856 -
2005-12-01 16:45:44 +00:00
florian
c43e2df522
* copying of classes fixed, closes 3930
...
git-svn-id: trunk@1791 -
2005-11-20 09:11:23 +00:00
olle
5bf628a72e
bugfix, inherited reset was not called
...
git-svn-id: trunk@1724 -
2005-11-12 00:37:45 +00:00
florian
7be36096f0
+ proper init rtti for proc. vars
...
git-svn-id: trunk@1479 -
2005-10-18 20:05:56 +00:00
peter
59a26e4f68
* fixed interface name mapping
...
git-svn-id: trunk@1443 -
2005-10-17 16:02:44 +00:00
peter
6e60c8a92b
* move stab number reset to dbgstabs
...
git-svn-id: trunk@1442 -
2005-10-17 15:02:15 +00:00
peter
51b8a4a132
* move stabs generation to a single procedure call from pmodules
...
git-svn-id: trunk@1358 -
2005-10-12 10:35:46 +00:00
florian
1066eb1cb3
* on cpus requiring proper alignment, shortstrings are to two byte boundaries aligned
...
git-svn-id: trunk@1319 -
2005-10-07 19:17:09 +00:00
peter
89297d2c39
* move all stabs ($ifdef gdb) code to dbgstabs
...
git-svn-id: trunk@1255 -
2005-10-02 11:17:05 +00:00
peter
ec4d287fd8
* aktoutputformat removed, add new paraXX vars for target
...
assembler and debuginfo and use these vars to override
the defaults for the target after the parameters are read
* remove not-maintained and tested gdb code
git-svn-id: trunk@1201 -
2005-09-25 21:17:37 +00:00
peter
6bf3269b41
* powerpc64 port from Thomas Schatzl
...
git-svn-id: trunk@1193 -
2005-09-25 17:19:44 +00:00
peter
a3ab2053c9
* support multiple asmlabel types, renamed getlabel to
...
getjumplabel and added type para to getlabel for specific types
* moved lineinfo generation from assemble and aggas to dbgstabs
git-svn-id: trunk@1120 -
2005-09-18 21:16:10 +00:00
peter
89d4cc68c0
* hack to workaround an IE with forward classes were
...
a child class is declared before the parent class. Resulting
in the wrong order in the ppu
git-svn-id: trunk@1105 -
2005-09-17 23:26:21 +00:00
florian
adb193497d
+ softfloat support for wince
...
* more units are build for wince
git-svn-id: trunk@959 -
2005-08-28 12:40:43 +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
d05f58b604
* Group asmlists into array to be able to add
...
some of them more comfortably.
* x86_64 compilation was broken, fixed.
* Sparc compilation was broken, fixed.
git-svn-id: trunk@731 -
2005-07-23 13:44:32 +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
peter
24f6bb1594
* overload chaining checks if the procdef is in the same symtable, this
...
prevents keeping references to staticsymtable only procdefs that are
not accessible through the globalsymtable. And can cause crashes when
the staticsymtable is already released.
git-svn-id: trunk@644 -
2005-07-18 09:50:39 +00:00
florian
f0efddff9b
* fixed compilation on x86_64
...
git-svn-id: trunk@643 -
2005-07-18 09:28:58 +00:00
florian
fddf556098
+ writing of vartype for dyn. array rtti
...
git-svn-id: trunk@629 -
2005-07-15 21:04:50 +00:00
peter
627a3b53e8
* fix loading of enum subranges from ppu
...
git-svn-id: trunk@535 -
2005-06-30 07:13:42 +00:00
florian
b9b9ce059d
* compilation errors fixed
...
git-svn-id: trunk@531 -
2005-06-29 19:35:05 +00:00
florian
abbc85bb78
+ strict protected and strict private support
...
git-svn-id: trunk@512 -
2005-06-28 19:23:39 +00:00
florian
be9bd97532
* fixed interface rtti, fixes bug #4089
...
git-svn-id: trunk@423 -
2005-06-15 21:28:15 +00:00
florian
21ae782854
* fixed more xmm stuff
...
+ some win64 stuff added
git-svn-id: trunk@330 -
2005-06-09 20:50:17 +00:00
florian
ebcb69478f
* fixed a lot of stuff for fpu/mm register variables
...
git-svn-id: trunk@199 -
2005-06-04 21:23:15 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
florian
c044221818
* fixed alignment of objects and arrays in arrays, fixes bug #3971
...
git-svn-id: trunk@39 -
2005-05-21 07:39:44 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
florian
09b0fe36fb
+ made variant publishable
2005-05-07 16:43:02 +00:00
peter
3c6d74c4d9
* extended stabs use size of 10
2005-04-25 13:15:18 +00:00
florian
c5c6df8237
* class ref. properties can be published now
2005-04-03 15:20:42 +00:00
peter
3446cb0f2f
fix loading of inline info
2005-03-28 15:04:13 +00:00
Jonas Maebe
a5c94ddccd
* removed some unused variables
2005-03-25 21:55:43 +00:00
florian
7b56e65a4b
* fixed FieldAddress for 64 bit and CPUs requiring proper alignment
2005-03-13 08:34:58 +00:00
peter
100a47e6af
* fix protected checking
2005-03-07 17:58:27 +00:00
florian
534b11cfb1
* userdata in file/textrecs now 32 bytes
2005-02-26 15:42:45 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
florian
22d9294ab3
+ overflow checking for the arm
2005-02-13 18:55:19 +00:00
peter
eae47d058b
* implprocs requires no duplicate entries of the same procdef
2005-02-10 22:08:37 +00:00
florian
71679e0662
* type = type <procvar>; ignored
2005-02-02 19:02:47 +00:00
michael
ac1642de89
* Patch from peter: fix macpas anonymous function procvar
2005-02-01 08:46:13 +00:00
peter
4631658576
* add info that a procedure is local in error messages
2005-01-30 11:26:40 +00:00
peter
e820bc93f2
* interface wrapper generation moved to cgobj
...
* generate interface wrappers after the module is parsed
2005-01-24 22:08:32 +00:00
peter
8d251e8506
* unit mapping rewrite
...
* new derefmap added
2005-01-19 22:19:41 +00:00
florian
f20af0b344
* typeinfo in typedata is now aligned
2005-01-16 14:47:26 +00:00
peter
bb32ee0457
* fix interface vtbl optimization
...
* replace ugly pointer construct of ioffset()
2005-01-09 15:05:29 +00:00
florian
80af47489d
+ first batch of patches to support tdef.getcopy fully
2005-01-03 17:55:57 +00:00
florian
485b770322
* alignment fixes for sparc
2004-12-30 14:36:29 +00:00
florian
5fb0678de2
* fixed class field info alignment
2004-12-27 15:54:54 +00:00
peter
a266052fd9
* modified algorithm for shortening manglednames to fix compilation
...
of procedures with a lot of longtypenames that are equal, see
tw343
2004-12-07 15:41:11 +00:00
michael
44bf61f445
* Convert array of widechar to pwidechar instead of pchar
2004-12-07 13:52:54 +00:00
peter
2b6456fe16
* procvar handling for tp procvar mode fixed
...
* proc to procvar moved from addrnode to typeconvnode
* inlininginfo is now allocated only for inline routines that
can be inlined, introduced a new flag po_has_inlining_info
2004-12-05 12:28:10 +00:00
peter
c2263a36ac
* int64 can also be put in a register
2004-12-03 15:57:39 +00:00
Jonas Maebe
bd04491f50
* patch from Peter to fix inlining of case statements
2004-11-30 18:13:39 +00:00
peter
8cf8c54609
* fixed varargs
...
* replaced dynarray with tlist
2004-11-22 22:01:19 +00:00
peter
2985766e9d
* manglednames for nested procedures include full parameters from
...
the parents to prevent double manglednames
2004-11-21 21:51:31 +00:00
peter
89b1b583c9
* ttempcreatenode.create_reg merged into .create with parameter
...
whether a register is allowed
* funcret_paraloc renamed to funcretloc
2004-11-21 17:54:59 +00:00
florian
18f7aa97dd
* changed funcret location back to tlocation
2004-11-21 17:17:03 +00:00
peter
29d3a94892
* fixed message methods
...
* fixed typo with win32 dll import from implementation
* released external check
2004-11-21 16:33:19 +00:00
peter
1687306d22
* make some checks EXTDEBUG only for now so linux cycles again
2004-11-17 22:41:41 +00:00
peter
14d25d278b
mangledname setting moved to place after the complete proc declaration is read
...
import generation moved to place where body is also parsed (still gives problems with win32)
2004-11-17 22:21:35 +00:00
peter
c4502aebe7
* _mangledname for symbols moved only to symbols that really need it
...
* overload number removed, add function result type to the mangledname fo
procdefs
2004-11-16 22:09:57 +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
0c7e53bb81
* fixed compile of powerpc,sparc,arm
2004-11-11 19:31:33 +00:00
peter
6458bd0ce1
* tvarsym splitted
2004-11-08 22:09:58 +00:00
florian
42e14b6825
+ additional extdebug check for wrong add_reg_instructions added
...
* too long manglednames are cut off at 200 chars using a crc
2004-11-06 17:44:47 +00:00
florian
7f89448cec
* vmt offset of objects is no properly aligned when necessary
2004-11-05 21:07:13 +00:00
peter
37139422aa
elecount also on 32bit needs the qword part to prevent overflow
2004-11-04 17:58:48 +00:00
peter
f4a7c3d444
fixed debuginfo for variables in staticsymtable
2004-11-04 17:09:54 +00:00
florian
926da4b9c9
* fixed writing of para locations for procedures with explicit locations for parameters
2004-11-03 09:46:34 +00:00
peter
9b00c7832e
* support > 32bit accesses for x86_64
...
* rewrote array size checking to support 64bit
2004-11-01 23:30:11 +00:00
florian
f0e07003be
* fixed type information for dyn. arrays on 64 bit systems
2004-11-01 15:33:12 +00:00
peter
c95a859f0a
* generic tlocation
...
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
peter
2e91bcf821
* align arraydef rtti
2004-10-26 15:02:33 +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
4f7667488b
* parameter regvar fixes
2004-10-10 21:08:55 +00:00
florian
b39c0af01b
* rtti alignment fixed
2004-10-04 21:23:15 +00:00
Tomas Hajny
85320d6787
* SetTextLineEnding implemented, FileRec.Name position alignment for CPU64
2004-09-21 23:36:51 +00:00
peter
33a834821f
* paraloc branch merged
2004-09-21 17:25:12 +00:00
peter
7e90a8a8ab
* restart sorting of enums when deref is called, this is needed when
...
a unit is reloaded
2004-09-14 16:33:17 +00:00
peter
d763f9e142
browser disabled
...
uf_local_symtable ppu flag when a localsymtable is stored
2004-08-27 21:59:26 +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
peter
8184ad2048
* fixed padding of records to alignment
2004-08-15 15:05:16 +00:00
florian
6368652be2
* fixed several sparc alignment issues
...
+ Jonas' inline node patch; non functional yet
2004-08-14 14:50:42 +00:00
florian
6ab93f5ec1
* fixed web bug #3226 : type p = type pointer;
2004-08-07 14:52:45 +00:00
florian
aba734edc9
* fixed funcret_paraloc writing in units
2004-07-19 19:15:50 +00:00
olle
4ad33f01b6
- removed unused types
2004-07-14 21:37:41 +00:00
Jonas Maebe
1563d986c5
* inline procedures at the node tree level, but only under some very
...
limited circumstances for now (only procedures, and only if they have
no or only vs_out/vs_var parameters).
* fixed ppudump for inline procedures
* fixed ppudump for ppc
2004-07-12 09:14:04 +00:00
peter
a939095dbe
* revert has_localst patch
...
* replace aktstaticsymtable/aktglobalsymtable with current_module
2004-07-09 22:17:31 +00:00
peter
60b53cb1c1
* fix storing of localst in ppu
2004-07-06 19:52:04 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
peter
0ac4983a9b
* remove obsolete cardinal() typecasts
2004-06-18 15:16:46 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
peter
5abb93e77d
* range check error
2004-05-25 18:51:14 +00:00
peter
74e8ba82da
* removed unused voidprocdef
2004-05-23 20:57:10 +00:00
peter
c96ba04d84
* fixed qword(longint) that removed sign from the number
...
* removed code in the compiler that relied on wrong qword(longint)
code generation
2004-05-23 15:23:30 +00:00
peter
fac96dd2ed
fix range check error when array size > maxlongint
2004-05-22 23:33:18 +00:00
florian
e8098f6b71
+ added lib support for Amiga/MorphOS syscalls
2004-05-01 22:05:01 +00:00
daniel
b721e5872c
* Prepare compiler infrastructure for multiple ansistring types
2004-04-29 19:56:36 +00:00
florian
a7478ee97f
+ location support for arguments, currently PowerPC/MorphOS only
2004-04-18 15:22:24 +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
olle
a7f25327f6
* change AT_FUNCTION to AT_DATA where appropriate
2004-03-18 11:43:57 +00:00
peter
297578a599
* valgrind doesn't like nested procedure info in stabs
2004-03-14 22:51:46 +00:00
peter
df18c0aa82
* don't write line numbers in stabs for defs
2004-03-14 20:06:40 +00:00
peter
37f3f95b59
* more stabs fixes
...
* special mode -gv for valgrind compatible stabs
2004-03-10 22:52:57 +00:00
peter
f8e067cadb
* first write parent classes
2004-03-09 22:18:22 +00:00
peter
d8c68fdfe0
* more stabs updates
2004-03-09 20:45:04 +00:00
peter
abbd54f334
* stabs updates to write stabs for def for all implictly used
...
units
2004-03-08 22:07:46 +00:00
peter
29c2944706
* fix hidden pointer for stabs
2004-03-03 22:01:44 +00:00
olle
4fecc1a56f
* big transformation of Tai_[const_]Symbol.Create[data]name*
2004-03-02 00:36:32 +00:00
peter
356b3378e8
* tai_const.create_ptr added
2004-02-26 16:16:38 +00:00
daniel
0750bd97e5
* Revert my latest change
2004-02-22 19:55:25 +00:00
daniel
efc644e349
* Fixed minor bug in Tenumdef.stabstring
2004-02-22 18:49:03 +00:00
florian
06a33abebd
* fixed arg. area calculation
2004-02-19 17:07:42 +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
Jonas Maebe
3056a64bf0
* fixed regvars support. Needs -doldregvars to activate. Only tested with
...
ppc, other processors should however only require maxregvars and
maxfpuregvars constants in cpubase.pas. Remember to take scratch-
registers into account when defining that value.
2004-02-08 18:08:59 +00:00
daniel
42f9b1b0e2
* Removed not very usefull nextglobal & previousglobal fields from
...
Tstoreddef, saving 78 kb of memory
2004-02-06 22:37:00 +00:00
florian
465aa5851b
* several fixes to compile x86-64 system
2004-02-05 01:24:08 +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
8caaa7740d
* more record alignment fixes
2004-01-28 22:16:31 +00:00
florian
4ccec73aa5
* fixed alignment of classes
2004-01-28 21:05:56 +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
daniel
3a3f65a364
* Fix string type stab generation. String constant still unsupported.
2004-01-27 10:29:32 +00:00
daniel
8bea12a84d
* Typo
2004-01-26 19:54:42 +00:00
daniel
5de754a2a1
* Try to recude stack usage of Tpointerdef.concatstabsto
2004-01-26 19:43:49 +00:00
daniel
97e87aaebc
* reginfo now also only allocated during register allocation
...
* third round of gdb cleanups: kick out most of concatstabto
2004-01-26 16:12:27 +00:00
daniel
60876a7c1a
* More gdb cleanup: make record & object stab generation linear instead
...
of quadratic.
2004-01-25 20:23:28 +00:00
daniel
2db2f4ac1b
* Made varags parameter constant
2004-01-25 13:18:59 +00:00
daniel
45ebe9b10b
* Last commit broke debug info for records. Fixed.
2004-01-25 12:37:15 +00:00
daniel
7a417defc8
* 2nd round of gdb cleanup
2004-01-25 11:33:48 +00:00
peter
861b7cd72e
* procvardef rtti fixed
2004-01-22 21:33:54 +00:00
peter
8f70c34b33
* enum value rtti is now in orginal case
2004-01-22 16:33:22 +00:00
florian
c37035a450
* common addnode code for x86-64 and i386
2004-01-20 12:59:36 +00:00
daniel
7a6b6f4bd4
* Some minor stuff
...
* Managed to eliminate speed effects of string compression
2004-01-15 15:16:17 +00:00
daniel
4a4b8f2a72
* Experiment: Compress strings to save memory
...
Did not save a single byte of mem; clearly the core size is boosted by
temporary memory usage...
2004-01-11 23:56:19 +00:00
Jonas Maebe
3413faf00d
* Darwin's assembler assumes that all labels starting with 'L' are local
...
-> rename symbols starting with 'L'
2004-01-04 21:10:04 +00:00
peter
6b3c925f64
* don't lowercase enumnames
2003-12-24 20:51:11 +00:00
florian
6d3d97e845
* first fixes to compile the x86-64 system unit
2003-12-24 01:47:22 +00:00
florian
b52cee6639
* fixed ppc inlining stuff
...
* fixed wrong unit writing
+ added some sse stuff
2003-12-21 19:42:42 +00:00
florian
2258e941af
+ inlined procedures inherit procinfo flags
2003-12-16 21:29:24 +00:00
marco
9b3b94883b
* always generate RTTI patch from peter
2003-12-12 12:09:40 +00:00
peter
84b1451a34
* tai_const.create_32bit changed to cardinal
2003-12-08 22:34:24 +00:00
peter
f663d2488f
* cross unit inlining fixed
2003-11-10 22:02:52 +00:00
florian
82b7c0c9cc
* tstoreddef.getcopy returns now an errordef instead of nil; this
...
allows easier error recovery
2003-11-08 23:31:27 +00:00
marco
094ab8b446
* fix from Peter arraysize warning (nav Newsgroup msg)
2003-11-05 14:18:03 +00:00
peter
aadc6dbf2b
* fix check for valid procdef in property rtti
2003-11-01 15:50:03 +00:00
peter
75e5a6e867
* procsym.deref derefs only own procdefs
...
* reset paracount in procdef.deref so a second deref doesn't increase
the paracounts to invalid values
2003-10-29 21:56:28 +00:00
peter
cac39ccfd4
* renamed mangeldname_prefix to make_mangledname and made it more
...
generic
* make_mangledname is now also used for internal threadvar/resstring
lists
* Add P$ in front of program modulename to prevent duplicated symbols
at assembler level, because the main program can have the same name
as a unit, see webtbs/tw1251b
2003-10-29 19:48:50 +00:00
peter
4a1ecb07d1
* splitted buildderef and buildderefimpl to fix interface crc
...
calculation
2003-10-23 14:44:07 +00:00
peter
6878c55c80
* write derefdata in a separate ppu entry
2003-10-22 20:39:59 +00:00
peter
34d0dff840
* fix counting of parameters when loading ppu
2003-10-21 18:14:49 +00:00
peter
0939085ab1
* commented out more obsolete constants
2003-10-17 15:08:34 +00:00
peter
ec2e200e42
* fixed ppc build
2003-10-17 14:52:07 +00:00
peter
d0de3b3ea8
* 64k registers supported
...
* fixed some memory leaks
2003-10-17 14:38:32 +00:00
peter
303b5252e4
* removed is_visible_for_proc
...
* search also for class overloads when finding interface
implementations
2003-10-13 14:05:12 +00:00
florian
1df13c788c
* fixed some MMX<->SSE
...
* started to fix ppc, needs an overhaul
+ stabs info improve for spilling, not sure if it works correctly/completly
- MMX_SUPPORT removed from Makefile.fpc
2003-10-11 16:06:42 +00:00
peter
fb81b7ebbb
* old trgobj moved to x86/rgcpu and renamed to trgx86fpu
...
* tregisteralloctor renamed to trgobj
* removed rgobj from a lot of units
* moved location_* and reference_* to cgobj
* first things for mmx register allocation
2003-10-10 17:48:13 +00:00
peter
c56c47fbc0
* Add calling convention in fullprocname when it is specified
2003-10-07 20:43:49 +00:00
peter
625de786dc
* tsymlist.def renamed to tsymlist.procdef
...
* tsymlist.procdef is now only used to store the procdef
2003-10-07 16:06:30 +00:00
florian
6684d2c520
+ added basic olevariant support
2003-10-06 22:23:41 +00:00
peter
da9f5e2319
* c style array of const generates callparanodes
...
* varargs paraloc fixes
2003-10-05 21:21:52 +00:00
peter
4a4c5a6df2
* don't write procdefs that are released to ppu
2003-10-05 12:56:35 +00:00
peter
3a92a2a25a
* parameter alignment fixes
2003-10-03 22:00:33 +00:00
peter
00801693bb
* protected visibility fixes
2003-10-02 21:13:46 +00:00
peter
70fe77ca7c
* procinfo unit contains tprocinfo
...
* cginfo renamed to cgbase
* moved cgmessage to verbose
* fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
florian
d85e1a9bf4
* para items are now reversed for pascal calling conventions
2003-10-01 16:49:05 +00:00
florian
8463d2444f
* fixed FullProcName to handle constructors, destructors and operators correctly
2003-10-01 15:32:58 +00:00
peter
c348bd5a68
* don't write parast,localst debug info for externals
2003-10-01 15:00:02 +00:00
peter
d3063f722c
* connect parasym to paraitem
2003-09-23 21:03:35 +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
peter
b9d09a4e5c
* preparations for different default calling conventions
...
* various RA fixes
2003-09-07 22:09:34 +00:00
florian
f3e9e7a24f
* fixed web bug #2669
...
* cosmetic fix in printnode
* tobjectdef.gettypename implemented
2003-09-06 22:27:08 +00:00
peter
6a8d5eb25d
* NEWRA branch merged
2003-09-03 15:55:00 +00:00
florian
220e05dd5e
* fixed arm concatcopy
...
+ arm support in the common compiler sources added
* moved some generic cg code around
+ tfputype added
* ...
2003-09-03 11:18:36 +00:00
peter
52c73e80d1
* start of sparc support for newra
2003-08-11 21:18:20 +00:00
peter
09ed47cba6
* don't allow add/assignments for formaldef
...
* formaldef size changed to 0
2003-07-08 15:20:56 +00:00
Jonas Maebe
f909d6a620
* fixed ppc compilation problems and changed VOLATILE_REGISTERS for x86
...
so that it doesn't include ebp and esp anymore
2003-07-06 21:50:33 +00:00