Jonas Maebe
31fcd93a1c
* replace can now also insert strings > 255 chars in ansistrings
...
git-svn-id: trunk@5327 -
2006-11-11 10:23:27 +00:00
Jonas Maebe
7135772aa0
+ ansistring overload of maybequoted
...
git-svn-id: trunk@5324 -
2006-11-10 23:46:30 +00:00
peter
b7cb804c50
* gettoken add support for " quotes
...
git-svn-id: trunk@5244 -
2006-11-05 13:27:12 +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
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
peter
4aa3ac3ebe
* call freemem without size
...
git-svn-id: trunk@4972 -
2006-10-18 21:22:28 +00:00
Almindor
85bb8872be
* fixes windows linking/preprocessor (doesn't seem to understand "") and makes the code a bit cleaner
...
git-svn-id: trunk@4797 -
2006-10-04 21:11:57 +00:00
Almindor
2978e6661a
* adds additional "quote" checks to maybequoted function for various chars in names
...
git-svn-id: trunk@4792 -
2006-10-04 18:15:49 +00:00
Jonas Maebe
b50841bfce
* more efficient temp allocation, in particular in case many small temps
...
are allocated at irregular intervals in between larger allocations
(reduces stack usage of taddnode.det_resulttype on darwin/i386 from
11+kb to 868 bytes; no effect on Darwin/ppc, and a few small
improvements on linux/i386)
git-svn-id: trunk@4640 -
2006-09-17 20:49:48 +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
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
c7401a1d80
* CompareStr, needed for Sort routines
...
git-svn-id: trunk@3981 -
2006-06-27 19:26:28 +00:00
peter
17bc033747
Merged revisions 2791-2793,2798-2800,2806-2825,2829-2830,2833,2839,2898 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2791 | peter | 2006-03-06 14:57:20 +0100 (Mon, 06 Mar 2006) | 3 lines
* disable internal linker if -s is used
* enable section smartlink by default for internal linker
........
r2792 | peter | 2006-03-06 14:58:23 +0100 (Mon, 06 Mar 2006) | 2 lines
* support long sectionnames
........
r2793 | peter | 2006-03-06 15:04:12 +0100 (Mon, 06 Mar 2006) | 2 lines
* register symbols in section also when reading .o files
........
r2798 | peter | 2006-03-07 10:08:07 +0100 (Tue, 07 Mar 2006) | 2 lines
* symbolrefs need to be loaded from relocations when loading a .o
........
r2799 | peter | 2006-03-07 16:17:52 +0100 (Tue, 07 Mar 2006) | 3 lines
* remove unreferenced sections
* set stacksize in peopthaeder
........
r2800 | peter | 2006-03-07 17:02:46 +0100 (Tue, 07 Mar 2006) | 2 lines
* objsection.fullname added
........
........
r2807 | peter | 2006-03-08 08:18:04 +0100 (Wed, 08 Mar 2006) | 2 lines
* powerpc64 fixes
........
r2808 | peter | 2006-03-08 08:35:53 +0100 (Wed, 08 Mar 2006) | 2 lines
* register x86_64_pecoff
........
r2809 | peter | 2006-03-08 11:26:38 +0100 (Wed, 08 Mar 2006) | 2 lines
* optimize and cleanup matches()
........
r2810 | peter | 2006-03-08 12:25:28 +0100 (Wed, 08 Mar 2006) | 2 lines
* small tweak to readdata to copy values direct without calling move()
........
r2811 | peter | 2006-03-08 15:55:21 +0100 (Wed, 08 Mar 2006) | 2 lines
* compile fix
........
........
........
........
........
........
r2817 | peter | 2006-03-09 14:20:52 +0100 (Thu, 09 Mar 2006) | 2 lines
* more readable with long secnames
........
........
........
........
........
........
........
........
r2825 | peter | 2006-03-10 09:52:05 +0100 (Fri, 10 Mar 2006) | 2 lines
* don't initialize/finalize external variables
........
r2829 | peter | 2006-03-10 10:58:08 +0100 (Fri, 10 Mar 2006) | 2 lines
* merge 64bit assembler
........
r2830 | peter | 2006-03-10 12:25:08 +0100 (Fri, 10 Mar 2006) | 2 lines
* TElfAssembler rename
........
r2833 | peter | 2006-03-10 15:22:27 +0100 (Fri, 10 Mar 2006) | 3 lines
* support & prefix to force identifier parsing, used to access fields that
have the names of a register
........
r2839 | peter | 2006-03-10 19:37:11 +0100 (Fri, 10 Mar 2006) | 2 lines
* merge stabs section flags
........
r2898 | peter | 2006-03-12 23:18:18 +0100 (Sun, 12 Mar 2006) | 2 lines
* reorder instructions for better first match
........
git-svn-id: trunk@2902 -
2006-03-13 09:29:57 +00:00
peter
0a0659da77
* compile fixes
...
git-svn-id: trunk@2826 -
2006-03-10 09:39:08 +00:00
florian
5ece7cbc2f
* first part of x86-64 assembler
...
git-svn-id: trunk@2824 -
2006-03-09 22:05:16 +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
tom_at_work
60345fa78a
* removed hexstr(), already in RTL (and even supports 64 bit integers)
...
git-svn-id: trunk@2232 -
2006-01-08 18:01:34 +00:00
Jonas Maebe
a8ea851999
* changed min and max so more efficient code is generated for them
...
git-svn-id: trunk@2209 -
2006-01-07 16:36:04 +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
daniel
d57c048696
* Remove ifdef 1_0
...
* Add expirimental 32-bit x86_64 target to systems
git-svn-id: trunk@729 -
2005-07-23 08:37:26 +00:00
michael
7449f99d5f
+ Removed all compatibility defines from compiler
...
git-svn-id: trunk@335 -
2005-06-09 21:14:22 +00:00
florian
9c717f2a35
* some warning about uninitialized vars fixed by using out instead of var
...
git-svn-id: trunk@141 -
2005-05-29 15:18:30 +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
Tomas Hajny
b4304d6fe1
* DeleteFile replaced with RemoveFile to avoid duplicate
2005-04-23 14:15:58 +00:00
michael
55e76063df
* Fix methodpointer copy from callnode to loadnode
2005-04-06 11:49:37 +00:00
peter
abb3f82ceb
* getheapstatus fixes
2005-03-04 16:49:22 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
79c20ebf7d
* use val() for decoding integers
2005-01-20 17:05:53 +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
mazen
581b52422c
- remove $IFDEF DELPHI and related code
...
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
mazen
573ff47a1e
* use SysUtils unit instead of Dos Unit
...
+ overload Replace to use AnsiString
2004-10-14 14:55:12 +00:00
peter
d99a5f58f3
* range check error in swapint64
2004-09-21 20:32:40 +00:00
peter
c336f79bab
* for-loop variable access removed
2004-09-13 20:26:45 +00:00
olle
883dfac48d
+ added proc DePascalQuote
2004-08-31 21:44:18 +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
fac96dd2ed
fix range check error when array size > maxlongint
2004-05-22 23:33:18 +00:00
florian
aae508c277
+ arm floating point register saving implemented
...
* hopefully stabs generation for MacOSX fixed
+ some defines for arm added
2004-03-29 19:19:35 +00:00
michael
ebec652408
+ Patch from peter for stack overflow
2004-03-22 09:28:34 +00:00
florian
fabb9c33ac
* top_symbol killed
...
+ refaddr to treference added
+ refsymbol to treference added
* top_local stuff moved to an extra record to save memory
+ aint introduced
* tppufile.get/putint64/aint implemented
2004-02-27 10:21:04 +00:00
daniel
ca593dede2
* Escape newlines in constant string stabs
2004-02-22 22:13:27 +00:00
daniel
3dfde8c397
* Bugfix on constant strings stab generation. Never worked and still
...
doesn't work for unknown reasons.
2004-01-26 22:08:20 +00:00
daniel
2db2f4ac1b
* Made varags parameter constant
2004-01-25 13:18:59 +00:00
daniel
7a417defc8
* 2nd round of gdb cleanup
2004-01-25 11:33:48 +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
peter
bd96bacd81
* USEINLINE directive added (not enabled yet)
2003-10-31 15:51:11 +00:00
peter
6a8d5eb25d
* NEWRA branch merged
2003-09-03 15:55:00 +00:00
Jonas Maebe
024590b0fa
* fixed some range check errors that occurred on big endian systems
...
* slightly optimized the swap*() functions
2003-07-05 20:06:28 +00:00
peter
3c5e8e2b07
* quote names with hi-ascii chars
2003-04-04 15:34:25 +00:00
peter
91b50bdf37
* realtostr added
2003-01-09 21:42:27 +00:00
peter
d4ce393336
* support quotes in gettoken
2002-12-27 18:05:27 +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
peter
20af604613
* memdebug enhancements
2002-09-05 19:29:42 +00:00
Jonas Maebe
185fa10345
* fixed (actual and potential) range errors
2002-07-26 11:16:35 +00:00
carl
3232d937be
* range check error fix (patch from Sergey)
2002-07-07 11:13:34 +00:00
florian
07783d2a0d
* powerpc target fixed, very simple units can be compiled
...
* some basic stuff for better callparanode handling, far from being finished
2002-07-07 09:52:32 +00:00
peter
4285e99853
* internal linker
...
* reorganized aasm layer
2002-07-01 18:46:20 +00:00
peter
06ebac4e27
* readded missing revisions
2002-05-18 13:34:04 +00:00
carl
21b3a10f02
+ defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
...
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c
* removed old logs and updated copyright year
2002-05-14 19:34:38 +00:00
carl
2b00253b7b
+ more documentation of basic unit
2002-04-12 17:16:35 +00:00
peter
5b242f7741
* tlocation,treference update
...
* LOC_CONSTANT added for better constant handling
* secondadd splitted in multiple routines
* location_force_reg added for loading a location to a register
of a specified size
* secondassignment parses now first the right and then the left node
(this is compatible with Kylix). This saves a lot of push/pop especially
with string operations
* adapted some routines to use the new cg methods
2002-04-02 17:11:27 +00:00
peter
faf78ea813
* overloading supported in child classes
...
* fixed parsing of classes with private and virtual and overloaded
so it is compatible with delphi
2001-11-18 18:43:13 +00:00
Jonas Maebe
b81a4bb773
* ispowerf2 now works with 64bit ints and should be faster
2001-09-05 15:20:26 +00:00
peter
5ecf1a62b2
* browcol has no depends on ide/fv
2001-08-04 11:06:29 +00:00
peter
c4b84ce276
* m68k updates from v10 merged
2001-07-30 20:59:27 +00:00
peter
b10e754536
* alignmentinfo record added
...
* -Oa argument supports more alignment settings that can be specified
per type: PROC,LOOP,VARMIN,VARMAX,CONSTMIN,CONSTMAX,RECORDMIN
RECORDMAX,LOCALMIN,LOCALMAX. It is possible to set the mimimum
required alignment and the maximum usefull alignment. The final
alignment will be choosen per variable size dependent on these
settings
2001-07-01 20:16:15 +00:00
peter
e24474d9ac
* -Ur switch (merged)
...
* masm fixes (merged)
* quoted filenames for go32v2 and win32
2001-06-18 20:36:23 +00:00
Jonas Maebe
d5526ff45c
* range check error fixes from Peter
2001-05-09 14:11:10 +00:00
peter
0c0c01980f
+ cstreams unit
...
* dynamicarray object to class
2000-12-24 12:25:31 +00:00
pierre
9353c89710
+ int64tostr function added
2000-11-28 00:17:43 +00:00
peter
57b50bdc14
* use tables for upper/lower
2000-11-07 20:47:35 +00:00
peter
a71e44ac49
* use defines.inc
2000-09-24 15:06:10 +00:00
peter
4c94659743
* moved some util functions from globals,cobjects to cutils
...
* splitted files into finput,fmodule
2000-08-27 16:11:48 +00:00