florian
5826b9bdad
+ define cpunodefaultint
...
git-svn-id: trunk@10415 -
2008-03-01 20:31:56 +00:00
Jonas Maebe
f36e5411af
* split cpu64bit compiler define into
...
a) cpu64bitaddr, which means that we are generating a compiler which
will generate code for targets with a 64 bit address space/abi
b) cpu64bitalu, which means that we are generating a compiler which
will generate code for a cpu with support for 64 bit integer
operations (possibly running in a 32 bit address space, depending
on the cpu64bitaddr define)
All cpus which had cpu64bit set now have both the above defines set,
and none of the 32 bit cpus have cpu64bitalu set (and none will
compile with it currently)
+ pint and puint types, similar to aint/aword (not pword because that
that conflicts with pword=^word)
* several changes from aint/aword to pint/pword
* some changes of tcgsize2size[OS_INT] to sizeof(pint)
git-svn-id: trunk@10320 -
2008-02-13 20:44:00 +00:00
florian
bc73f9021c
Merged revisions 5891-10167,10169-10180 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/avr
........
r5891 | florian | 2007-01-11 17:30:12 +0100 (Do, 11 Jan 2007) | 2 lines
+ some initial work
........
r10170 | florian | 2008-02-03 11:02:04 +0100 (So, 03 Feb 2008) | 2 lines
* continued to work on avr port
........
r10180 | florian | 2008-02-03 15:29:30 +0100 (So, 03 Feb 2008) | 2 lines
+ a lot of skeleton code for avr added
........
git-svn-id: trunk@10186 -
2008-02-03 17:21:52 +00:00
Jonas Maebe
e81d4b737f
* give a build-time error when trying to cross-compile the compiler from
...
non-i386 to i386 because that will result in internalerrors later anyway
git-svn-id: trunk@8662 -
2007-09-27 13:22:51 +00:00
Jonas Maebe
4c1d540a21
* changed cpurequiresproperalignment from a compile-time define into
...
a target flag, since some kernels may be able to handle alignment
problems, and the alignment requirements may not be absolute (e.g. on
ppc64, only 8 byte values need alignment, and only to 4 byte boundaries)
-> linux/ppc64 has tf_requires_proper_alignment set in its target flags,
darwin/ppc64 hasn't
git-svn-id: trunk@6745 -
2007-03-06 16:10:56 +00:00
florian
3ce0e329bd
* varsets shouldn't be enabled in the compiler currently
...
git-svn-id: trunk@6175 -
2007-01-24 20:31:30 +00:00
florian
2579cd139f
+ support for sets with size 1 and 2
...
git-svn-id: trunk@6172 -
2007-01-24 20:06:56 +00:00
florian
876a3651d1
* varsets disabled completely for now
...
git-svn-id: trunk@5384 -
2006-11-14 21:43:29 +00:00
Jonas Maebe
f5d653a1fd
- disabled PACKSET for big endian systems since it breaks make cycle
...
(please first commit tests and wait till the results are known
before enabling new experimental features in the compiler itself)
git-svn-id: trunk@5322 -
2006-11-10 23:07:14 +00:00
florian
43ba7cfe6f
* correct name of set packing directive is PACKSET
...
git-svn-id: trunk@5313 -
2006-11-10 19:56:19 +00:00
florian
e619bd3235
* enabled SETALLOC=1 for the compiler
...
git-svn-id: trunk@5300 -
2006-11-09 20:46:11 +00:00
micha
12e8645889
* fix cross-compiling from i386/linux
...
git-svn-id: trunk@5186 -
2006-11-02 21:19:24 +00:00
micha
ad7d549965
+ implement pascal inline asm start/halt code for linux/i386
...
git-svn-id: trunk@5181 -
2006-11-02 16:58:41 +00:00
peter
d07f470b71
* remove ifdef fpc
...
git-svn-id: trunk@4819 -
2006-10-07 13:43:34 +00:00
florian
b94c4b0660
* fixed wrong elsif
...
git-svn-id: trunk@4629 -
2006-09-17 11:38:31 +00:00
florian
bfa6ec847a
* win64 can't grow the stack either so make $memory big enough
...
git-svn-id: trunk@4609 -
2006-09-10 20:34:19 +00:00
olle
05d6f0e94d
macos: added a fake sysutils for use by compiler, and fixed some tests
...
git-svn-id: trunk@4549 -
2006-09-03 22:30:37 +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
d69ad5d84d
* cleanup external/nolink options
...
git-svn-id: trunk@3375 -
2006-04-29 21:49:37 +00:00
florian
9e00f894a9
+ support for unaligned function
...
git-svn-id: trunk@3350 -
2006-04-29 11:15:29 +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
3681639a6a
- more PowerPC64 fixes; "Hello World" style programs can be compiled and run
...
git-svn-id: trunk@1209 -
2005-09-27 18:16:49 +00:00
peter
6bf3269b41
* powerpc64 port from Thomas Schatzl
...
git-svn-id: trunk@1193 -
2005-09-25 17:19:44 +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
florian
227b2c392a
+ cpumm for cpus having a mm register set
...
git-svn-id: trunk@563 -
2005-07-02 14:13:52 +00:00
florian
dac1050c11
+ mmx support revived, fixes bug #4106
...
git-svn-id: trunk@555 -
2005-07-02 11:53:51 +00:00
florian
44ff8e4426
* max. 256 MB stack on win32
...
git-svn-id: trunk@464 -
2005-06-21 20:05:40 +00:00
michael
7449f99d5f
+ Removed all compatibility defines from compiler
...
git-svn-id: trunk@335 -
2005-06-09 21:14:22 +00:00
peter
4ace790492
* remove $Log
...
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
florian
1323b56132
* USECMOV activated
2005-03-20 21:41:29 +00:00
Jonas Maebe
ec959955bd
* fixed generic jumps optimizer and enabled it for ppc (the label table
...
was not being initialised -> getfinaldestination always failed, which
caused wrong optimizations in some cases)
* changed the inverse_cond into a function, because tasmcond is a record
on ppc
+ added a compare_conditions() function for the same reason
2005-02-26 01:26:59 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
olle
e90d15bd5e
* fixed compilation on MacOS
2005-02-08 22:33:51 +00:00
florian
60e0494a74
* fixed morphos syscall
2004-11-14 16:26:29 +00:00
peter
bc59556a41
* $fpctarget expands to <cpu>-<os>
...
* allow * in middle of the path to support ../*/units/$fpctarget
2004-10-31 18:54:24 +00:00
florian
e04b172854
* fixed generic optimizer
...
* enabled generic optimizer for sparc
2004-10-30 15:21:37 +00:00
peter
498fce2317
* disable USE_SYSUTILS when compiled with 1.9.4 or 1.0.x
2004-10-14 18:29:22 +00:00
Jonas Maebe
28e0869e6f
- disabled oldregvars because it no longer compiles
2004-10-10 14:57:29 +00:00
florian
b39c0af01b
* rtti alignment fixed
2004-10-04 21:23:15 +00:00
peter
690f5e22d1
* x86_64 fixes
...
* cleanup of fpcdefs.icn
2004-09-21 19:59:51 +00:00
peter
33a834821f
* paraloc branch merged
2004-09-21 17:25:12 +00:00
florian
cf25a973f8
* fixed alignment of variant records
...
* more alignment problems fixed
2004-08-15 13:30: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
Jonas Maebe
b9f479001c
* enable regvars by default for PPC
2004-05-30 21:20:40 +00:00
florian
74501ae73f
* some alignment issues resolved
...
* compiler doesn't generate anymore instructions not supported by the linux fpe
2004-03-16 22:12:10 +00:00
mazen
f373bb419c
* $M directive renamed to $MEMORY : Long directive name
2004-03-10 11:55:22 +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
florian
abc41f1c3c
* several fixes to parameter handling on arm
2004-02-09 22:48:45 +00:00