Commit Graph

43121 Commits

Author SHA1 Message Date
Jonas Maebe
13fbf5b6ef * fixup for r27725: limit change to subn
git-svn-id: trunk@27732 -
2014-05-04 11:40:32 +00:00
Tomas Hajny
fab4a91f4d * package openssl supported for OS/2 now
git-svn-id: trunk@27731 -
2014-05-03 22:35:50 +00:00
Tomas Hajny
20545a79dc * package supported for OS/2 now
git-svn-id: trunk@27730 -
2014-05-03 22:31:46 +00:00
Tomas Hajny
b101438eb7 * OS/2 support previously added to Synapse merged in
git-svn-id: trunk@27729 -
2014-05-03 22:27:32 +00:00
nickysn
89e9fac562 * TVMTBuilder.intf_allocate_vtbls: fixed the Ioffset calculation in i8086 far
data memory models

git-svn-id: trunk@27728 -
2014-05-03 17:05:50 +00:00
reiniero
15275795da * fcl-db: adjust blob type test to match narrowed number of allowed blob types in r27682
git-svn-id: trunk@27727 -
2014-05-03 16:18:47 +00:00
Jonas Maebe
20b8ade8ce * added readbarriers as counterparts for the writebarriers (see
"SMP BARRIER PAIRING"
    in https://www.kernel.org/doc/Documentation/memory-barriers.txt ), should
    fix sporadic crashes of the test

git-svn-id: trunk@27726 -
2014-05-03 16:16:17 +00:00
Jonas Maebe
e704dd8d74 * treat "u32bit-u32bit" as a signed value when removing automatic
64 bit upcasts, as the result can be negative when evaluated in
    64 bit (reported on irc, please file bug reports)

git-svn-id: trunk@27725 -
2014-05-03 15:06:16 +00:00
nickysn
4f4e00e758 + i8086 far data memory model fixes in tinterfaceentry and tinterfacetable
git-svn-id: trunk@27724 -
2014-05-03 14:38:00 +00:00
Jonas Maebe
35c64a7a69 * properly order all operations in TMultiReadExclusiveWriteSynchronizer
using memory barriers, rather than half-heartedly using atomic
    operations. Fixes random failures in trwsync on POWER7 processors
    (and probably other weakly ordered architectures)

git-svn-id: trunk@27723 -
2014-05-03 14:19:54 +00:00
nickysn
791cd932fd + support i8086 far data memory models in tcg8086.g_intf_wrapper
git-svn-id: trunk@27722 -
2014-05-03 14:17:54 +00:00
florian
8207e0ef22 + make use of vfnmsub*/vfmsub*/vfnmadd* instructions if possible
git-svn-id: trunk@27721 -
2014-05-02 21:07:46 +00:00
nickysn
6e7dd647fd * Tcgx86.g_concatcopy: optimization for the case where source.segment is
specified, but equal to DS in the current memory model

git-svn-id: trunk@27720 -
2014-05-02 13:07:54 +00:00
lacak
1004c8db6f fcl-db: base: implement TParam.AsBCD + test
git-svn-id: trunk@27719 -
2014-05-02 11:15:20 +00:00
lacak
b4f2f47f49 fcl-db: mysql: when MySQL reports field type as VARCHAR map to ftString and do not try remap to ftMemo.
git-svn-id: trunk@27718 -
2014-05-02 09:12:54 +00:00
lacak
54c09051a0 fcl-db: base: when copying character data use MaxLen up to Size (not DataSize), because buffer size is = DataSize, o we can copy max. DataSize-1 which is Size.
+ better test TestInsertLargeStrFields

git-svn-id: trunk@27717 -
2014-05-02 09:08:53 +00:00
nickysn
906d828ee0 * tcg8086.g_copyvaluepara_openarray: fix for the case where ref.segment is
specified, but equal to DS in the current memory model -> call the high level
  code generator with a near pointer type in order to force the segment to be
  ignored

git-svn-id: trunk@27716 -
2014-05-01 22:28:07 +00:00
nickysn
c9c29a3cd4 + ignore the source segment, when the destination cgpara is a near pointer in
tcg8086.a_loadaddr_ref_cgpara

git-svn-id: trunk@27715 -
2014-05-01 21:56:04 +00:00
nickysn
c9f8703679 + set ref.segment to NR_SS for all temps/localvars on i8086. This allows the
segment to survive e.g. several nested vecnodes, which cause the base register
  to change from BP to something else. In the cases where the ss: prefix is not
  needed, it is removed by make_simple_ref.
+ remove the ss: prefix in the several cases where make_simple_ref isn't called
  (namely spilling and tcg8086.a_call_reg_far)

git-svn-id: trunk@27714 -
2014-05-01 21:18:47 +00:00
nickysn
38aec68d6f * ti8086vecnode.update_reference_reg_mul: remove the segment before calling
base, because base may in some cases call cg.a_loadaddr_ref_reg, which will
  overwrite the next register, if the source reference contains a segment

git-svn-id: trunk@27713 -
2014-05-01 19:39:52 +00:00
florian
2fa066b003 * optimize vmovaps/vmovapd after avx instructions
git-svn-id: trunk@27712 -
2014-05-01 19:20:35 +00:00
florian
8060d4a3f7 * when updating registers in RegUsedAfterInstruction, new reg. allocs should be ignored
git-svn-id: trunk@27711 -
2014-05-01 19:20:32 +00:00
nickysn
8c86d64866 * fixed 'data structure too large' error in test tcall1.pp in the i8086 large
memory model

git-svn-id: trunk@27710 -
2014-05-01 18:27:01 +00:00
nickysn
3dfc6ac7e1 * fixed the passing of extended floating type parameters on i8086 for
pocall_register after r24761 (it is the same change as in r24766, but for
  pocall_register)

git-svn-id: trunk@27709 -
2014-05-01 16:45:49 +00:00
nickysn
906412411f * fixed the passing of pushaddr paramaters for pocall_register in i8086 far data
memory models

git-svn-id: trunk@27708 -
2014-05-01 16:43:35 +00:00
michael
f28dbdafcc * Support all methods
git-svn-id: trunk@27707 -
2014-05-01 14:29:03 +00:00
michael
295a3cac38 * 64-bit stream
git-svn-id: trunk@27706 -
2014-05-01 14:28:25 +00:00
michael
1aba82b677 * 64-bit support
git-svn-id: trunk@27705 -
2014-05-01 14:26:46 +00:00
michael
2fc9ad04e8 * No longer needed check for result.encoding
git-svn-id: trunk@27704 -
2014-05-01 14:25:33 +00:00
michael
f57f109e82 * Version 2.5.1 added, and set as default
git-svn-id: trunk@27703 -
2014-05-01 14:24:50 +00:00
michael
c5939fb770 * SNI support
git-svn-id: trunk@27702 -
2014-05-01 14:23:23 +00:00
michael
6c85e66390 * Some extra constants, specifically SNI related
git-svn-id: trunk@27701 -
2014-05-01 14:22:41 +00:00
nickysn
24bf272c69 * fixed the passing of array of const parameters in i8086 far data memory models
git-svn-id: trunk@27700 -
2014-05-01 12:46:29 +00:00
nickysn
4bbf2e8618 + enabled {$hugecode} for the test tcalcla1.pp in i8086 large memory model,
because in this model, the code of the test exceeds 64kb

git-svn-id: trunk@27699 -
2014-04-30 21:45:04 +00:00
Jonas Maebe
fba0eb0351 + test for part of mantis #25931 (already works correctly)
git-svn-id: trunk@27698 -
2014-04-30 20:08:50 +00:00
Jonas Maebe
724a6e9019 * fixed -Sx (mantis #25930)
git-svn-id: trunk@27697 -
2014-04-30 19:43:34 +00:00
Jonas Maebe
270c2d700e * allow the "then" part of an if-statement to be terminated by any endtoken,
instead of only by "else" (mantis #25781)

git-svn-id: trunk@27696 -
2014-04-30 19:25:06 +00:00
Jonas Maebe
02ce2e6029 * moved to correct directory
git-svn-id: trunk@27695 -
2014-04-30 19:25:02 +00:00
Jonas Maebe
8ac4a770a9 * check whether file/text is assigned in erase/rename (mantis #25932)
git-svn-id: trunk@27694 -
2014-04-30 18:31:22 +00:00
nickysn
de1b8cf5d6 * use def_cgsize(parentfpvoidpointertype) instead of OS_ADDR in
tcgloadparentfpnode.pass_generate_code (should've been part of r27690)

git-svn-id: trunk@27693 -
2014-04-30 17:37:47 +00:00
nickysn
4ab9c6f206 + fixed tcgtypeconvnode.second_class_to_intf for i8086 far data memory models
git-svn-id: trunk@27692 -
2014-04-30 14:05:35 +00:00
lacak
3df0c06293 fcl-db: base: use type casting of StrPLCopy parameter to call right ansi version instead of unicode version.
Affect all TStringFields with DataSize>8192 !

git-svn-id: trunk@27691 -
2014-04-30 08:47:59 +00:00
nickysn
cb33e51425 * tcgloadparentfpnode.pass_generate_code converted to the high level code
generator. This fixes nested access to parentfp in i8086 memory models where
  DS<>SS.

git-svn-id: trunk@27690 -
2014-04-29 23:32:22 +00:00
nickysn
a7e5896504 + parentfpvoidpointertype changed to a near 'ss' pointer on i8086
git-svn-id: trunk@27689 -
2014-04-29 23:17:22 +00:00
nickysn
7da8719036 + support near pointers, bound to a segment register in hlcg.reference_reset_base
on i8086

git-svn-id: trunk@27688 -
2014-04-29 23:15:20 +00:00
nickysn
1eb24f9d98 + remove the segment prefix in make_simple_ref on i8086, in case it is the same
as the default segment for the reference (SS for BP-relative, DS for all
  others)

git-svn-id: trunk@27687 -
2014-04-29 23:11:10 +00:00
reiniero
17899e92b4 * Some cosmetic mistakes in previous commit fixed. Thanks Laco!
git-svn-id: trunk@27686 -
2014-04-28 15:51:45 +00:00
nickysn
48c5d9d213 * tobjectvmt.size and .msize in the rtl changed to sizeuint, because ptruint is
not the correct size type in the VMT in i8086 far data memory models

git-svn-id: trunk@27685 -
2014-04-28 15:19:11 +00:00
yury
f1727c58c3 * pas2jni: Type cast support. nil objects support.
git-svn-id: trunk@27684 -
2014-04-28 14:59:21 +00:00
nickysn
a17c04c3e0 * fixed array to pointer conversion in i8086 far data memory models
git-svn-id: trunk@27683 -
2014-04-28 12:36:38 +00:00