Commit Graph

40850 Commits

Author SHA1 Message Date
florian
f34bee1df7 * arm thumb does not support ror reg1,reg2,#imm
git-svn-id: trunk@25355 -
2013-08-23 18:41:24 +00:00
florian
950194678a * handle jump tables correctly when inserting constant pools on arm thumb
git-svn-id: trunk@25354 -
2013-08-23 18:41:21 +00:00
nickysn
4f0c160110 * Makefile regenerated with latest fpcmake from trunk, which has i8086-msdos support
git-svn-id: trunk@25353 -
2013-08-23 16:51:31 +00:00
Károly Balogh
6591a24bd3 removed some code which must never be called, added an internalerror() instead
git-svn-id: trunk@25352 -
2013-08-23 15:58:37 +00:00
florian
e514e84c83 * first_moddivint should not change the return type if div/mul/add is used
* use create_internal when creating internally add nodes

git-svn-id: trunk@25351 -
2013-08-23 15:23:00 +00:00
florian
3ebe708574 * do not use r13/r15 for certain data processing operations
* correct OP_AND with certain types of constants

git-svn-id: trunk@25350 -
2013-08-23 15:22:58 +00:00
florian
2fe48077b2 * using r13 and r15 is on arm thumb2 also forbidden under certain conditions for the instructions A_SUB,A_AND,A_BIC,A_EOR
git-svn-id: trunk@25349 -
2013-08-23 15:22:55 +00:00
florian
d5ddf39f73 * do not do the RedundantMovProcess optimization when the involved registers are r13 or r15 and if the target is arm thumb(2)
git-svn-id: trunk@25348 -
2013-08-23 15:22:53 +00:00
florian
b4c7b40049 * do not split statements following A_IT* instructions on arm thumb2 when inserting constant pools
git-svn-id: trunk@25347 -
2013-08-23 15:22:51 +00:00
florian
8884f1c0bf * arm thumb2 supports only left shifted index registers up to 3 bits
git-svn-id: trunk@25346 -
2013-08-23 15:22:49 +00:00
florian
6df2917d93 * fix spilling of vfp instructions
* spelling mistake fixed

git-svn-id: trunk@25345 -
2013-08-23 15:22:46 +00:00
florian
c350c3a5e4 * arm thumb2 does not understand tst reg1,reg2,lsl reg3
git-svn-id: trunk@25344 -
2013-08-23 15:22:44 +00:00
florian
bb73a2891b * prevent generation of mul/mla statements with illegal registers
git-svn-id: trunk@25343 -
2013-08-23 15:22:41 +00:00
florian
7df123aa1e * insert it statements for arm thumb2 in syscall assembler procedures
git-svn-id: trunk@25342 -
2013-08-23 15:22:38 +00:00
michael
3dd8673212 * Handle EINTR for read/Write operations
git-svn-id: trunk@25341 -
2013-08-23 14:27:23 +00:00
Mattias Gaertner
1e48781694 instantfpc: fixed showing compiler error
git-svn-id: trunk@25340 -
2013-08-23 13:47:07 +00:00
Károly Balogh
add4aa10df don't try to clean unsupported CPU-OS combinations
* greatly enhances clean performance over FSes with limited to no caching (networked file systems (eg. SSHFS), Amiga, etc)
* also an indentation fix

git-svn-id: trunk@25339 -
2013-08-23 13:25:44 +00:00
sergei
bfcdf6b825 * Replaced tai_ent and tai_ent_end classes with tai_directive subtypes. Having separate classes for them is unnecessary complication.
git-svn-id: trunk@25338 -
2013-08-23 12:38:49 +00:00
lacak
b2e7364ae8 fcl-db: bufdataset: improves rev.25333; length indicator is saved only for variable length fields
git-svn-id: trunk@25337 -
2013-08-23 11:56:53 +00:00
sergei
108d3cb090 - Removed tai_label.is_global field, was used in just one place and is generally not needed: binding is controlled by 'bind' property of referenced AsmLabel.
git-svn-id: trunk@25336 -
2013-08-23 11:34:08 +00:00
sergei
b8a76c5da2 - Removed gen_proc_symbol procedure, no longer used, replaced by thlcgobj.gen_proc_symbol method.
git-svn-id: trunk@25335 -
2013-08-23 10:54:57 +00:00
svenbarth
1a3b70960a Add example for connecting to a remote registry on Windows.
git-svn-id: trunk@25334 -
2013-08-23 08:54:25 +00:00
lacak
625a2c18f3 fcl-db: bufdataset: fixes bug when saving of BLOB data using SaveToFile or SaveToStream in dfBinary format.(instead of BLOB data only pointer to "BLOB buffer record" is saved)
Format of saved data is changed as follows:
- Identification (start of file) changes from "BinBufDataset" (OLD version named 1.0) to "BinBufDataSet" (NEW version named 2.0)
- Just after Identification ("BinBufDataSet") is written one byte indicating version (for now it is 20 as 2.0)
- FieldDefs are saved in same format as in OLD format (nothing chages)
- Record header is saved in same format as in OLD format (nothing chages)
- Record data are saved field by field, where each field begins with 4 bytes indicating length of data, followed by data (here is used TField.AsBytes to get actual data)

Backward compatibility is keept in reading OLD format
When saving NEW format is always used

git-svn-id: trunk@25333 -
2013-08-23 08:38:29 +00:00
svenbarth
a298a9ecf8 Implement TRegistry.RegistryConnect for Windows (excluding WinCE).
registry.pp, TRegistry:
  * use FSysData to hold information whether we need to close the RootKey
winrec.inc, TRegistry:
  + add a TWinRegData type that holds the information whether the RootKey was explicitely opened by us
  * SysRegCreate: allocate FSysData as PWinRegData
  * SysRegFree: close the RootKey if necessary and free FSysData
  + RegistryConnect: implement for Win32/Win64; update RootKey only if RegConnectRegistry connects successfully, also the RootKey is now owned by us
  * SetRootKey: update the RootKey only if it differs from previous value (avoids orphaning the key by doing a "reg.RootKey := reg.RootKey") and close the previous RootKey if it was owned by us
  

git-svn-id: trunk@25332 -
2013-08-23 08:22:51 +00:00
Jonas Maebe
ce6e72c341 * define COREVIDEO_SUPPORTS_IOSURFACE for iphonesim platform
git-svn-id: trunk@25331 -
2013-08-22 22:42:12 +00:00
Jonas Maebe
1af312c129 * don't overwrite result of librarysearchpath.FindFile() in
GetDarwinPrtobjName() if it found something

git-svn-id: trunk@25330 -
2013-08-22 21:37:06 +00:00
svenbarth
b57a587842 Fix for Mantis #24903.
ncon.pas, tstringconstnode:
  * buildderefimpl: don't build the deref if we don't need to
  * derefimpl: do not try to resolve the deref if it wasn't stored at all

git-svn-id: trunk@25329 -
2013-08-22 20:18:14 +00:00
Jonas Maebe
528f5d1096 * initialise result of GetDarwinPrtobjName() in case GetDarwinCrt1ObjName()
returns an empty string

git-svn-id: trunk@25328 -
2013-08-22 19:55:57 +00:00
reiniero
e7b833bd1b sqldb: tests: clean up forms so database.ini editor is in main form
git-svn-id: trunk@25327 -
2013-08-22 11:07:39 +00:00
lacak
62857c565e fcl-db: tests: formatting
git-svn-id: trunk@25326 -
2013-08-22 09:57:45 +00:00
Jonas Maebe
4ec9ec2009 + PIC support for Darwin/ARM:
o does not use GOT
   o enabled by default like for other Darwin platforms
  - removed Darwin/ARM call stub support: no longer needed with current
    Xcode versions (at least Xcode 4.2+), and we didn't support PIC
    in them yet

git-svn-id: trunk@25325 -
2013-08-22 08:14:24 +00:00
Jonas Maebe
8ffb704b8c * don't split address labels from the instruction they belong with when
rescheduling (needed for GOT-less PIC)

git-svn-id: trunk@25324 -
2013-08-22 08:14:18 +00:00
Jonas Maebe
b31e5c2536 + PIC support for ARM jump tables (only for plain ARM right now, not
yet for thumb/thumb2)

git-svn-id: trunk@25323 -
2013-08-21 22:28:24 +00:00
Jonas Maebe
d5c86bcfef * created combined (lipo'd) armv6 and armv7 versions
git-svn-id: trunk@25322 -
2013-08-21 22:28:17 +00:00
paul
4ee7b4e7e2 rtl: code refactoring by Inoussa (mantis #0024898)
git-svn-id: trunk@25320 -
2013-08-21 15:44:31 +00:00
Jonas Maebe
936bd3c902 * fixed definitions/uses of asmsymbols: always explicitly define local
symbols as local, don't use RefAsmSymbol for symbols that may still
    be defined/used as local symbols later

git-svn-id: trunk@25318 -
2013-08-21 09:49:07 +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
2cb8125bfc tests: fix test to use fpwidestring manager (by Inoussa, mantis #0024890)
git-svn-id: trunk@25316 -
2013-08-21 06:35:25 +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
lacak
99e67d19cc fcl-db: bufdataset: partialy fixes TestOpeningNonExistingDataset. See also #22030.
git-svn-id: trunk@25314 -
2013-08-20 06:42:09 +00:00
lacak
4237cbcfd8 fcl-db: bufdataset: formatting
git-svn-id: trunk@25313 -
2013-08-20 06:11:06 +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
ec7be0d231 test: add more fpwidestring tests by Inoussa
git-svn-id: trunk@25311 -
2013-08-20 02:52:07 +00:00
florian
6606955b88 + basic support for pic on arm-linux
git-svn-id: trunk@25297 -
2013-08-19 21:35:37 +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
lacak
721d695ae4 fcl-db: base: implements AsBytes for TBlobField
git-svn-id: trunk@25294 -
2013-08-19 12:06:36 +00:00
lacak
9cf1ef90cd fcl-db: base: formatting (char-case)
git-svn-id: trunk@25293 -
2013-08-19 11:43:16 +00:00
nickysn
a1fa1954b8 * i8086 medium model fixes in Tresourcestrings.CreateResourceStringData
git-svn-id: trunk@25292 -
2013-08-18 21:18:22 +00:00
masta
dad4079e0c Fix shift128Right in rtl/inc/softfpu.pp
The old code would always return 0 if the shiftamount was more than 63.

git-svn-id: trunk@25291 -
2013-08-18 21:12:53 +00:00