marco
a94205280c
* fixes mantis 34008, some copy paste errors in -A and -W suffixes.
...
Note that the enumfont* functions seem to use the var prototypes, while only redef functions should use them. Probably not worth breaking compat for though (in since 2016)
git-svn-id: trunk@39480 -
2018-07-21 12:29:18 +00:00
svenbarth
38c30a557d
* deprecate MaxGListSize; it's no longer used by the generic types
...
git-svn-id: trunk@39465 -
2018-07-17 19:30:29 +00:00
svenbarth
2ec7a5acff
* change declaration of TTypeList from a static array to a pointer to T as the static array might breach the
...
limits for static arrays if the used type is too large (especially on 32-bit systems); as FPC supports indexing
of typed pointers like arrays this should be mostly backwards compatible
git-svn-id: trunk@39464 -
2018-07-17 19:30:26 +00:00
michael
53e10c99d4
* Fix bug #33984 , fix for correct string definition in unicodestringreplace
...
git-svn-id: trunk@39452 -
2018-07-14 16:27:52 +00:00
nickysn
374a8281e7
+ added unit ports for win16
...
git-svn-id: trunk@39441 -
2018-07-12 14:24:46 +00:00
nickysn
a8f466c400
* updated the CSeg, DSeg and SSeg rtl functions on i8086 to use the new x86
...
intrinsics for reading the segment registers
git-svn-id: trunk@39434 -
2018-07-11 14:34:05 +00:00
nickysn
9272bf59b2
+ added x86 (i8086, i386 and x86_64) intrinsics fpc_x86_get_cs/ss/ds/es/fs/gs
...
for getting the value of x86 segment registers
git-svn-id: trunk@39433 -
2018-07-11 14:19:40 +00:00
pierre
81a14c5a5a
Remove obsolete -DNOMOUSE (used only in packages/rtl-console)
...
git-svn-id: trunk@39428 -
2018-07-10 10:25:58 +00:00
nickysn
db0b6adef8
+ add the ports[] access to the go32v2 system unit as well
...
git-svn-id: trunk@39423 -
2018-07-09 16:26:52 +00:00
nickysn
62fe6cb5d3
+ integrated the port access via Port[] in the i8086-msdos system unit to ease
...
porting TP7 code. The ports unit also remains for compatibility with code that
has already been ported to FPC.
git-svn-id: trunk@39422 -
2018-07-09 15:40:12 +00:00
nickysn
8e6205aca6
* changed the visibility of the writeport and readport methods in the ports unit
...
objects to private (since they should be accessed only through the default
indexed property)
git-svn-id: trunk@39421 -
2018-07-09 14:55:20 +00:00
nickysn
7df861487b
* use include files in the unix ports unit as well
...
+ add portsh.inc and ports.inc for x86_64 as well
git-svn-id: trunk@39420 -
2018-07-09 14:42:01 +00:00
nickysn
3673f03841
* set the stdcall calling convention explicitly for each method, that requires
...
it, instead of using {$calling stdcall} in the go32v2 ports unit
git-svn-id: trunk@39402 -
2018-07-06 15:59:26 +00:00
nickysn
0ea3570b96
* moved the interface and implementation parts of the go32v2 ports unit to
...
include files portsh.inc and ports.inc in the i386 rtl directory
git-svn-id: trunk@39397 -
2018-07-06 15:52:18 +00:00
nickysn
5318a04a5b
* moved the interface and implementation parts of the i8086-msdos ports unit to
...
include files portsh.inc and ports.inc in the i8086 rtl directory
git-svn-id: trunk@39396 -
2018-07-06 15:41:44 +00:00
pierre
18cc1f1709
Try to implement CheckPointer exclusion range for FreeBSD OS
...
git-svn-id: trunk@39394 -
2018-07-06 09:08:54 +00:00
pierre
7d96c2a368
Add --32 or --64 to GNU assembler call for i386 or x86_64 cpu
...
git-svn-id: trunk@39393 -
2018-07-06 09:06:19 +00:00
nickysn
5a84f21ba1
+ use the new cli/sti intrinsics in go32.enable and go32.disable
...
git-svn-id: trunk@39389 -
2018-07-04 17:02:07 +00:00
nickysn
ff2fff365f
+ added x86 compiler intrinsics fpc_x86_sti and fpc_x86_cli, which generate the
...
'sti' and 'cli' instructions
git-svn-id: trunk@39388 -
2018-07-04 16:48:34 +00:00
nickysn
de3d14b606
+ enabled the port intrinsics in the go32v2 unit ports as well
...
git-svn-id: trunk@39387 -
2018-07-04 16:05:58 +00:00
nickysn
25cd354f87
* updated the go32 unit port access functions to use the new x86 port access
...
compiler intrinsics
git-svn-id: trunk@39385 -
2018-07-04 15:47:15 +00:00
michael
844a9b0ca6
* Actually observe TStringStream.OwnsEncoding in destructor
...
git-svn-id: trunk@39379 -
2018-07-04 11:03:21 +00:00
nickysn
65d8836952
* updated dependencies of unit ports (objpas and x86 is no longer required on
...
certain platforms) and regenerated makefiles
git-svn-id: trunk@39373 -
2018-07-04 00:33:12 +00:00
nickysn
f733e0a31c
+ use the x86 inline intrinsics for port access in the unix ports unit as well
...
git-svn-id: trunk@39372 -
2018-07-04 00:17:18 +00:00
nickysn
3ed284953b
* use the new x86 port access intrinsics in the x86 unit for unix
...
git-svn-id: trunk@39371 -
2018-07-03 23:25:18 +00:00
nickysn
2c8853f239
+ added the fpc_x86_*port* intrinsics to the x86_64 system unit as well
...
git-svn-id: trunk@39370 -
2018-07-03 22:53:48 +00:00
nickysn
a1bf5e2f07
+ also added the fpc_x86_*port* intrinsics to the i386 system unit
...
git-svn-id: trunk@39369 -
2018-07-03 22:42:03 +00:00
nickysn
1c9d0d445b
* moved the compiler intrinsics for the i8086 'in' and 'out' instructions to the
...
system unit (with a 'fpc_x86_' prefix added)
git-svn-id: trunk@39368 -
2018-07-03 22:32:17 +00:00
nickysn
26a3ac3fd4
* moved the fpc_in_x86_*port* constants to the system unit in cpuinnr.inc in the
...
i8086, i386 and x86_64 rtl directories. This is done for consistency with
other compiler internal function numbers (which are declared in innr.inc).
git-svn-id: trunk@39367 -
2018-07-03 21:30:43 +00:00
nickysn
f93bda6e15
+ also add {$inline on} to unit ports in order to enable inlining
...
git-svn-id: trunk@39366 -
2018-07-03 20:37:13 +00:00
nickysn
8b55c071fa
+ declare the readport and writeport methods as inline in the interface part of
...
the ports unit, so the new inlining of in and out instructions actually works
git-svn-id: trunk@39364 -
2018-07-03 20:14:05 +00:00
svenbarth
ddb501bddf
* use a TObject constraint for TFPGObjectList and TFPGObjectMap to ensure that only TObject and its descendants
...
are used (allows for a better error message)
git-svn-id: trunk@39363 -
2018-07-03 18:34:41 +00:00
nickysn
fdc896ad0a
+ inline support for the x86 'in' and 'out' instructions. Currently only enabled
...
in the i8086-msdos 'ports' unit, but will be enabled on other targets (e.g.
go32v2) in the future as well. 32-bit 'in' and 'out' not inlined on i8086, but
will be on i386 and x86_64.
git-svn-id: trunk@39362 -
2018-07-03 17:01:42 +00:00
florian
781ecf4a59
* modified patch by Bart Broersma to resolves #33932 : fixes compilation error with FPC_SOFT_FPUX80 in TExtended80Rec.BuildUp
...
git-svn-id: trunk@39354 -
2018-07-01 12:54:30 +00:00
florian
2406bd052e
* by default, TExtended80Rec.Mantissa should not return the hidden bit (the binary representation of the data type contains it always
...
git-svn-id: trunk@39348 -
2018-06-30 11:25:43 +00:00
michael
a9205c9fba
* Fix bug ID #32837 , correct Mantissa and Fraction in float helpers, patch from Bart Broersma
...
git-svn-id: trunk@39346 -
2018-06-29 20:51:32 +00:00
michael
58b480e0b2
* Fix bug ID #33860
...
git-svn-id: trunk@39330 -
2018-06-28 12:41:49 +00:00
nickysn
46b82e3208
+ added the necessary changes for section based smartlinking to the msdos
...
startup code, behind ifdef __I8086_SMARTLINK_SECTIONS__
git-svn-id: trunk@39278 -
2018-06-22 15:42:19 +00:00
svenbarth
8536abce8a
* as the management operator feature is not platform specific using a specific define for it aside from a
...
version check is unnecessary, thus remove the FPC_HAS_MANAGEMENT_OPERATOR define and instead check for VER3_0
git-svn-id: trunk@39257 -
2018-06-20 19:00:24 +00:00
svenbarth
4d0ab82ef7
* optimize class initialization by calling RTTIRecord() only when required for a non-trivial initialization
...
git-svn-id: trunk@39256 -
2018-06-20 19:00:21 +00:00
svenbarth
ac0322c323
+ add a flags field to the record init RTTI which declares whether
...
a) the current record contains a field with non-trivial initialization
b) and of the parents contains such a field (only relevant for objects and classes)
git-svn-id: trunk@39255 -
2018-06-20 19:00:17 +00:00
svenbarth
eb06ac8ce8
* set up $MinEnumSize and $PackSet so that it matches the compiler's settings for types added in the future
...
git-svn-id: trunk@39254 -
2018-06-20 19:00:14 +00:00
svenbarth
393d1c2256
* move RTTI related types from rtti.inc to rttidecl.inc
...
git-svn-id: trunk@39250 -
2018-06-20 19:00:03 +00:00
svenbarth
bbf578b193
* move definition of USE_PACKED from rtti.inc to rttidecl.inc
...
git-svn-id: trunk@39249 -
2018-06-20 19:00:00 +00:00
svenbarth
b75324a4f2
* move RTTI declarations to their own header file
...
git-svn-id: trunk@39248 -
2018-06-20 18:59:57 +00:00
svenbarth
44b15350fb
* disable RTTI declarations if RTTI feature is disabled
...
git-svn-id: trunk@39247 -
2018-06-20 18:59:54 +00:00
florian
400861a907
* fixed TBits.NotBits, it is just an Xor operation, resolves #33706
...
git-svn-id: trunk@39243 -
2018-06-19 20:38:15 +00:00
marco
43d7b23555
* fix for #33817 , also p* marshalledstring for Delphi compat.
...
git-svn-id: trunk@39165 -
2018-06-04 10:58:23 +00:00
florian
f03a396757
* target classic MacOS builds again
...
git-svn-id: trunk@39156 -
2018-05-31 19:31:36 +00:00
svenbarth
8a195c44ba
+ add overloads of IsInfinite() for Single and Extended (compatible with Delphi)
...
git-svn-id: trunk@39135 -
2018-05-28 15:36:18 +00:00