lacak
2eb2791ce9
fcl-db: base: TBCDField.GetDefaultWidth should return Precision+1 (Delphi compatible) insted of only Precision (+1 is for sign and/or decimal separator).
...
Note: TBCDField in constructor sets FPrecision=15, which is IMHO copied from TFloatField. In case of TBCDField it should be probably 18 - MaxBCDPrecision
git-svn-id: trunk@30684 -
2015-04-20 12:52:07 +00:00
nickysn
8cf469e9ef
* base the default alignment on voidpointertype.alignment instead of
...
voidpointertype.size for all types, that are internally represented as a
pointer (ansi/widestrings,dynarrays,classes)
git-svn-id: trunk@30683 -
2015-04-20 12:44:11 +00:00
nickysn
0675a9209d
* use 16-bit alignment for class references and all pointer types on i8086
...
git-svn-id: trunk@30682 -
2015-04-20 12:41:55 +00:00
nickysn
030801a18b
* switch the msdos target to the internal assembler/omf object writer
...
git-svn-id: trunk@30681 -
2015-04-20 01:53:01 +00:00
nickysn
5a1ce6162b
* set the bss, rodata and rodata_norel section alignment to 2 bytes for the i8086-msdos target
...
git-svn-id: trunk@30680 -
2015-04-20 01:27:26 +00:00
nickysn
ae04eb258b
* when splitting the section data in chunks, make sure fixups never cross chunk boundaries
...
git-svn-id: trunk@30679 -
2015-04-20 00:02:40 +00:00
nickysn
32e0eca0dc
+ added read only property TOmfSubRecord_FIXUP.LocationSize, which returns the
...
size in bytes of the fixup
git-svn-id: trunk@30678 -
2015-04-19 22:57:33 +00:00
Jonas Maebe
62239ba890
* handle named registers correctly for fpu and mm loads
...
git-svn-id: trunk@30677 -
2015-04-19 21:37:52 +00:00
Jonas Maebe
3496129f79
* only handle a_load_const_ref() directly when storing ordinals, as in case
...
of pointers llvm only supports 0 (as null, which we don't generate either)
git-svn-id: trunk@30676 -
2015-04-19 21:37:49 +00:00
Jonas Maebe
e2cf90ad8a
* add type declarations for structure types in the llvm code so that we can
...
handle recursive record references (rec= record prec: ^rec)
o llvm unfortunately does not support recursive references to array types
or function pointers, so those will currently still result in endless
recursion when the compiler tries to write them out. Solving those
will require a lot of typecasting in the generated code
git-svn-id: trunk@30675 -
2015-04-19 21:37:46 +00:00
Jonas Maebe
1941e64488
+ added a hook to insert object-global information into the asmlists (will
...
be used to insert type definitions for llvm)
git-svn-id: trunk@30674 -
2015-04-19 21:37:43 +00:00
Jonas Maebe
2bb4a729c0
* procvardefs must be encoded without any parameter attributes
...
git-svn-id: trunk@30673 -
2015-04-19 21:37:40 +00:00
Jonas Maebe
c8e44e4a7c
* keep track of whether we're in an inline assembly block in the llvm
...
assembler writer, and for now skip writing labels if we are (they
will have to emitted as part of an actual inline assembly block,
not as llvm-style labels)
git-svn-id: trunk@30672 -
2015-04-19 21:37:37 +00:00
Jonas Maebe
4a25afb839
* load an undef value in the function result in the exit code of a pure
...
assembler function, as the inline assembly code itself will be
responsible for returning the function result (we will have to add
the "return" instruction to it) while llvm requires a terminator
at the end of the function and it must return something
git-svn-id: trunk@30671 -
2015-04-19 21:37:34 +00:00
Jonas Maebe
ff3061a7cf
+ thlcgllvm.gen_load_uninitialized_function_result
...
git-svn-id: trunk@30670 -
2015-04-19 21:37:31 +00:00
Jonas Maebe
07141e92d3
+ support for llvm "undef" operand
...
git-svn-id: trunk@30669 -
2015-04-19 21:37:27 +00:00
nickysn
7ff6c2a675
- rm tf_smartlink_library from targets that define tf_smartlink_sections, since
...
in certain places, the code in the compiler assumes that only one of the two
is defined, resulting in libraries with missing externals when both are
defined and there's no much point in supporting both anyway, since section
based smartlinking achieves the same thing (in a better way) on these
platforms.
git-svn-id: trunk@30668 -
2015-04-19 18:47:44 +00:00
nickysn
d204aaab72
* refactored "ar" object writer creation in the internal assembler to allow
...
having different implementations of an internal "ar" writer
git-svn-id: trunk@30667 -
2015-04-19 16:35:16 +00:00
Jonas Maebe
3684e7665d
* changed temporary type_e_anonymous_function_unsupported message into an
...
inline comment, because using a high message number wastes space in
the messages array
git-svn-id: trunk@30666 -
2015-04-19 14:31:35 +00:00
Jonas Maebe
299374b345
* disabled for Darwin because untested
...
git-svn-id: trunk@30665 -
2015-04-19 14:31:30 +00:00
florian
7b48232d71
* moved common code to a separate include file
...
git-svn-id: trunk@30664 -
2015-04-19 12:53:06 +00:00
florian
2ecadc065e
* noreturn directive
...
git-svn-id: trunk@30663 -
2015-04-19 12:52:21 +00:00
florian
1969abec77
* improved code generation in a_op_const_reg_internal and a_op_const_reg_reg
...
git-svn-id: trunk@30662 -
2015-04-19 12:51:53 +00:00
michael
75f4971084
* Patch from Stephano to fix wince compilation
...
git-svn-id: trunk@30661 -
2015-04-19 12:09:51 +00:00
nickysn
623ea066c7
+ added class for encoding/decoding an omf library end record
...
git-svn-id: trunk@30660 -
2015-04-19 11:25:25 +00:00
florian
e791f534d2
* fix tcgvecnode.update_reference_reg_packed if OS_INT<>OS_ADDR
...
git-svn-id: trunk@30659 -
2015-04-19 10:34:14 +00:00
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