Commit Graph

40695 Commits

Author SHA1 Message Date
florian
6f5bcaae2b * UMUL et al. have only register restrictions on arm below v6
git-svn-id: trunk@25171 -
2013-07-24 20:18:12 +00:00
sergei
404c3efa58 * MIPS: handle get_frame internally, so it sets pi_needs_stackframe flag on current procedure. This makes possible not to force pi_needs_stackframe on every procedure and thus omit saving/restoring $fp register when it is not necessary.
git-svn-id: trunk@25170 -
2013-07-24 15:25:12 +00:00
marco
b33431775f * workaround for Lazarus include file browsing bug (Mantis #24778).
Committed because it is very unintrusive and actually improves the style
   of the unit, though in essence it is a lazarus problem.

git-svn-id: trunk@25168 -
2013-07-24 14:24:36 +00:00
Jonas Maebe
832b902df6 * ordered the declarations the same was as in bunxh.inc, so it's easier
to see what's missing
  + added missing declarations for fpexecv (causing an unnecessary
    slowdown in executeprocess due to it calling the ansistring overload),
    fplink, fpwait and fpsetrlimit
  * changed sigset parameters of FpSigSuspend and FpSigTimedWait from const
    into constref, since they must be passed by reference

git-svn-id: trunk@25167 -
2013-07-24 13:49:35 +00:00
lacak
59b2c38530 fcl-db: sqldb: formatting
git-svn-id: trunk@25166 -
2013-07-24 11:02:02 +00:00
lacak
bc7fd7afa8 fcl-db: sqldb: - Move private method "GetStatementInfo" to protected and make it virtual to allow TSQLConnection descendants override it
- Rename new property "CheckParams" to "ParamCheck" to align with other components such as Zeos, IBObjects, IBX, ADODB, ElevateDB, SQLMemTable and many others.

git-svn-id: trunk@25165 -
2013-07-24 10:40:08 +00:00
Jonas Maebe
35b771e421 * previously, we preferred pchar->shortstring to pchar->ansistring in
case of {$h-}. Now this is no longer done because it caused
    pchar->ansistring and pchar->unicodestring to have the same
    overload preference, which regularly caused problems with the
    added unicodestring overloads in the RTL in the cpstrrtl branch.
  * fixed tw3328.pp (it was missing a {$mode delphi}), which failed
    before this patch but compiles new
  + extra variants of that test for the compiler changes

git-svn-id: trunk@25164 -
2013-07-24 09:39:34 +00:00
lacak
7e137889ff fcl-db: tests: formatting (reorder methods, so related tests are together)
git-svn-id: trunk@25163 -
2013-07-23 11:11:24 +00:00
sergei
b0153f1482 * RTL, fpc_val_int64_shortstr and fpc_val_qword_shortstr: variable 'u' does not have to be 64-bit because it only takes values 0 to 15. Changing to sizeint improves code quality on 32-bit targets.
* fpc_val_uint_shortstr and fpc_val_qword_shortstr: variable 'prev' is not needed, removed.
* ShortCompareText: variable 'i' type changed from integer to sizeint; integer is 16-bit here, resulting in suboptimal code on non-x86.

git-svn-id: trunk@25159 -
2013-07-22 10:13:03 +00:00
nickysn
6daadff427 * compilation of unit objects in the i8086 medium memory model fixed (via the use of codepointer)
git-svn-id: trunk@25158 -
2013-07-21 17:43:44 +00:00
Jeppe Johansen
d89b9a4311 Add support in ARM assembler reader for ldr reg, =literal syntax
git-svn-id: trunk@25157 -
2013-07-21 16:06:57 +00:00
Jeppe Johansen
fdcc68cfd7 Disabled preindex/postindexed peephole optimizations for Thumb and Thumb2
git-svn-id: trunk@25156 -
2013-07-21 14:21:16 +00:00
Jeppe Johansen
0977d76f42 Mark global symbols with assembler references as non-regable
git-svn-id: trunk@25155 -
2013-07-21 13:41:10 +00:00
sergei
dddc78514d * Internal ELF linker: for MIPS targets, place .got section after .data. This corresponds to behavior of ld, and reduces amount of processing when adding GOT slots for local symbols (which requires re-doing layout for all sections that come after .got)
git-svn-id: trunk@25154 -
2013-07-21 13:10:57 +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
nickysn
ef2423128f * use CodePointer instead of Pointer in TObject.MethodName() and .MethodAddress() for i8086 medium memory model compatibility
git-svn-id: trunk@25152 -
2013-07-20 22:08:38 +00:00
nickysn
2e97de9522 + added an i8086 specific override of thlcgcpu.location_force_mem, which handles 6-byte (medium/compact memory model) method pointers
git-svn-id: trunk@25151 -
2013-07-20 19:40:27 +00:00
nickysn
f5a0702f9a + added i8086 specific implementation of Tcgtypeconvnode.second_nil_to_methodprocvar, which supports memory models with far code and/or far data
git-svn-id: trunk@25150 -
2013-07-20 16:58:41 +00:00
nickysn
91d7b2bc94 + added i8086 medium/compact model 6-byte (mixed near + far) method pointer support in tcgloadnode and tcgassignmentnode
git-svn-id: trunk@25149 -
2013-07-20 15:06:14 +00:00
sergei
8e6d4b41e2 + MIPS: started the peephole optimizer.
git-svn-id: trunk@25148 -
2013-07-20 13:44:21 +00:00
sergei
9494fadf08 * MIPS: set pi_do_call flag for assembler procedures with stackframes, so in PIC mode it further receives pi_needs_got in PIC mode and allocates the GP save temp.
* Deallocate GP save temp in epilogue to avoid warnings when compiled with -dEXTDEBUG
* g_concatcopy: don't check alignment, this allows single byte or word locations to be copied with 2 instructions. Larger unaligned references are supposed to be handled in g_concatcopy_unaligned instead.

git-svn-id: trunk@25147 -
2013-07-20 13:42:41 +00:00
Károly Balogh
4df92ddc08 dummy GetLastOSerror to make fcl-whatever build, and header cleanup/fixes
git-svn-id: trunk@25146 -
2013-07-19 22:55:44 +00:00
Károly Balogh
4f041157c4 build ctypes on Amiga too
git-svn-id: trunk@25145 -
2013-07-19 22:54:34 +00:00
Károly Balogh
9363585d19 don't try to build SVN on Amiga for now
git-svn-id: trunk@25144 -
2013-07-19 22:49:33 +00:00
sergei
f80ce76a69 + MIPS: emulate "flags", i.e. support LOC_FLAGS location. This allows to generate differently optimized code for branching and for conversion to register, typically saving a register and instruction per compare.
git-svn-id: trunk@25131 -
2013-07-19 14:06:47 +00:00
sergei
9a6edd0fb8 * MIPS: handle restoring GP after calls without GAS macro processing, removes ugly workaround for GAS bug.
git-svn-id: trunk@25130 -
2013-07-19 08:04:06 +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
4b93fa1323 * set all the i8086 calling conventions' volatile registers to be the same as the 'pascal' calling convention; this should make cdecl compatible with 16-bit C compilers
git-svn-id: trunk@25128 -
2013-07-18 21:01:41 +00:00
sergei
dffe9cbc55 * Output sizes in map files without truncation and without leading zeros, plus a few more tweaks to make it look more like map files generated by ld. Resolves #24747.
git-svn-id: trunk@25127 -
2013-07-17 14:52:02 +00:00
sergei
8b1463aedc * tprocdef.customprocname: fixed bug introduced in r21069 that was causing result to always contain 'procedure' or 'function' word. These should be included only if pno_proctypeoption flag is given. Resolves #24640.
git-svn-id: trunk@25126 -
2013-07-17 12:41:55 +00:00
reiniero
2240c24252 fcl-db: dbase: Remove erroneous language ID $20 Czech as it does not appear in references. Fixes issue #0024730: Incorrect dbf Language ID to Locale convert table for Czech locale Windows
git-svn-id: trunk@25125 -
2013-07-17 11:57:20 +00:00
reiniero
29795e1b30 fcl-db: cosmetic: dbase: add reference to language IDs/codepages for DBaseIV
git-svn-id: trunk@25124 -
2013-07-17 11:48:03 +00:00
sergei
f49be98507 * MIPS: avoid temp if possible also when converting unsigned 32-bit integers to real.
git-svn-id: trunk@25123 -
2013-07-17 11:19:19 +00:00
sergei
c3350d13f9 * MIPS: floating point parameters on stack should be loaded to/from FPU registers directly, without using temp.
git-svn-id: trunk@25122 -
2013-07-17 11:00:46 +00:00
nickysn
3e0cc1e5f6 * fixes for the compilation of unit variants in the i8086 medium memory model
git-svn-id: trunk@25120 -
2013-07-16 15:16:24 +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
d377ffdbec + added types CodePtrInt and CodePtrUInt, defined as integers with the same size as a CodePointer
git-svn-id: trunk@25118 -
2013-07-16 14:58:58 +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
nickysn
59d014dd10 + extended test tfarptr2 to also test comparisons with nil
git-svn-id: trunk@25112 -
2013-07-16 13:44:23 +00:00
nickysn
2a64ba0ad3 * do a 32-bit comparison on far and huge pointers
git-svn-id: trunk@25110 -
2013-07-16 07:57:49 +00:00
nickysn
0d565aeba9 + extended test tfarptr2.pp
git-svn-id: trunk@25109 -
2013-07-15 22:36:12 +00:00
nickysn
56fbf8d4fe + added test tfarptr2.pp, which tests far pointer equality comparison
git-svn-id: trunk@25108 -
2013-07-15 22:13:17 +00:00
nickysn
1eaa23b738 + added a simple test for i8086 far pointers
git-svn-id: trunk@25107 -
2013-07-15 14:47:02 +00:00
reiniero
4428a1e68a fcl-db: example program that shows creating, using dbf as well as exporting using dbexport
git-svn-id: trunk@25106 -
2013-07-15 11:49:36 +00:00
michael
de8f4e37c0 * Fix DeleteTempUploadedFile so it frees the stream
git-svn-id: trunk@25101 -
2013-07-15 07:39:20 +00:00
ludob
d03262d39a pqconnection: changed FCursorCount to dword to avoid 'prepared statement already exists' errors when preparing more than 64k queries in one transaction while keeping one ore more queries open
git-svn-id: trunk@25099 -
2013-07-14 13:08:06 +00:00
nickysn
6be738f256 + added directories cpu16/ and cpu16/i8086/ to the testsuite makefiles
git-svn-id: trunk@25098 -
2013-07-14 11:56:45 +00:00
nickysn
31815fc228 + added a basic i8086 far pointer size test: tptrsize.pp
git-svn-id: trunk@25097 -
2013-07-14 11:54:01 +00:00
michael
185ac771b0 * Added first/lasr methods to TMimeItems and TUpLoadedFiles (Patch by Silvio Clecio)
git-svn-id: trunk@25093 -
2013-07-13 12:21:52 +00:00
marco
45b84ab8ca * added TElemdesc alias (found it used in Delphi code)
git-svn-id: trunk@25087 -
2013-07-11 21:33:13 +00:00