Commit Graph

45911 Commits

Author SHA1 Message Date
florian
d598351664 * call also optimize_op_const in the generic a_op_const_reg_reg
git-svn-id: trunk@30658 -
2015-04-19 10:04:57 +00:00
florian
7f1585b99a * do not save registers for subroutines which never return
* do not generate any exit code for subroutines which never return

git-svn-id: trunk@30657 -
2015-04-19 08:11:28 +00:00
florian
f972398a8c + main program never returns
git-svn-id: trunk@30656 -
2015-04-19 08:10:06 +00:00
florian
6797685c86 * write set constants only as large as needed by taking care of resultdef.size, resolves issue #27886
git-svn-id: trunk@30655 -
2015-04-18 19:32:49 +00:00
Tomas Hajny
3ded26a774 * correction of tests for Amiga (volumes, exclusion of some '.'/'..' related tests)
git-svn-id: trunk@30654 -
2015-04-18 18:48:42 +00:00
Tomas Hajny
23300b8a41 * fix by Charlie correcting treatment of a trailing directory separator on Amiga(-likes)
git-svn-id: trunk@30653 -
2015-04-18 18:29:19 +00:00
michael
81950878b9 * Some explanatory comments from Andrew Haines (bug ID 27898)
git-svn-id: trunk@30652 -
2015-04-18 16:34:01 +00:00
michael
e8b8cf348d * Add dependency on rtl-extra
git-svn-id: trunk@30651 -
2015-04-18 15:57:59 +00:00
michael
1691ec4481 * Fix bug ID #26462, additionally rework variables to match new interface
git-svn-id: trunk@30650 -
2015-04-18 14:59:56 +00:00
florian
987b66636d + optimize LDS/STS into IN/OUT, resolves issue #27884
git-svn-id: trunk@30649 -
2015-04-18 14:43:54 +00:00
florian
9e51283ae0 + initial a_op_const_reg_reg and a_op_reg_reg_reg implementations to generate optimized 16 Bit multiplications on avr
git-svn-id: trunk@30648 -
2015-04-18 13:53:20 +00:00
florian
3e8766290d * implements RegInInstruction and fixes RegModifiedByInstruction for avr
git-svn-id: trunk@30647 -
2015-04-18 13:51:28 +00:00
nickysn
24d9c06489 + added class for encoding/decoding an omf library header record
git-svn-id: trunk@30646 -
2015-04-18 12:57:04 +00:00
michael
a8b8f4463c * Added enet library headers (+ sample programs), bug ID #27891
git-svn-id: trunk@30645 -
2015-04-18 11:10:38 +00:00
nickysn
3ce29dcfb2 + added function for computing the hash for the omf libraries' dictionary
git-svn-id: trunk@30644 -
2015-04-18 10:48:49 +00:00
nickysn
cebd3de630 + added unit owomflib (empty for now), which is going to contain the internal
.lib writer for i8086-msdos

git-svn-id: trunk@30643 -
2015-04-18 09:49:38 +00:00
michael
27b1fb0439 * Fix bug #27831
git-svn-id: trunk@30642 -
2015-04-18 07:16:27 +00:00
michael
46a0eced9e * Adapted test to test for 27831
git-svn-id: trunk@30641 -
2015-04-18 07:16:02 +00:00
michael
1211149a29 * Call Translate for blobfields as well (bug ID 25083)
git-svn-id: trunk@30640 -
2015-04-18 06:36:00 +00:00
michael
62e50ca506 * Patch from Luca Olivetti to allow to specify an address to which server must bind (bug ID 27892)
git-svn-id: trunk@30639 -
2015-04-18 06:12:07 +00:00
nickysn
75ec4adcf9 * fixed compilation of lnfodwrf in the i8086 medium and compact memory models
git-svn-id: trunk@30638 -
2015-04-18 01:56:29 +00:00
nickysn
a69b98484e + enabled compilation of unit lnfodwrf on i8086-msdos
git-svn-id: trunk@30637 -
2015-04-18 01:56:04 +00:00
nickysn
7fca6dd6c1 * set the properties of the dwarf debug info sections in the omf obj writer
as required by wlink in order to be recognized and handled as debug info
  (i.e. class=DWARF, use32)

git-svn-id: trunk@30636 -
2015-04-18 00:42:17 +00:00
nickysn
fb31be4e4a * changed the default debug format for i8086-msdos from stabs to dwarf2
git-svn-id: trunk@30635 -
2015-04-17 23:47:31 +00:00
nickysn
a6e39edb8f * moved the insertion of fwaits for 8087 from the nasm asm writer to ti8086procinfo.postprocess_code
git-svn-id: trunk@30634 -
2015-04-17 23:27:03 +00:00
florian
58c66b4759 * the mul instructions do not modify the operands
git-svn-id: trunk@30633 -
2015-04-17 20:15:10 +00:00
florian
66e97549b9 * replace jmp by rjmp if possible, resolves issue #27885
git-svn-id: trunk@30632 -
2015-04-17 20:14:18 +00:00
florian
07cba31a0a * cosmetics
git-svn-id: trunk@30631 -
2015-04-17 20:12:57 +00:00
florian
10dc944d35 * disable some function using ansistrings if the ansistring feature is turned off
git-svn-id: trunk@30630 -
2015-04-17 20:12:36 +00:00
nickysn
5c8965fea5 * in the inline asm reader, treat [var] reference as "word" instead of "dword"
when "var" is of dword size. This fixes spurious generation of a $66 prefix
  and makes the code consistent with what Tx86Operand.SetSize does (and what is
  then used for checking the operand sizes of all operands of the instruction in
  Tx86Instruction.CheckOperandSizes).

git-svn-id: trunk@30629 -
2015-04-17 19:58:06 +00:00
michael
f9f602dca6 * Fix bug ID #24752
git-svn-id: trunk@30628 -
2015-04-17 19:57:48 +00:00
michael
3e100245e0 * Globally take into account forcedclose when committing/rollbacking, so all operations succeed
git-svn-id: trunk@30627 -
2015-04-17 19:26:36 +00:00
nickysn
3b5395e0e3 * set 16-bit opsize for OPR_SYMBOL operands on i8086
git-svn-id: trunk@30626 -
2015-04-17 19:10:13 +00:00
michael
7c33165672 * Parse ASM blocks (Bug ID 27117)
git-svn-id: trunk@30625 -
2015-04-17 19:06:11 +00:00
michael
faaae8b2a2 * Fix bug #24271, fpdoc failing on dotted unit names
git-svn-id: trunk@30624 -
2015-04-17 18:23:13 +00:00
michael
f3e8240230 * Fix bug UD 27026
git-svn-id: trunk@30623 -
2015-04-17 17:57:33 +00:00
michael
27ff4c95e4 * Made CheckBitIndex protected
git-svn-id: trunk@30622 -
2015-04-17 16:53:23 +00:00
michael
dd6f45d1d0 * Added setregid and setreuid functions to linux unit (they are not POSIX), bug ID #25403
git-svn-id: trunk@30621 -
2015-04-17 16:48:32 +00:00
michael
3b33b2a7bc * Fix bug ID #26512
git-svn-id: trunk@30620 -
2015-04-17 16:44:11 +00:00
michael
f67cbabdc6 * Fixed memory leak caused by FSocket not being freed if error during connect (bug ID 26959)
git-svn-id: trunk@30619 -
2015-04-17 13:35:41 +00:00
michael
f5aeb96c97 * Added dependency on rtl-objpas
git-svn-id: trunk@30618 -
2015-04-17 12:26:52 +00:00
michael
d802842ecf * Committed working patches to error message files from Stéphane Aulery
git-svn-id: trunk@30617 -
2015-04-17 12:19:13 +00:00
nickysn
c3515f743f * generate 16-bit (instead of 32-bit) instructions for push/pop of a segment
register in an inline asm block on i8086

git-svn-id: trunk@30616 -
2015-04-17 00:51:00 +00:00
nickysn
7315175c32 * keep the proper original section name and order (and not just the type) of the
last encountered section at the object cut location when writing a smartlinked
  library with the internal assembler. This fixes the $HUGECODE directive with
  the internal assembler on i8086 and maybe other things on other platforms,
  that use library based smartlinking in combination with the internal asm.

git-svn-id: trunk@30615 -
2015-04-16 23:33:26 +00:00
Jonas Maebe
3be51e1455 * fixed endless recursion in tabstractrecorddef.contains_float_field() in
case a record contains an internal typed constant of its own type
    (which happened becuase such a typed constant is also fieldvarsym, solved
     by checking for sp_static) (mantis #27880)
  * fixed several other similar cases in the compiler where we are only
    interested in instance fields, but processed all fieldvarsyms

git-svn-id: trunk@30614 -
2015-04-16 21:25:22 +00:00
nickysn
25a834087e + choose the correct version of "Jcc near" to use on i8086 (386+ or 8086+)
depending on the specified target cpu type
+ support the \60..\62 magic codes on i8086 in the internal asm writer

git-svn-id: trunk@30613 -
2015-04-16 19:49:22 +00:00
nickysn
2cf6852910 + added i8086 instruction entries for Jcc near (which is actually a 386+
instruction), that encode it as two i8086 compatible instructions:
    JNcc short +3
    JMP near target

git-svn-id: trunk@30612 -
2015-04-16 17:07:07 +00:00
nickysn
bfd5670cc8 + support new magic code \23 in the internal asm writer - same as \13, but with
the condition inverted; this will be used to simulate near conditional jumps
  on processors earlier than 386 (i.e. "Jcc near target" will be encoded as
  "JNcc short +3; JMP target")

git-svn-id: trunk@30611 -
2015-04-16 16:53:48 +00:00
lacak
98c059f3ec fcl-db: base: set storage specifiers - default 0 - for TFieldDef.Precision and TFieldDef.Size.
(TFieldDef.Precision is initialised to -1 which differs from Delphi where it is 0)

git-svn-id: trunk@30610 -
2015-04-16 11:37:28 +00:00
michael
f787468412 * Fixed bug #27829
git-svn-id: trunk@30609 -
2015-04-16 06:48:52 +00:00