Commit Graph

196 Commits

Author SHA1 Message Date
Jonas Maebe
226b0268e8 * savefpuexceptions directive renamed to safefpuexceptions
git-svn-id: trunk@7017 -
2007-03-28 18:05:40 +00:00
florian
fb1afe0ea4 + set FPU* define properly
git-svn-id: trunk@6785 -
2007-03-11 17:16:23 +00:00
Legolas
96e1c482bc * compiler part of first Nintendo DS port
git-svn-id: trunk@5592 -
2006-12-14 17:32:16 +00:00
florian
d47dc38f2c * ignore PIC directive on windows and warn about it
git-svn-id: trunk@5479 -
2006-11-25 22:58:52 +00:00
peter
55f9758c25 * only add resext if no extension was specified
* default resext for windows changed to .res

git-svn-id: trunk@5193 -
2006-11-03 08:51:23 +00:00
peter
242113b873 * fix * support for resources
git-svn-id: trunk@5149 -
2006-11-01 15:53:13 +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
85d63d9fa9 * settings refactored
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
0bb22a2d17 * don't generate fwait by default anymore
* SAVEFPUEXCEPTIONS switch added to enable fwait inserts

git-svn-id: trunk@4733 -
2006-09-26 19:22:45 +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
peter
d0156354a6 * inline directive enabled by default for fpc,objfpc,delphi modes
* -Si and $inline directive control are now local switches and 
    have finer control on whether a function will really inlined or not

git-svn-id: trunk@4553 -
2006-09-04 19:54:21 +00:00
Jonas Maebe
441d5a3c12 * use constant called C_alignment instead of -1 to denote C-style
packrecords

git-svn-id: trunk@4477 -
2006-08-20 16:37:10 +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
florian
57f097a710 * made dir_warn code more clear, no implementation yet
git-svn-id: trunk@4200 -
2006-07-14 21:45:21 +00:00
florian
dc2bef3875 + implemented directives $setpeflags, $maxstacksize, $minstacksize and $imagebase, fixes #6349 and #6714
git-svn-id: trunk@3935 -
2006-06-25 10:22:42 +00:00
peter
e53cd4735a * replace * in $R with main source instead of modulename
git-svn-id: trunk@3845 -
2006-06-11 12:45:45 +00:00
Jonas Maebe
05540cad44 * give an error for {$calling } (i.e., when a procedure directive is
missing)

git-svn-id: trunk@3193 -
2006-04-12 07:58:25 +00:00
peter
2888a21593 * list supported optimization options in -i
* support $OPTIMIZATION and $O+

git-svn-id: trunk@2904 -
2006-03-13 11:17:56 +00:00
peter
b6e35a200e * rewrite of optimizer options
git-svn-id: trunk@2901 -
2006-03-13 09:05:50 +00:00
Jonas Maebe
5f3e0b5398 * link_allways -> link_always
git-svn-id: trunk@2594 -
2006-02-15 14:36:30 +00:00
peter
232555904e * symtablestack cleanup and rewrite
git-svn-id: trunk@2448 -
2006-02-05 22:24:18 +00:00
florian
4662a12fd5 * compilation for arm target fixed
git-svn-id: trunk@2408 -
2006-02-02 17:26:18 +00:00
Károly Balogh
b718d9ff37 + added framework code for AmigaOS/PPC syscall support
git-svn-id: trunk@2239 -
2006-01-09 08:58:30 +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
florian
1e4e857719 * apptype causes only a note on system not supporting apptype
git-svn-id: trunk@1827 -
2005-11-26 21:54:15 +00:00
florian
5c92126933 + $PIC module switch directive
git-svn-id: trunk@1740 -
2005-11-13 21:21:15 +00:00
florian
a6b00feb1e + warn directive is different fom warnings and warning
git-svn-id: trunk@1682 -
2005-11-06 20:09:28 +00:00
peter
252d90b691 * $CodeAlign directive added for fine tuning off alignment during code generation
git-svn-id: trunk@1489 -
2005-10-19 06:05:48 +00:00
peter
e23519c45b * support A1,A2,A4,A8 directives
git-svn-id: trunk@1488 -
2005-10-19 05:54:27 +00:00
florian
f916ea20b3 * patch from yury to warn about wrong warning of unsupported apptype
git-svn-id: trunk@1321 -
2005-10-08 08:17:35 +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
florian
6bc461dc61 * realmodulename must be used of course
git-svn-id: trunk@1181 -
2005-09-25 09:14:22 +00:00
florian
fa90e913df * don't lowercase resource file name in delphi mode
git-svn-id: trunk@1180 -
2005-09-25 08:48:13 +00:00
florian
d9f6a5a374 * support of apptype native for windows after a suggestion of Brian Bi
git-svn-id: trunk@977 -
2005-08-29 19:03:12 +00:00
michael
3392189fb0 + Implemented resources for ELF
git-svn-id: trunk@956 -
2005-08-28 09:35:35 +00:00
olle
438f229f52 * changed unknown align/enum warings into errors and also improved them
git-svn-id: trunk@582 -
2005-07-04 19:28:42 +00:00
florian
ec6d5ff211 + utf-8 support for string constants added
git-svn-id: trunk@428 -
2005-06-16 20:16:37 +00:00
florian
d01bde1a83 + $WARN directive implemented fixes bug #3939
git-svn-id: trunk@65 -
2005-05-22 11:57:24 +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
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
ad9d04f104 * removed $threading 2005-02-06 11:15:31 +00:00
peter
ea269120e5 * $COPERATORS added 2005-01-20 17:32:33 +00:00
peter
79c20ebf7d * use val() for decoding integers 2005-01-20 17:05:53 +00:00
peter
0050ff5ab9 * ignore more delphi directives 2005-01-18 15:44:43 +00:00
olle
7572f3a539 * rework of macro subsystem
+ exportable macros for mode macpas
2005-01-09 20:24:43 +00:00
Károly Balogh
5908985365 * more SysV call support stuff for MorphOS 2005-01-06 02:13:03 +00:00
Károly Balogh
088575dc32 + sysv style syscalls added for MorphOS 2005-01-04 17:40:33 +00:00
florian
b6199234eb * prepared for fpu mode depended define 2005-01-04 16:18:57 +00:00
peter
e009b39d8b * check extension of library if it needs to be linked static 2004-11-06 17:58:10 +00:00
peter
759c010f6a * -Ch for heapsize added again
* __heapsize contains the heapsize
2004-10-26 15:11:01 +00:00
peter
e7459f5466 * heap and heapsize removed
* checkpointer fixes
2004-10-25 15:38:41 +00:00
mazen
581b52422c - remove $IFDEF DELPHI and related code
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
armin
354004d803 * target netwlibc added (libc is preferred for newer netware versions) 2004-09-04 21:18:47 +00:00
olle
617eb1b118 + compiler directives which take filenames/paths, get these trimmed, and
also support quotes.
2004-08-31 22:07:04 +00:00
peter
1035b45833 * support $RESOURCE 2004-08-22 10:17:27 +00:00
olle
5a67308b98 + added directive LibExport for macpas, which does nothing atm 2004-08-16 11:34:25 +00:00
olle
e321ac764c * fixes compilation on 1.0.* 2004-07-06 09:41:46 +00:00
olle
ff36adb056 + macpas style: exit, cycle, leave
+ macpas compiler directive: PUSH POP
2004-07-05 21:49:43 +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
06448271ff * $message directive compatible with delphi 2004-05-19 23:29:56 +00:00
olle
717ca3489e * Performanceimprovement 2004-05-11 22:51:34 +00:00
olle
ec4743a83e + mode macpas: support for Apples align directives 2004-05-11 18:30:50 +00:00
olle
46451e4662 + added $APPTYPE TOOL for MPW tools on MacOS 2004-04-04 18:46:09 +00:00
peter
ba9f4a0703 * packrecords fixed for settings from $PACKRECORDS
* default packrecords now uses value 0 and uses info from aligment
    structure only, initpackrecords removed
2004-03-14 20:08:37 +00:00
peter
8caaa7740d * more record alignment fixes 2004-01-28 22:16:31 +00:00
florian
06442fa677 + $fputype directive support
+ single data type operations with sse unit
  * fixed more x86-64 stuff
2003-12-25 01:07:09 +00:00
florian
1af574ceca * assembler readers OOPed
+ typed currency constants
  + typed 128 bit float constants if the CPU supports it
2003-11-12 16:05:39 +00:00
florian
bbf7300a0c * Florian's culmutative nr. 1; contains:
- invalid calling conventions for a certain cpu are rejected
    - arm softfloat calling conventions
    - -Sp for cpu dependend code generation
    - several arm fixes
    - remaining code for value open array paras on heap
2003-11-07 15:58:32 +00:00
olle
6f78eac09f + support for a different set of compiler directives under $MODE MAC
+ added mac directives $SETC $IFC $ELSEC $ENDC
2003-09-17 22:30:19 +00:00
Tomas Hajny
8e7124f9f8 + emx target added 2003-03-23 23:11:17 +00:00
peter
c94fba5944 * OBJECTCHECKS added, equivalent of -CR
* WRITEABLECONST added, equivalent of $J
2003-01-03 21:25:01 +00:00
carl
857e2918ad * stricter version / revision checking (also remove some warnings) 2002-12-07 14:06:20 +00:00
mazen
1d381958d4 + module path is now passed to AddPath to fix relative unit path 2002-11-20 11:12:46 +00:00
peter
83dae76625 + $IMPLICITEXCEPTIONS switch to turn on/off generation of the
implicit exception frames for procedures with initialized variables
    and for constructors. The default is on for compatibility
2002-10-16 19:01:43 +00:00
peter
fb12ccee3b * threading switch, defines the symbol FPC_THREADING 2002-10-14 19:43:41 +00:00
carl
c68b2dfbee * rename swatoperands to swapoperands
+ m68k first compilable version (still needs a lot of testing):
      assembler generator, system information , inline
      assembler reader.
2002-08-13 18:01:50 +00:00
florian
eb2ca8d10f * rewrote the system handling 2002-07-26 21:15:37 +00:00
florian
4f7b35be5b + source code page support 2002-07-20 17:11:48 +00:00
florian
26351214da + Directive $EXTERNALSYM added, it is ignored for now 2002-07-16 15:37:58 +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
bd0fb2399d + wdosx target 2002-04-07 13:34:20 +00:00
peter
5e7a1e3729 * removed unused units
* use tlocation.size in cg.a_*loc*() routines
2002-04-04 19:05:54 +00:00
peter
887f6ba34c * removed obsolete chainprocsym and test_procsym code 2001-11-02 23:16:50 +00:00
peter
17d62feebe * $calling directive and -Cc commandline patch added
from Pavel Ozerski
2001-10-23 21:49:42 +00:00
peter
915b5cd7a9 * split constsym.value in valueord,valueordptr,valueptr. The valueordptr
is used for holding target platform pointer values. As those can be
    bigger than the source platform.
2001-09-02 21:18:28 +00:00
peter
fd8e5fa78c * palmos support from v10 merged 2001-08-19 11:22:22 +00:00
peter
634a68bf3e * merged netbsd start
* profile for win32
2001-08-07 18:47:12 +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
c430926744 * Align directive supports also values to be Kylix compatible. It's
strange because the help of kylix still shows only On and Off as
    possible values, so still support those. On means 4 bytes and Off
    means 1 byte alignment.
2001-06-03 20:20:27 +00:00
peter
652a4b8aaa * netware patches for copyright, screenname, threadname directives 2001-05-30 21:35:48 +00:00
peter
0c03535b5b * registration of targets and assemblers 2001-04-18 22:01:53 +00:00
peter
316523ca15 * easier registration of directives 2001-04-13 18:00:36 +00:00