Commit Graph

40434 Commits

Author SHA1 Message Date
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
Jonas Maebe
53ba7fbb8b * support formaldef in def_cgsize (-> OS_ADDR)
git-svn-id: trunk@24760 -
2013-06-02 10:23:54 +00:00
Jonas Maebe
dd15ee5bf2 * removed superfluous checks (push_addr_param() already checks for those)
git-svn-id: trunk@24759 -
2013-06-02 10:23:47 +00:00
Jonas Maebe
4e210e57c2 * use the correct type (pointer to object type) when loading the function
result of a TP-style object constructor

git-svn-id: trunk@24758 -
2013-06-02 10:23:40 +00:00
nickysn
e2241d97a2 * i8086 optimizations for 32-bit OP_SAR with const >= 16
git-svn-id: trunk@24757 -
2013-06-02 09:35:30 +00:00
nickysn
55a071692e * i8086 optimizations in op_const_reg for 32-bit OP_SHL and OP_SHR with const >= 16
git-svn-id: trunk@24756 -
2013-06-02 08:58:50 +00:00
nickysn
90ecd72286 * x86_64 compilation fixed after r24752
git-svn-id: trunk@24755 -
2013-06-01 22:38:07 +00:00
joost
99aed66f3c * Fixed uninitialized variable problem
* Removed double -Fl prefix

git-svn-id: trunk@24754 -
2013-06-01 22:28:28 +00:00
joost
76c1b9da71 * Use fpmkunit to obtain gcclib-dir for configuration files
git-svn-id: trunk@24753 -
2013-06-01 22:27:16 +00:00
nickysn
ec76b2cf40 * refactored the segment-in-integer-register reference support, so it's handled in make_simple_ref, instead of all over the place in the code generator
git-svn-id: trunk@24752 -
2013-06-01 22:18:09 +00:00
Károly Balogh
b2729613c2 turn off gdbint for MorphOS
git-svn-id: trunk@24750 -
2013-06-01 21:30:07 +00:00
nickysn
40630a7cde * slight accuracy improvement in crt.delay for i8086-msdos
git-svn-id: trunk@24749 -
2013-06-01 19:23:25 +00:00
Károly Balogh
4e427b9663 disable threading and process for morphos
git-svn-id: trunk@24747 -
2013-06-01 19:13:06 +00:00
joost
b543f83f59 * Switched IDE to fpmake-building
git-svn-id: trunk@24745 -
2013-06-01 18:34:01 +00:00
Jonas Maebe
978b5530ec * renamed getmmcgsize to getintmmcgsize + comment
git-svn-id: trunk@24744 -
2013-06-01 18:32:14 +00:00
Jonas Maebe
2dd75e707e * renamed thlcgobj.tcgsize2orddef to defutil.cgsize_orddef
git-svn-id: trunk@24743 -
2013-06-01 18:28:15 +00:00
michael
03dd596485 * Refactor TSQLQuery to use TSQLStatement
git-svn-id: trunk@24742 -
2013-06-01 18:23:41 +00:00
joost
19d4b8dcd7 * Added fpmake.pp for building the ide
git-svn-id: trunk@24740 -
2013-06-01 17:57:28 +00:00
Károly Balogh
c99d723826 merged fixes from MorphOS
git-svn-id: trunk@24739 -
2013-06-01 17:53:13 +00:00
Károly Balogh
9b90c22eb5 removed unused var, cosmetics, no functional changes
git-svn-id: trunk@24738 -
2013-06-01 17:52:32 +00:00
nickysn
525246f61b * support i8086 far references in tx86addnode.emit_op_right_left
git-svn-id: trunk@24737 -
2013-06-01 17:51:58 +00:00
nickysn
1e8b192b3d * support far references in second_cmp32bit for i8086
git-svn-id: trunk@24736 -
2013-06-01 17:51:18 +00:00
nickysn
c9c882c30a * always use 16-bit pushes for pushing/popping the segment registers on i8086 in Tcgx86.g_concatcopy
git-svn-id: trunk@24735 -
2013-06-01 17:49:49 +00:00
Károly Balogh
4f67d25a6a don't allow an env var with invalid characters, also fixed a signedness warning
git-svn-id: trunk@24734 -
2013-06-01 17:46:15 +00:00
Károly Balogh
76d7527909 also return nil for the empty env vars in the generic implementation in GetEnvPChar
git-svn-id: trunk@24733 -
2013-06-01 17:40:34 +00:00
michael
678fb02f11 * Fix cursor mem leak
git-svn-id: trunk@24732 -
2013-06-01 17:07:52 +00:00
Jonas Maebe
f985149163 * fixed compilation after r24661 (added dummy overloads for newly
implemented LOC_MMREGISTER hlcgobj methods)

git-svn-id: trunk@24731 -
2013-06-01 16:48:11 +00:00
nickysn
4b3c67c51a + implemented dos.Keep for i8086-msdos; simple dos TSRs now work
git-svn-id: trunk@24730 -
2013-06-01 16:42:56 +00:00
nickysn
e243b6b869 * never use the 66h prefix when pushing/popping segment registers on i8086, as the stack is aligned on 2 bytes there
git-svn-id: trunk@24729 -
2013-06-01 16:03:14 +00:00
nickysn
c2e3fb5918 + emit proper interrupt procedure entry/exit code on i8086
git-svn-id: trunk@24728 -
2013-06-01 15:50:11 +00:00