Commit Graph

1584 Commits

Author SHA1 Message Date
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
sergei
b16c6f8ced * i386 and x86_64 changes for Delphi compatibility:
* 'mxcsr' variable made public and renamed to DefaultMXCSR.
  * GetSSECSR and SetSSECSR renamed to GetMXCSR and SetMXCSR, respectively. Previous names continue to exist as deprecated aliases.

git-svn-id: trunk@27656 -
2014-04-25 15:10:12 +00:00
sergei
f767d9017c * Fixed sin(-0.0) to return -0.0 (was returning 0.0)
* Fixed lnxp1(-1.0) to return -Inf (was returning NaN)

git-svn-id: trunk@27639 -
2014-04-23 10:03:18 +00:00
sergei
57c762c8d2 + Inserted license header for AMath routines.
git-svn-id: trunk@27552 -
2014-04-12 20:45:44 +00:00
sergei
bd58adfcc9 + Added credits for functions reused from AMath/DAMath libraries.
git-svn-id: trunk@27518 -
2014-04-10 20:29:49 +00:00
michael
d45ced0221 * Added DegNormalize
git-svn-id: trunk@27492 -
2014-04-06 16:37:43 +00:00
nickysn
070955bcd0 * fixed 'data element too large' error in i8086 far data memory models
git-svn-id: trunk@27390 -
2014-03-30 18:17:37 +00:00
marco
ed3a49372d * strutils moved to packages/rtl-objpas
git-svn-id: trunk@27339 -
2014-03-29 17:51:44 +00:00
nickysn
a0f08f3d5c * objpas.IntegerArray on 16 and 8-bit CPUs made as large as possible without
causing 'data element too large'

git-svn-id: trunk@27250 -
2014-03-24 00:01:13 +00:00
nickysn
a4ac2a3538 * fixed compilation of unit objpas in i8086 large memory model
git-svn-id: trunk@27249 -
2014-03-23 23:54:15 +00:00
nickysn
fb20791cbe * replaced all the remaining uses of nativeint in the rtl with either sizeint
or objpasint

git-svn-id: trunk@27237 -
2014-03-23 13:38:16 +00:00
sergei
94a045aa3d * Moved declarations of TFPURoundingMode,TFPUExceptionMask and TFPUPrecisionMode to System unit. Declarations in Math unit changed to aliases.
* Changed type of softfloat_exception_mask and softfloat_exception_flags to TFPUExceptionMask, softfloat_rounding_mode to TFPURoundingMode.
- Cleaned out numerous conversions happening when getting/setting exception mask and rounding mode.

git-svn-id: trunk@27215 -
2014-03-20 22:44:46 +00:00
marco
a1351db576 * rtl-unicode package, containing unicodeducet, collation units and *bidi* units
git-svn-id: trunk@27207 -
2014-03-20 18:28:38 +00:00
sergei
0255eb880e - Removed mathuh.inc files which are identical for all targets (except m68k, see below), their contents moved into math.pp.
+ m68k/mathu.inc: added stub implementations for missing functions.

git-svn-id: trunk@27180 -
2014-03-18 20:01:15 +00:00
nickysn
a176c2d4f5 + add overloaded versions of HexStr(pointer) for i8086 near and far pointers
- rm ifdefs for i8086 far code memory model when doing stack traces. The
  compiler will now choose the correct overload of HexStr according to the
  CodePointer type.

git-svn-id: trunk@27163 -
2014-03-16 17:40:31 +00:00
nickysn
015c7e951a * Changed the default packset setting to 1 and disabled the padding of 3-byte
sets to 4 bytes on 16 and 8-bit CPUs. This is compatible with Turbo Pascal 7
  and Delphi 1.

git-svn-id: trunk@27140 -
2014-03-14 23:51:14 +00:00
michael
f9bb91d722 * Fix case for negative dates (bug ID 23464)
git-svn-id: trunk@27124 -
2014-03-13 09:42:01 +00:00
nickysn
b6075c59c1 * changed to for loop counters in the resource string helper routines from
nativeint to objpas.integer

git-svn-id: trunk@27099 -
2014-03-11 20:52:09 +00:00
nickysn
8926a3268c * fixed TTimeStamp for integer=smallint
git-svn-id: trunk@27087 -
2014-03-10 22:31:48 +00:00
nickysn
afea0739c6 * fixed StrToInt, IntToStr and friends for objpas.integer=smallint
git-svn-id: trunk@27067 -
2014-03-10 00:33:53 +00:00
nickysn
19a39cde4a * 16-bit objpas.integer type fixes in Math.DivMod
git-svn-id: trunk@27052 -
2014-03-09 16:46:49 +00:00
nickysn
f2cf516529 * set objpas.integer = smallint on 16-bit and 8-bit CPUs. Rationale:
1) Delphi 1 compatibility
  2) we reclaim pascal's 'Integer' type to be the integer type (at least 16 bits
     in size) that is the most efficient to work with on the target processor

git-svn-id: trunk@27048 -
2014-03-09 16:33:20 +00:00
nickysn
9418fa9b8b * fixed compilation of unit classes with integer=smallint
git-svn-id: trunk@27045 -
2014-03-09 14:21:32 +00:00
nickysn
ca451988a8 * EInOutError.ErrorCode changed from Longint to Integer (16-bit Delphi 1
compatibility)

git-svn-id: trunk@27044 -
2014-03-09 13:21:27 +00:00
nickysn
73494f004d * the Exception constructors' AHelpContext parameter changed from Integer to
Longint

git-svn-id: trunk@27043 -
2014-03-09 13:09:25 +00:00
michael
77b771e91b * Let ToString return something meaningful for Exception
git-svn-id: trunk@26969 -
2014-03-06 13:34:40 +00:00
nickysn
fec4c6a6e2 * various rtl fixes that allow objpas.integer to be 16-bit on 16-bit targets
(still not sure if it's a good idea, but trying, at least, is harmless - we
  can always rollback to integer being equal to longint)

git-svn-id: trunk@26966 -
2014-03-06 01:10:18 +00:00
michael
a1252febae * Make sure UpdateCount=0 when inherited destructor is called (and ooFree is dispatched (Bug ID 25821)
git-svn-id: trunk@26960 -
2014-03-05 09:22:19 +00:00
michael
15bb6b2c72 * Patch from Luiz Americo to make fpobserver notifications take care of begin/endupdate (Bug ID 25820)
git-svn-id: trunk@26959 -
2014-03-05 09:15:30 +00:00
nickysn
ae28ecd5f8 * changed the for loop counters in the resource string helper routines to be
nativeint instead of longint (generates more efficient code on i8086)

git-svn-id: trunk@26922 -
2014-03-02 13:42:30 +00:00
nickysn
5242ed7864 * changed TResStrInitTable.Count and TWStrInitTablesTable.Count to nativeint
git-svn-id: trunk@26921 -
2014-03-02 13:27:59 +00:00
nickysn
49b65fedd9 * TResourceStringTableList.Count type changed from ptrint to nativeint. Both
types are the same on almost all platforms. The only difference is on i8086,
  where ptrint changes according to the memory model, while nativeint stays
  16-bit. In the compiler, the count is emitted with Tai_const.Create_pint,
  which also stays 16-bit in all memory models, so the correct corresponding
  type in the rtl is nativeint.

git-svn-id: trunk@26920 -
2014-03-02 12:47:32 +00:00
sergei
6c66b8ffe3 * Fixed upper limit in tbits.findnextbit, Mantis #25398.
git-svn-id: trunk@26754 -
2014-02-11 16:39:45 +00:00
michael
0f7e1af3bb * Fixed bug #23464
git-svn-id: trunk@26753 -
2014-02-11 16:36:07 +00:00
michael
249a83ee83 * Fix for bug ID #25464 by Karl-Michael Schindler
git-svn-id: trunk@26747 -
2014-02-11 13:17:04 +00:00
michael
68429834a7 * Fixed bug #25049
git-svn-id: trunk@26721 -
2014-02-08 11:39:31 +00:00
michael
ddda356ee8 * Applied patch from Bug ID #25048, fixing write of TPersistent (TCollection)
git-svn-id: trunk@26720 -
2014-02-08 11:16:12 +00:00
michael
f163a35238 * UniqueString called on initial string for stringstream (bug ID 24130)
git-svn-id: trunk@26715 -
2014-02-08 09:55:31 +00:00
michael
0e68cb641d * Applied patch from bug ID #25635, fixing memory leak
git-svn-id: trunk@26714 -
2014-02-08 09:42:59 +00:00
marco
4fa8998541 * add SMsgDlgClose, Patch by stocki Mantis #25616
git-svn-id: trunk@26638 -
2014-01-31 19:56:50 +00:00
michael
b5a2b3860b * Added AddEmptyStrings to ExtractStrings (bug 25633)
git-svn-id: trunk@26600 -
2014-01-28 08:38:29 +00:00
michael
b023e30164 * Only resize TStringStream.Datastring in case the string will grow because of the write operation
git-svn-id: trunk@26599 -
2014-01-28 08:37:49 +00:00
Jonas Maebe
5d389e99fd * always use the *W version of the Windows API in ExtractShortPathName() so
it works correctly regardless of white kind of string is passed in
  (and return a string encoded in DefaultRTLFileSystemCodePage)

git-svn-id: trunk@26450 -
2014-01-13 22:21:09 +00:00
marco
67e64e8be3 * killed a ver2_4 exception
git-svn-id: trunk@26410 -
2014-01-08 14:12:27 +00:00
marco
dea2c743d5 * Initial active version of
rtl-extra : objects matrix ucomplex
   rtl-objpas: convutil(s) dateutil(s) stdconvs variants varutils
   

git-svn-id: trunk@26398 -
2014-01-05 19:20:15 +00:00
marco
ebe262762a * Clean out of $i textrec and filerec includes that are redundant now that cpstrrtl exposes
those records via system. 

git-svn-id: trunk@26356 -
2014-01-02 13:26:09 +00:00
nickysn
4eb9043ac7 * x87 optimized version of math.log2() for i8086, i386 and x86_64
git-svn-id: trunk@26266 -
2013-12-22 23:21:41 +00:00
nickysn
90b69184f1 * use a {$if defined()} sequence, instead of nested ifdefs for selecting the
float type in unit math

git-svn-id: trunk@26265 -
2013-12-22 19:18:15 +00:00
Jonas Maebe
5e129b4ac5 * fixed TBinaryObjectReader.ReadSingle(), .ReadCurrency() and .ReadDate():
explicitly typecasting a qword to single/currency/tdatetime is no different
    from assigning it directly, since integer types are assignment-compatible
    with floating point types (mantis #25170)

git-svn-id: trunk@26146 -
2013-11-27 19:59:48 +00:00
sergei
43c96cd898 * TBits.ORBits and TBits.XORBits: properly handle case when other TBits object has smaller Size. Mantis #25289.
git-svn-id: trunk@26121 -
2013-11-23 19:12:57 +00:00