Commit Graph

40613 Commits

Author SHA1 Message Date
nickysn
cd5255c147 + added startup code for the medium memory model
git-svn-id: trunk@24820 -
2013-06-08 22:41:43 +00:00
nickysn
5966cc088d * got rid of tpointerdef.update_savesize, overrode size instead
git-svn-id: trunk@24819 -
2013-06-08 21:23:16 +00:00
nickysn
6fdd48878f * adjust parameters of far procedures for the extra segment that's pushed on the stack by the far call instruction
git-svn-id: trunk@24818 -
2013-06-08 20:42:13 +00:00
nickysn
aa63efc27e * emit a far ret instruction in the exit code of far procedures
git-svn-id: trunk@24817 -
2013-06-08 20:40:50 +00:00
nickysn
a9c949e551 * the memory model const sets introduced in r24812 moved to i8086/cpuinfo.pas
git-svn-id: trunk@24816 -
2013-06-08 19:52:28 +00:00
nickysn
381c996e53 + added po_far to tprocoptions
git-svn-id: trunk@24815 -
2013-06-08 16:34:30 +00:00
nickysn
fcc84e5d96 + added the x86/*.pas files to ppc8086.lpi for easier access from the lazarus project inspector
git-svn-id: trunk@24814 -
2013-06-08 16:33:56 +00:00
nickysn
9eecec4910 + added const sets for the i8086 memory models based on the code and data model type
git-svn-id: trunk@24812 -
2013-06-08 14:36:12 +00:00
nickysn
54ec2f4b4b * makefiles updated after the msdos loader changes
git-svn-id: trunk@24810 -
2013-06-05 16:43:56 +00:00
nickysn
e28852d07d * prt0 startup code file for small model renamed to prt0s
git-svn-id: trunk@24809 -
2013-06-05 16:41:39 +00:00
nickysn
c124283a36 * msdos startup code for tiny and small memory models moved to a shared nasm include file to avoid code duplication
git-svn-id: trunk@24808 -
2013-06-05 16:38:01 +00:00
pierre
55252e82f2 Remove readln and add mode delphi
git-svn-id: trunk@24807 -
2013-06-05 15:42:46 +00:00
marco
2a09070108 * add INVALID_FILE_SIZE mentioned on Lazarus list.
git-svn-id: trunk@24806 -
2013-06-05 13:23:10 +00:00
michael
6411d31787 * Changed sharing mode
git-svn-id: trunk@24805 -
2013-06-04 15:48:42 +00:00
yury
7e5af23ace * Android: There are cases when libc "environ" var may be NULL. Check for such case and provide fake valid environment. Bug #24519.
git-svn-id: trunk@24804 -
2013-06-04 15:21:29 +00:00
lacak
b7d5ed4bd7 fcl-db: sqldb: Some SQLConnections does not support statement [un]preparation, so let them do cleanup f.e. cancel pending queries and/or free resultset when dataset is closed.
git-svn-id: trunk@24803 -
2013-06-04 10:11:38 +00:00
lacak
c5cf5b5b2f fcl-db: bufdataset: Fix wrong initialization of OrgBufID in new blob buffer.
git-svn-id: trunk@24802 -
2013-06-04 05:47:36 +00:00
nickysn
4cd26988ad + added prt0t.o (loader for i8086-msdos tiny memory model) to the makefiles
git-svn-id: trunk@24801 -
2013-06-03 21:11:45 +00:00
sergei
2868a30cce + Added mips32r2 opcodes needed for pic32.
* Output registers of type R_SPECIALREGISTER as numbers.
+ For MTC0/MFC0 instructions, set type of first operand to R_SPECIALREGISTER, since it designates a coprocessor register.

git-svn-id: trunk@24799 -
2013-06-03 20:01:30 +00:00
sergei
cc8772cf92 * sizeof(x), typeof(x): if "x" is typenode, request GOT for PIC because a global VMT label will be loaded.
* typeinfo(x): transform into rttinode (which does request GOT) during pass 1, so pass 2 is not needed. 

git-svn-id: trunk@24798 -
2013-06-03 18:07:32 +00:00
lacak
b17cdf4e09 fcl-db: bufdataset: use call to FreeBlobBuffers instead of separate Freemem+Dispose
git-svn-id: trunk@24797 -
2013-06-03 10:56:31 +00:00
lacak
f520795cfe fcl-db: formatting (unification char-case)
git-svn-id: trunk@24796 -
2013-06-03 06:43:35 +00:00
lacak
299938e784 fcl-db: sqldb: FSelectable must be set to true by default, to work for TSQLConnections which does not provide information about statement (if there will be resultset) at preparation stage.
git-svn-id: trunk@24795 -
2013-06-03 06:29:51 +00:00
paul
fa0d5bb66e rtl: add tkBool into TTypeData case (issue #0024538)
git-svn-id: trunk@24794 -
2013-06-03 00:59:23 +00:00
nickysn
b409d600ee + implemented the tiny memory model for i8086-msdos; we now produce working dos .com files as well
git-svn-id: trunk@24793 -
2013-06-02 23:02:10 +00:00
Jeppe Johansen
f3273fa87d Optimize Add/Sub+Ldr/Str by using preindexed references
git-svn-id: trunk@24789 -
2013-06-02 21:51:12 +00:00
joost
f8a6ddd460 * Fixed paths in fpmake.pp files
git-svn-id: trunk@24787 -
2013-06-02 21:20:14 +00:00
joost
07325e2b80 * fpcres depends on paszlib
git-svn-id: trunk@24786 -
2013-06-02 21:07:24 +00:00
joost
53d1a08e03 * Do not use an underscore in the directory-names of winunits-base and -jedi
git-svn-id: trunk@24784 -
2013-06-02 18:16:10 +00:00
joost
df4191acb3 * Handle the location of each package at run-time, not at compilation time
* Added a fpmake.pp in the root, to compile the utils and packages in one go

git-svn-id: trunk@24783 -
2013-06-02 17:55:23 +00:00
Jeppe Johansen
2d823452b7 The scheduler pass of the ARM optimizer left markers in the instruction list, which could prevent further peephole optimizations
git-svn-id: trunk@24781 -
2013-06-02 16:37:41 +00:00
nickysn
7edabc64e6 * rm support for Mem without segment on i8086
git-svn-id: trunk@24780 -
2013-06-02 16:20:26 +00:00
nickysn
dd0d2d6bf5 * fixed the spurious compiler warnings and added proper rangechecking when using Mem[] on i8086
git-svn-id: trunk@24779 -
2013-06-02 15:18:05 +00:00
Jeppe Johansen
570b40faed Signed modulus by 2 on ARM with no division is optimized to a series of instructions instead of calling fpc_mod_longint.
An ASR is removed from signed division by 2.

git-svn-id: trunk@24778 -
2013-06-02 14:44:06 +00:00
Jonas Maebe
7f2750f188 * missing part of r24776, using a build server also has pitfalls :/
git-svn-id: trunk@24777 -
2013-06-02 14:35:29 +00:00
Jonas Maebe
9938169d2c * don't use the paracgsize in get_paraloc_def(), because it generally
contains the tcgsize of the entire parameter rather than only of
    what is left (-> calculate it from the remaining parameter length)

git-svn-id: trunk@24776 -
2013-06-02 14:05:07 +00:00
Károly Balogh
e3594452b5 implemented FileGetDate for MorphOS, based on FileAge implementation
git-svn-id: trunk@24775 -
2013-06-02 14:03:24 +00:00
nickysn
c867fb14dd + implemented dos.exec on i8086-msdos
git-svn-id: trunk@24774 -
2013-06-02 13:42:29 +00:00
Tomas Hajny
d066a78559 * fix breakage after writestr changes in r23888
git-svn-id: trunk@24773 -
2013-06-02 13:39:32 +00:00
michael
998da11ecd * Script to test for memory leaks
git-svn-id: trunk@24771 -
2013-06-02 13:16:15 +00:00
michael
98c9425c8b * Fix memory leaks in tests
git-svn-id: trunk@24770 -
2013-06-02 13:14:41 +00:00
michael
b5dff9b917 * Fix some memory leaks (not all: see AppendDeleteCancelUpd)
git-svn-id: trunk@24769 -
2013-06-02 13:13:54 +00:00
michael
ff1c478ba4 * Fix some memory leaks (not all: see AppendDeleteCancelUpd)
git-svn-id: trunk@24768 -
2013-06-02 13:13:42 +00:00
sergei
4e873d0561 + Determine early (before pass 2) whether managed parameters/locals/temps will cause the procedure to reference RTTI labels and, therefore, need GOT.
+ trttinode also sets pi_needs_got flag.

git-svn-id: trunk@24767 -
2013-06-02 13:09:47 +00:00
nickysn
75451181c9 * fixed the passing of the extended floating type parameters on i8086 after r24761
git-svn-id: trunk@24766 -
2013-06-02 12:03:16 +00:00
Károly Balogh
60879c9c4f also return the colon for ExtractFileDrive on Amiga/MorphOS
git-svn-id: trunk@24765 -
2013-06-02 11:37:29 +00:00
sergei
4b820a1ca5 - Removed tcgloadnode.generate_picvaraccess, it is never used and is not necessary because PIC stuff is handled at lower levels.
git-svn-id: trunk@24764 -
2013-06-02 10:49:17 +00:00
Jonas Maebe
109317e460 + full support for parameter passing in the high level code generator
(equivalent to what exists in tcgobj)
   o unfortunately it can't be generally enabled for all existing targets
     by overriding/disabling the tcgobj equivalents, because several targets
     call these methods inside other tcgcpu methods and we can't call the high
     level code generator methods from the low level code generator (so right
     now there's quite a bit of code duplication)

git-svn-id: trunk@24763 -
2013-06-02 10:24:13 +00:00
Jonas Maebe
7d9f98e516 + def_cgmmsize() that returns a vector tcgsize for arraydefs (as generated
for certain parameter locations in the x86-64 parameter manager)
  * full support for vector types in the high level code generator by
    translating arraydefs passed to a_*mm*() methods into vector tcgsizes

git-svn-id: trunk@24762 -
2013-06-02 10:24:08 +00:00
Jonas Maebe
7566ddcc8f * add a tdef to each parameter location and set it for all target
backends (not yet used, will be used in high level code generator)

git-svn-id: trunk@24761 -
2013-06-02 10:24:02 +00:00