Commit Graph

41388 Commits

Author SHA1 Message Date
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
svenbarth
5be1a905e8 Fix FindNext for NativeNT.
rtl/nativent/sysutils.pp, FindNext:
* the UNICODE_STRING.Length and the FILE_DIRECTORY_INFORMATION.FileNameLength fields contain the amount of bytes, not the amount of characters, so move the correct amount of bytes

git-svn-id: branches/cpstrrtl@25319 -
2013-08-21 10:24:20 +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
Jonas Maebe
40ff1c77ca * updated GetWindowsSpecialDir():string so it uses the -A or -W api call
depending on whether the RTL is compiled in Unicode mode to avoid
    conversions

git-svn-id: branches/cpstrrtl@25310 -
2013-08-19 22:47:19 +00:00
Jonas Maebe
63e8d0c31c * do not yet map GetCommandLine() to GetCommandLineW() with -dFPC_UNICODE_RTL,
because its result is assigned to the global cmdline variable which is still
    a pchar in all cases

git-svn-id: branches/cpstrrtl@25309 -
2013-08-19 22:47:15 +00:00
Jonas Maebe
5b09435055 * explicitly call several windows *A() versions of APIs so the intended
routine is called even when we compile with -dFPC_UNICODE_RTL

git-svn-id: branches/cpstrrtl@25308 -
2013-08-19 22:47:12 +00:00
Jonas Maebe
efa95bed66 * changes so the compiler can be compiled with a unicode RTL without warnings
git-svn-id: branches/cpstrrtl@25307 -
2013-08-19 22:47:07 +00:00
Jonas Maebe
2da7c3f05c * changed declarations in finah.inc and diskh.inc from ansistring to
rawbytestring
  * DoDirSeparators() and GetDirs() marked as "rtlproc" so they can accept
    non-rawbytestring arguments as their var-parameters

git-svn-id: branches/cpstrrtl@25306 -
2013-08-19 22:04:40 +00:00
Jonas Maebe
65ecd1273d * removed warning when GetEnvironmentVariable() does not return a
a unicodestring

git-svn-id: branches/cpstrrtl@25305 -
2013-08-19 22:04:36 +00:00
Jonas Maebe
f9f041d470 * SystemOldNAme -> SystemOldName
git-svn-id: branches/cpstrrtl@25304 -
2013-08-19 22:04:33 +00:00
Jonas Maebe
91079d1327 * ensure that constant string concatenations don't result in converting
input strings to DefaultSystemCodePage

git-svn-id: branches/cpstrrtl@25303 -
2013-08-19 22:04:29 +00:00
Jonas Maebe
af3f12f60c * rawbytestring/unicodestring versions of findfirst/findnext/findclose
o these routines are now generic wrappers in filutil.inc, and call
     the platform-dependent internalfindfirst/next/close routines
   o on unix, the fnmatch routine got proper support for UTF-8 matching
     (e.g., it won't match a partial UTF-8 code point to a "?" wildcard)
   o for NativeNT, a similar (untested) UTF-16 version has been added
  + test for the above
  * rawbytestring/unicodestring versions of fileage

git-svn-id: branches/cpstrrtl@25302 -
2013-08-19 22:04:25 +00:00