Commit Graph

1488 Commits

Author SHA1 Message Date
michael
3c7881ef04 * Fixed AV when setting capacity to something smaller than count but larger than 0 (bug ID 24943)
git-svn-id: trunk@25403 -
2013-09-03 07:10:53 +00:00
svenbarth
b288179d56 Fix for Mantis #24929.
rtl/sysutils/datih.inc:
  + add StrToDate overload which allows passing of specific TFormatSettings parameter
rtl/sysutils/dati.inc:
  * implement new StrToDate overload by calling IntStrToDate similar to StrToTime

git-svn-id: trunk@25392 -
2013-09-01 12:46:54 +00:00
nickysn
e342c11085 + introduced a private type TCodePtrList, which is the specialization
TFPGList<CodePointer> on archs/memory models where CodePointer is different
  than Pointer. On archs/memory models where CodePointer = Pointer, TCodePtrList
  is simply an alias of TList and the fgl unit isn't pulled in.
* the type of FindGlobalComponentList changed to TCodePtrList and the typecasts
  from TFindGlobalComponent (procvar type) to Pointer changed to CodePointer.
  This fixes compilation of unit classes in the i8086 medium memory model.

git-svn-id: trunk@25357 -
2013-08-23 19:25:51 +00:00
paul
4ee7b4e7e2 rtl: code refactoring by Inoussa (mantis #0024898)
git-svn-id: trunk@25320 -
2013-08-21 15:44:31 +00:00
paul
4c23d2281a rtl: fpwidestring:
- retry to load currentMap if it is not assigned
  - add more tests for fpwidestring manager

git-svn-id: trunk@25317 -
2013-08-21 06:56:26 +00:00
paul
d375cc88a1 rtl: apply patch of Inoussa which fixes undefined result of UnicodeToLower and UnicodeToUpper (mantis #0024889)
git-svn-id: trunk@25315 -
2013-08-21 06:32:17 +00:00
paul
e913ab1f9f rtl: apply patch of Inoussa which drops unicode manager dependency on SysUtils (issue #0024887)
git-svn-id: trunk@25312 -
2013-08-20 04:55:05 +00:00
paul
7ac3647ff2 rtl: apply patch of Inoussa with Incremental Implementation of the Unicode Collation Algorithm (mantis #0024873)
git-svn-id: trunk@25296 -
2013-08-19 16:35:12 +00:00
paul
f285948fcb rtl, utils: apply patch of Inoussa:
This patch implements collation'loading at runtime. This reduce the final executable' size as the collation's data are now externaly stored. Note that It requires the external collation files to be shipped and the program to load the collations it needs using the "LoadCollation"/"RegisterCollation" procedure(s).

The external collation files are produced by "cldrparser" (while producing the static files). The root collation "ducet" 's external file is produced by "unihelper".

It is important to note that these files are endian specific :
 * collation_*_be.bco for big endian systems
 * collation_*_le.bco for little endian system.

The root collation should at be registered, be it staticaly by using the "unicodeducet" unit or dynamicaly by making a call sush as RegisterCollation(<collation dir>,'ducet'). 
It is possible, in the same application, to make use of static and dynamic.

git-svn-id: trunk@25295 -
2013-08-19 13:42:11 +00:00
paul
24f8623490 rtl, utils: apply patch from Inoussa (mantis #24158):
*  Fix the crash of the Unicode Manager and "cldrparser". Tested on WinCE/ARM emulator (That does produce unaliged exception).

git-svn-id: trunk@25208 -
2013-08-02 16:19:24 +00:00
nickysn
4953fd0bb0 * use CodePointer in Classes.TReader.FindMethod() and TFindMethodEvent for i8086 medium memory model compatibility
git-svn-id: trunk@25153 -
2013-07-20 22:10:22 +00:00
michael
4afefd6cbe * Added AddText as suggested in bug ID #24764
git-svn-id: trunk@25129 -
2013-07-19 07:16:06 +00:00
nickysn
e8005f9485 * fixed compilation of unit typinfo in the i8086 medium memory model
git-svn-id: trunk@25119 -
2013-07-16 15:13:11 +00:00
nickysn
79db53b049 * TPropInfo.GetProc, .SetProc and .StoredProc changed to CodePointer for compatibility with the i8086 medium memory model
git-svn-id: trunk@25117 -
2013-07-16 14:50:16 +00:00
marco
eebfeca41d * removed all ver2_* defines older than 2_4. 2_4 can probably also get removed from trunk, but better in a separate commit.
git-svn-id: trunk@24971 -
2013-06-25 12:46:30 +00:00
paul
5a6b6d2c4d rtl: fix loading of long integer values to float properties
git-svn-id: trunk@24947 -
2013-06-23 11:18:25 +00:00
sergei
6cb66faffe * Removed redundant assignments to result in UniversalTimeToLocal and LocalTimeToUniversal, Mantis #24582.
git-svn-id: trunk@24884 -
2013-06-12 14:33:23 +00:00
paul
fa0d5bb66e rtl: add tkBool into TTypeData case (issue #0024538)
git-svn-id: trunk@24794 -
2013-06-03 00:59:23 +00:00
Károly Balogh
60879c9c4f also return the colon for ExtractFileDrive on Amiga/MorphOS
git-svn-id: trunk@24765 -
2013-06-02 11:37:29 +00:00
Károly Balogh
7ce3b803b3 basic Amiga/MorphOS support into ExtractFileDrive
git-svn-id: trunk@24683 -
2013-05-31 23:53:47 +00:00
nickysn
730f7c82b7 * some fixes, intended to get units fgl and classes to compile on 16-bit cpus
git-svn-id: trunk@24649 -
2013-05-30 18:58:25 +00:00
nickysn
4bc99b1315 * use a PtrInt cast in typinfo.SetObjectProp
git-svn-id: trunk@24612 -
2013-05-25 18:47:44 +00:00
nickysn
fe48700483 * another i8086 compilation fix for typinfo
git-svn-id: trunk@24602 -
2013-05-25 15:51:36 +00:00
nickysn
4b220d7261 * fixed 'data element too large' error when compiling typinfo on i8086
git-svn-id: trunk@24600 -
2013-05-25 15:43:26 +00:00
nickysn
1d8d0d42a5 * size of TByteArray and TWordArray reduced by 1 on 16-bit CPUs to avoid 'structure too large' errors when compiling the sysutils unit
git-svn-id: trunk@24591 -
2013-05-25 13:28:13 +00:00
sergei
23cb216435 * RTTI fix for alignment-sensitive targets:
* typinfo.pp: the newly introduced records were added into {$PACKRECORDS 1} area of effect, which  effectively made all records packed, entirely defeating FPC_REQUIRES_PROPER_ALIGNMENT purpose. 
  * added alignment between TProcedureParam records, adjusted TProcedureSignature.GetParam() appropriately.
   * ncgrtti.pas: added two missing alignments and removed a redundant one.
   * tests/test/trtti9.pp: modified to use TProcedureSignature.GetParam() and endian-independent check for parameter flags.

git-svn-id: trunk@24562 -
2013-05-23 16:03:42 +00:00
paul
8b98a38b56 rtl: add a helper method to get TProcedureSignature parameter by index
git-svn-id: trunk@24480 -
2013-05-10 12:41:37 +00:00
paul
cd8690c197 rtl: typo
git-svn-id: trunk@24469 -
2013-05-08 03:10:03 +00:00
paul
bc973e538d compiler: write extended RTTI for tkProcVar (tkProcedure in Delphi)
rtl: add appropriate types for tkProcVar RTTI (based on Delphi help)
+ test

git-svn-id: trunk@24468 -
2013-05-08 02:52:13 +00:00
paul
fe04dedbab compiler: change RTTI size of record field offset from fixed 32bit to platform dependent integer (sizeint) since it is stored this way in the compiler. This is also Delphi compatible, rtl: adopt rtl appropriately
git-svn-id: trunk@24460 -
2013-05-07 11:25:41 +00:00
paul
dce960c97b compiler: write Delphi compatible tkArray RTTI:
- TotalSize of all array dimensions instead of first dimension size
  - Element type of last array dimension
  - dimension information
rtl:
  - adopt array initialization/finalization/copy for the new tkArray RTTI
  - add Delphi compatible TArrayTypeData member for typinfo.TTypeData structure
tests:
  - add a test which checks RTTI information for 2 dimension array

git-svn-id: trunk@24458 -
2013-05-07 09:12:18 +00:00
marco
912d8f1c52 * set namevalueseparator to =, mantis #24116
git-svn-id: trunk@24451 -
2013-05-05 14:04:15 +00:00
paul
da35b3c601 compiler, rtl: write CodePage for AnsiString RTTI (Delphi compatible), change TTypeData appropriately + test
git-svn-id: trunk@24444 -
2013-05-05 05:05:08 +00:00
paul
a020440d48 rtl: minor formatting
git-svn-id: trunk@24443 -
2013-05-05 04:30:06 +00:00
paul
1c86a9482b rtl:
- add tkRecord to TTypeData (field and type names are taken from Delphi help)
  - add tkProcedure as alias to tkProcVar

git-svn-id: trunk@24442 -
2013-05-05 04:09:31 +00:00
florian
5582827ed0 * do not depend on sysutils because unicodedata is a very basic unit
git-svn-id: trunk@24426 -
2013-05-04 16:25:41 +00:00
paul
d18f273f67 compier, rtl: revert 24424 since it fails on some platforms
git-svn-id: trunk@24425 -
2013-05-04 16:16:30 +00:00
paul
e23534eec4 compiler, rtl: some rtti related changes:
- write pint instead of 32 bit for record field offset (compiler uses aintsize = pint in TRecordDef), use PtrInt in RTL for record reading
  - add tkRecord to TTypeData (field and type names are taken from Delphi help)
  - add tkProcedure as alias to tkProcVar

git-svn-id: trunk@24424 -
2013-05-04 16:05:04 +00:00
paul
802b7db26e rtl: fix TTypeData comments
git-svn-id: trunk@24423 -
2013-05-04 14:38:41 +00:00
paul
65877e7111 rtl: fix TTypeData declaration - FPC does not generate PPTypeInfo as Delphi do but PTypeInfo instead
git-svn-id: trunk@24422 -
2013-05-04 13:17:32 +00:00
paul
d90445e5ee compiler, rtl, tests: write Delphi compatible (more or less) type information for Class Reference and Pointer types (mantis #0024367)
git-svn-id: trunk@24421 -
2013-05-04 12:47:05 +00:00
svenbarth
930b76e8fb Fix compilation of WinCE. Change the fixed UNICODE define of WinCE to FPC_OS_UNICODE, so that it won't be undefined when changing the mode/string type and that the usage of a UNICODE API is independant of the mode.
Also adjusted all Windows (Win32/64/CE) units to define a "UNICODE" if "FPC_OS_UNICODE" is defined (except the Jedi units).
Also the common RTL units that checked for UNICODE now check for FPC_OS_UNICODE.

git-svn-id: trunk@24420 -
2013-05-04 11:06:32 +00:00
florian
0e41df598e * merge i8086 branch by Nikolay Nikolov
git-svn-id: trunk@24324 -
2013-04-25 20:23:51 +00:00
michael
3125b9e6b0 * Better patch from Laco for bug #24274, without relying on try/except
git-svn-id: trunk@24323 -
2013-04-25 18:26:24 +00:00
svenbarth
bd7cc36ea6 The documentation says that a "BeginThread" needs to be followed by a "CloseThread". The implementation of TThread did not respect this yet.
Note: The only RTL where this could lead to problems is for BeOS with the old threading implementation as this does not use "BeginThread" at all (the newer implementation does).

rtl/objpas/classes/classes.inc, TThread.Destroy:
  * call "CloseThread" if the thread handle is valid (mimics the logic of the Windows RTL)
rtl/win/tthread.inc, TThread.SysDestroy:
  * remove the call to "CloseHandle"; this is done by "CloseThread" afterwards

git-svn-id: trunk@24313 -
2013-04-23 20:13:07 +00:00
marco
4d9f1629d9 * removed a workaround for pre 2.6.0 fpdocs
git-svn-id: trunk@24294 -
2013-04-21 21:33:10 +00:00
paul
8acf9aadf8 rtl, utils: Fix cross-endian collation files generation by Inoussa OUEDRAOGO (issue #0024266)
git-svn-id: trunk@24252 -
2013-04-15 08:27:14 +00:00
michael
c47443e492 * Fix for 24274 by Laco
git-svn-id: trunk@24249 -
2013-04-15 07:41:42 +00:00
florian
c25f56fa64 + several pwidechar/unicode string functions added
git-svn-id: trunk@24212 -
2013-04-09 11:09:10 +00:00
michael
3f910197c6 * Patch from Laco to fix bug ID #24096
git-svn-id: trunk@24128 -
2013-04-02 11:23:57 +00:00