Commit Graph

41605 Commits

Author SHA1 Message Date
sergei
06735eaefc + MIPS peephole optimizer: eliminate redundant moves of floating point registers.
git-svn-id: trunk@26136 -
2013-11-25 13:57:19 +00:00
sergei
0bef197c84 * MIPS unary minus node: override the entire second_float method, not just emit_float_sign_change. Makes use of two-address neg.d/neg.s instructions, eliminating extra register moves.
git-svn-id: trunk@26135 -
2013-11-25 13:54:38 +00:00
Jonas Maebe
9736ed59be + add bin2obj as required tool (should have been part of r26132)
git-svn-id: trunk@26133 -
2013-11-24 21:53:33 +00:00
Jonas Maebe
1be319868c * fixed wrong invocations of (possibly cross-compiled) bin2obj
git-svn-id: trunk@26132 -
2013-11-24 20:22:09 +00:00
nickysn
bb0a3a7374 + i8086 asm implementation of fpc_frac_real, based on the i386 version
git-svn-id: trunk@26131 -
2013-11-24 18:30:40 +00:00
Károly Balogh
1bf55d3086 removed the no longer necessary special case for Amiga and MorphOS
git-svn-id: trunk@26130 -
2013-11-24 16:18:06 +00:00
Károly Balogh
835dd97628 added Amiga and MorphOS to SmartLinkLibraryOSes
git-svn-id: trunk@26129 -
2013-11-24 14:42:52 +00:00
Jonas Maebe
7be4e20307 * also don't put a value in registers if it is converted from a type that can
be held in one kind of register to a type that can be held in another kind
    of register (mantis #25361)

git-svn-id: trunk@26128 -
2013-11-24 12:49:23 +00:00
Károly Balogh
34702dbfc5 fixed staticlibprefix for Amiga and MorphOS
git-svn-id: trunk@26127 -
2013-11-24 04:19:59 +00:00
Károly Balogh
3d07b35d77 do not append directory separator when it is already there, as // equals /../ on Amiga, fixes smartlinked RTL build
git-svn-id: trunk@26126 -
2013-11-24 03:09:24 +00:00
nickysn
6cd62437f9 + i8086 asm implementation of fpc_trunc_real, based on the i386 version. Fixes
i8086 compilation after r26122.

git-svn-id: trunk@26125 -
2013-11-24 02:00:57 +00:00
Károly Balogh
ba89914471 use the new HASAMIGA instead of the non-existing AmigaShell
git-svn-id: trunk@26124 -
2013-11-24 01:22:07 +00:00
Károly Balogh
da3603e663 introduce HASAMIGA define to easily identify various Amiga flavors (similarly to HASUNIX)
git-svn-id: trunk@26123 -
2013-11-24 01:19:52 +00:00
sergei
472b82c09a * Removed 'absolute'-style aliasing records to floating-point variables, because it causes internal compiler error on some targets.
git-svn-id: trunk@26122 -
2013-11-24 00:49:22 +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
reiniero
494d79bd7e * fcl-db: TSQLScript: support explicit COMMIT/COMMIT WORK and COMMIT RETAIN script commands (with UseCommit) to use commit, respectively commit retaining.
git-svn-id: trunk@26120 -
2013-11-23 17:32:36 +00:00
Jonas Maebe
951727f453 * fixed crash when concatenating more than 2 ansistrings that are all empty
(mantis #25349, patch by C Western)

git-svn-id: trunk@26119 -
2013-11-22 12:57:41 +00:00
reiniero
15152a2045 * fcl-db: TSQLScript tests for issue #25334, probably issue #17829
cosmetic: move comments in database.ini.txt so GUI ini editor won't mess up comments
          cosmetic: readme.txt fixed old variable name

git-svn-id: trunk@26118 -
2013-11-21 12:05:12 +00:00
lacak
9d1662d977 fcl-db: ibconnection: adjust TTm structure to match definition in glibc on 64bit architectures (btw: this structure is not used by default). Bug #21656
git-svn-id: trunk@26117 -
2013-11-21 07:33:17 +00:00
sergei
b48ac658fb + Payne/Hanek argument reduction routine, improves accuracy of generic sin/cos functions over larger argument range. Tested on x86_64-win64 and mipsel-linux.
git-svn-id: trunk@26115 -
2013-11-20 22:20:47 +00:00
paul
f6e1c76aa8 rtl: apply patch of Inoussa which describes the unicode collation algorithm data layout (mantis #0025240)
git-svn-id: trunk@26114 -
2013-11-20 11:41:50 +00:00
michael
21e178d9d2 * Patch from Inoussa to add binary streaming (bug id 25335)
git-svn-id: trunk@26113 -
2013-11-20 11:29:33 +00:00
reiniero
caa86aaab9 * fcl-db: tsqlscript: do not parse : as parameters; fixes creating Firebird stored procedures with select bla into :bla
cosmetic: comments

git-svn-id: trunk@26112 -
2013-11-20 07:38:25 +00:00
reiniero
9981481729 * fcl-db: cosmetic
git-svn-id: trunk@26111 -
2013-11-20 07:36:42 +00:00
nickysn
6fdadb6248 * 8087 fixes in tx86addnode.second_cmpfloat:
- use FSTSW instead of FNSTSW
  - insert a FWAIT after the FSTSW, because the value is immediately loaded
    afterwards by the integer unit of the CPU

git-svn-id: trunk@26110 -
2013-11-19 23:22:49 +00:00
nickysn
7ae59a62c5 * emit a FWAIT after a floating point store, when targeting the 8087 and 80287
git-svn-id: trunk@26109 -
2013-11-19 23:11:26 +00:00
paul
6e7cc22207 compiler: don't allow to assign to for-in loop variable (bug #0025318)
git-svn-id: trunk@26108 -
2013-11-19 05:29:37 +00:00
nickysn
0020a2ed10 + when targeting the i8087, emit FWAIT prefix manually for the 8087 instructions
that require it in the NASM asm writer, since NASM doesn't do it itself.

git-svn-id: trunk@26107 -
2013-11-19 01:26:57 +00:00
nickysn
12b2f86e99 + added function requires_fwait_on_8087(), which checks whether a given
instruction needs adding a FWAIT prefix on the i8087.

git-svn-id: trunk@26106 -
2013-11-18 23:38:57 +00:00
sergei
949b994a68 - Got rid of "goto".
git-svn-id: trunk@26104 -
2013-11-17 19:32:54 +00:00
nickysn
85e1f444c5 * is_ecx_used modified to only check the callee side, but after a call to
init_paraloc_info to ensure that the callee side paraloc info is created.

git-svn-id: trunk@26103 -
2013-11-17 15:46:56 +00:00
reiniero
f19d65118d * fcl-db gui test runner: move edit .ini button out of the way a bit
git-svn-id: trunk@26102 -
2013-11-17 10:50:30 +00:00
nickysn
fbca7ee2cb * check callerside if calleeside isn't available in is_ecx_used. Based on the
patch by Do-wan Kim, mantis #25269.

git-svn-id: trunk@26101 -
2013-11-16 19:39:15 +00:00
michael
a13f479b50 * Added PeriodBetween by Bart
git-svn-id: trunk@26100 -
2013-11-16 17:18:09 +00:00
nickysn
3eeb422abe * use $(NASM) to compile the asm loaders. Fixes mantis #25223.
git-svn-id: trunk@26099 -
2013-11-16 13:05:55 +00:00
nickysn
5b3163beb4 * updated fpcmake revision.inc
git-svn-id: trunk@26098 -
2013-11-16 12:38:25 +00:00
nickysn
07e3792801 + added NASM to the default tools in fpcmake.ini
git-svn-id: trunk@26097 -
2013-11-16 12:37:46 +00:00
marco
f488e8decd * add some definition of char (#0..#255) to the dummy system types.
git-svn-id: trunk@26096 -
2013-11-15 20:04:13 +00:00
sergei
4f0b3f61ec * fpc_trunc_real: explicitly cast float64.high and float32 to longint, fixes test suite regressions on softfloat targets. These targets have different definitions of float64/float32 (with unsigned fields), causing comparisons like "float64.high<0" to be optimized out.
git-svn-id: trunk@26095 -
2013-11-15 13:26:09 +00:00
sergei
bca2c464da * Don't generate x87 instructions for sin and cos on win64, somehow managed to not commit this part in r25995. Mantis #17273.
git-svn-id: trunk@26094 -
2013-11-15 10:37:59 +00:00
lacak
c16d232c3a fcl-db: bufdataset: when updates in update buffers are canceled, reverted records must be correctly restored to all active indexes not only in current (then other indexes remains in inconsistent state)
Bug #25314

git-svn-id: trunk@26093 -
2013-11-15 07:54:08 +00:00
nickysn
6af4353933 + enabled PatternLineVESA256 in the graph unit for i8086-msdos as it now
compiles and works correctly.

git-svn-id: trunk@26092 -
2013-11-15 00:48:44 +00:00
sergei
141b2f7066 * arcsin and arccos: improve accuracy at small arguments by replacing sqr(1-x*x) with sqr((1-x)*(1+x)).
* arcosh: likewise, error near 1.0 decreases approx. from 80*eps to 4*eps.
* artahn: improve accuracy by replacing ln(x+1) with lnxp1(x).

git-svn-id: trunk@26091 -
2013-11-14 18:26:34 +00:00
Jonas Maebe
b6d279d4aa * don't transform div-by-power-of-2 into a shift when overflow checking is
enabled (mantis #23849)

git-svn-id: trunk@26089 -
2013-11-14 15:47:49 +00:00
lacak
f02dd9fde9 fcl-db: sqldb: formatting + add default information schema query for SchemaType=stProcedures (for those TSQLConnection descendants, which does not implement own schema query use sql standard)
git-svn-id: trunk@26087 -
2013-11-14 11:55:42 +00:00
sergei
636736dda6 * log2() and log10(): replaced division by ln(base) with multiplication by reciprocal constant, this executes faster and somehow provides slightly better accuracy.
git-svn-id: trunk@26086 -
2013-11-14 08:22:28 +00:00
sergei
c7213b7ff1 - Math unit: don't raise EInvalidArgument exception in general math functions, this is Delphi-compatible. Delphi raises EInvalidArgument only in statistical/financial functions; general math functions execute code which causes EInvalidOp raised by hardware (or low-level system routines).
git-svn-id: trunk@26085 -
2013-11-14 07:49:38 +00:00
sergei
5206584805 * lnxp1 function fixed to be accurate near zero argument values, using code from AMath library by Wolfgang Ehrhardt.
git-svn-id: trunk@26084 -
2013-11-14 07:03:11 +00:00
Jonas Maebe
9b1a36fcdb * don't call buildderef for the local symtable of procdefs unless we will
write it to the ppu

git-svn-id: trunk@26083 -
2013-11-13 20:52:38 +00:00
florian
92508a9801 * take of life of tlabelnode.left, the test does not test this however because I'am not aware of any example to force a left node for a label
git-svn-id: trunk@26082 -
2013-11-13 19:26:37 +00:00