sergei
c2a29a0dbb
+ MIPS: implemented peephole optimization which changes appropriate patterns into conditional moves, which are available on MIPS4 and higher.
...
git-svn-id: trunk@28008 -
2014-06-20 05:57:39 +00:00
sergei
4e7c908b0d
+ MIPS: added movn and movz instructions.
...
git-svn-id: trunk@28007 -
2014-06-19 22:44:17 +00:00
nickysn
1295b4abf7
- removed the call to CheckNullArea from the exit code for the tiny memory model
...
git-svn-id: trunk@28006 -
2014-06-19 21:47:46 +00:00
michael
a0f4ff655e
* Small optimisation in strnew from Luiz Americo (bug ID 26365)
...
git-svn-id: trunk@28005 -
2014-06-19 17:40:21 +00:00
michael
f1bd08acce
* Add enable/disablecontrols for target dataset (patch from Luiz Americo, bug ID #26364 )
...
git-svn-id: trunk@28004 -
2014-06-19 17:34:25 +00:00
michael
5bf2b9f8d2
* Patch from Luiz Americo to allow reading data in blockread state
...
git-svn-id: trunk@28003 -
2014-06-19 17:29:56 +00:00
nickysn
7cfd7a66cd
+ create a special 'heap' segment with reserved space equal to heapsize (i.e.
...
the value set by -Ch or the second parameter to the $M directive). This is
equivalent to the heapmin value in Turbo Pascal 7 and ensures that the program
has at least this amount of heap space available (otherwise DOS will show a
'not enough memory' error and will refuse to load the program).
git-svn-id: trunk@28002 -
2014-06-19 14:14:01 +00:00
reiniero
2557f1bfa3
* fcl-db: oracle: roll back some overzealous changes. Comment fixes.
...
git-svn-id: trunk@28001 -
2014-06-19 13:30:18 +00:00
reiniero
5c1eec309d
* fcl-db: cosmetic: document integer precision; layout
...
git-svn-id: trunk@28000 -
2014-06-19 12:25:11 +00:00
sergei
25037f5318
- MIPS: completely removed trgcpu.add_constraints method.
...
While it can be correct from some point of view, it does not prevent aliasing a single-precision register into upper half of double-precision one. This is currently handled by making only even floating-point registers available to RA. At the same time, it somehow (possibly due to another bug in RA) generates a lot of unnecessary moves, as if physical double-precision registers conflict with each other. Anyway, removing it considerably improves the code without regressions in the test suite.
git-svn-id: trunk@27999 -
2014-06-19 03:59:24 +00:00
Jonas Maebe
de0041466f
* fixed system.openchararraytype after r27970 (mantis #26359 )
...
git-svn-id: trunk@27998 -
2014-06-18 20:20:04 +00:00
lacak
0106f860eb
fcl-db: oracle:
...
- map NUMBER columns with precision < 5 to ftSmallint
- fix some tests for Oracle
git-svn-id: trunk@27997 -
2014-06-18 11:54:58 +00:00
reiniero
b871247238
* fcl-db: tests: bufdataset: test ftVariant & ftVarbytes as issue #19930 is marked eesolve.d
...
No regression in test suite.
git-svn-id: trunk@27996 -
2014-06-18 11:46:45 +00:00
lacak
98f5e7cd57
fcl-db: oracle:
...
- add support for ftSmallInt, ftLargeInt, ftFixedChar params
- add support for BINARY_FLOAT, BINARY_DOUBLE data types
git-svn-id: trunk@27995 -
2014-06-18 10:59:46 +00:00
reiniero
e4fa4a72d2
* fcl-db: cosmetic
...
git-svn-id: trunk@27994 -
2014-06-18 06:43:07 +00:00
reiniero
39ae91a66f
* fcl-db: tdbf: detect some files as DBaseIV instead of III given version signature $03,$8B regardless of language ID. Mantis issue #26332
...
git-svn-id: trunk@27993 -
2014-06-18 06:42:47 +00:00
sergei
c260879439
* MIPS: updated registers, dropped special registers not recognized by GAS (actually, "pc" is recognized, but it is used only for MIPS16 mode, so it is easier to add back if/when this mode is supported), added FPU condition code registers ($fcc0..$fcc7).
...
* cpubase.pas, std_regname: changed logic to lookup known names for special registers before resorting to default name, so that $fcc0..$fcc7 can be used as operands.
git-svn-id: trunk@27992 -
2014-06-17 23:15:34 +00:00
sergei
c77225d2c4
+ MIPS: added some instructions.
...
git-svn-id: trunk@27991 -
2014-06-17 22:52:35 +00:00
sergei
a8e30043db
+ MIPS: more peephole optimizations (basically updated to the state of SPARC peephole).
...
git-svn-id: trunk@27990 -
2014-06-17 22:50:29 +00:00
sergei
04d8e8a5dc
* On 64-bit targets, handle abs(int64) internally, using the same code as for abs(longint), i.e. without branching. Both generic and x86-specific pass 2 code is already suitable for different operand sizes, only type checking needs removal of excessive conversions to 32 bits.
...
git-svn-id: trunk@27989 -
2014-06-17 18:45:11 +00:00
reiniero
5e7a4c4819
fcl-db: cosmetic: error message language fixes
...
git-svn-id: trunk@27988 -
2014-06-17 13:59:04 +00:00
reiniero
4d92b003a7
* fcl-db: tests: adjust TTestDBBasics.TestSupportIntegerFields to reflect that Oracle does not map integer fields to ftInteger but to ftFMTBCD
...
git-svn-id: trunk@27987 -
2014-06-17 10:21:51 +00:00
sergei
244f65525b
* MIPS: dropped gas_std_regname, its functionality merged into std_regname. This fixes register names in non-instructions (reg. allocation information, variable locations, etc.) and makes assembler listings more readable.
...
git-svn-id: trunk@27986 -
2014-06-16 22:52:56 +00:00
sergei
77d97303a9
* SPARC: cleanup and simplify 64-bit code generator. Call cg.a_op64_const_reg_reg where possible to make use of its optimization abilities.
...
git-svn-id: trunk@27985 -
2014-06-16 19:22:52 +00:00
sergei
51f6092672
* SPARC: OP_NOT can always be done in 32 bits, because for 8 and 16-bit operations the high bits of result are adjusted immediately afterwards.
...
* "carry clear" flag can be converted into register using a single instruction.
git-svn-id: trunk@27984 -
2014-06-16 19:15:01 +00:00
sergei
d6c6c84f76
* calc_divconst_magic_unsigned: explicitly limit the shift amount to number of bits of target platform. This happens implicitly only on x86, on other 32-bit targets shifting by more than 31 bits calculates as zero.
...
git-svn-id: trunk@27983 -
2014-06-16 17:05:01 +00:00
reiniero
eb16231869
* fcl-db: Oracle: improved date/time support, issue #26321
...
git-svn-id: trunk@27982 -
2014-06-16 12:04:30 +00:00
lacak
bafe66a3f0
fcl-db: mssql: add support for new MS SQL 2008 datetime data types. Depends on rev.27979 and requires new FreeTDS dblib library
...
git-svn-id: trunk@27981 -
2014-06-16 10:08:41 +00:00
reiniero
f7b6bbdf8b
* fcl-db: oracle connection
...
+ metadata retrieval: fix retrieving DATA_DEFAULT column with LONG datatype from ALL_TAB_COLUMNS: oracleconnection does not support the legacy LONG datatype.
git-svn-id: trunk@27980 -
2014-06-16 09:10:42 +00:00
michael
beed60ac0d
* Patch from Laco to implement Date/time structures in tds (Bug ID 26235)
...
git-svn-id: trunk@27979 -
2014-06-16 08:36:30 +00:00
lacak
85ae7c2aaa
fcl-db: tests: add check for Oracle native single floating point data type
...
git-svn-id: trunk@27978 -
2014-06-16 08:04:12 +00:00
Jonas Maebe
9450407ed5
* when taking the address of a method1 that is specified by subscripting
...
the result of a objtype.method2 call, ensure that we call method2 with
objtype as methdpointer rather than the self node of the current routine
(mantis #24844 )
git-svn-id: trunk@27977 -
2014-06-15 17:26:12 +00:00
sergei
9593cece03
* powerpc: implement cg.a_mul_reg_reg_pair method and switch to generic code for division by constants.
...
git-svn-id: trunk@27976 -
2014-06-15 16:33:08 +00:00
sergei
5356f17fa5
* i386: switch the div/mod node to shared code, leaving in place the specific optimization for division by power of 2.
...
git-svn-id: trunk@27975 -
2014-06-15 16:20:53 +00:00
Jonas Maebe
99b4389297
* fixed tbs/tb0607 for 64 bit targets: there the nf_internal flag isn't set
...
for cardinal-cardinal. Now treat the result of any sub node as potentially
negative.
git-svn-id: trunk@27971 -
2014-06-15 15:26:56 +00:00
Jonas Maebe
24f4adf657
* set the rangedef of open arrays to ptrsinttype (instead of s32inttype),
...
so that it's the same as the def returned by the low/high nodes
(mantis #25703 )
git-svn-id: trunk@27970 -
2014-06-15 15:26:47 +00:00
Jeppe Johansen
5ad478b252
Fixed compilation of packages on win32 after r27966.
...
git-svn-id: trunk@27968 -
2014-06-15 14:12:27 +00:00
Károly Balogh
c6153010d1
m68k: plain 68000 doesn't support index scaling at all (020+ and CF only)
...
git-svn-id: trunk@27967 -
2014-06-15 12:28:51 +00:00
Jonas Maebe
159a35da4e
* check for read/write after a newly declared property (mantis #26011 )
...
o this reverts the support that was added for such declarations when
mantis #4676 was fixed, but this was done for Delphi compatibility
and
a) current Delphi versions don't accept such declarations anymore either
b) such declarations are meaningless
o fixed a number of such invalid property declarations in packages
git-svn-id: trunk@27966 -
2014-06-15 10:59:47 +00:00
Jonas Maebe
5795daf2cd
* removed no longer used/needed {$ifdef jvm} parts
...
git-svn-id: trunk@27965 -
2014-06-15 10:59:42 +00:00
nickysn
82eb84ddff
+ added warning in case of an $M directive with an invalid stack size specified
...
git-svn-id: trunk@27964 -
2014-06-15 10:14:56 +00:00
nickysn
c868a5e0ea
* check whether the stack size specified in the $M directive exceeds the maximum
...
stack size
* allow setting a stack size of _exactly_ 1024 bytes with the $M directive
git-svn-id: trunk@27963 -
2014-06-15 09:55:13 +00:00
reiniero
421139e77a
* fcl-db: sql parser: update readme after previous commit
...
git-svn-id: trunk@27962 -
2014-06-15 09:25:56 +00:00
reiniero
951d128042
- fcl-db: sql parser
...
- remove support for SET TERM/SET AUTODDL as it does not fall within Firebird SQL
git-svn-id: trunk@27961 -
2014-06-15 09:10:24 +00:00
nickysn
d7f9265eba
* limit the stack size set by the -Cs option to 65520 bytes on i8086 and other
...
CPUs with a 16-bit address space
git-svn-id: trunk@27960 -
2014-06-14 22:48:09 +00:00
nickysn
22a7dfa231
* stack segment moved outside of dgroup in the i8086 far data memory models, so
...
it no longer eats from the precious 64kb limit for static data
git-svn-id: trunk@27959 -
2014-06-14 19:34:36 +00:00
nickysn
49f93b4464
* use the 'order' wlink directive to specify the segment order, instead of using
...
'option dosseg'. This allows us more flexibility in setting up the segment
order the way we like.
git-svn-id: trunk@27958 -
2014-06-14 18:04:58 +00:00
nickysn
2dc8839af5
* set class=data to all data segments/sections on i8086
...
git-svn-id: trunk@27957 -
2014-06-14 16:01:22 +00:00
nickysn
8ad63788c7
- do not emit a stack segment in the tiny memory model
...
- rm the reference to the top of the stack segment from the startup code in tiny
model
git-svn-id: trunk@27956 -
2014-06-14 15:56:44 +00:00
sergei
05ecd3cec1
* One more fix of operand size, likely harmless because shift amount is taken modulo bit-width anyway.
...
git-svn-id: trunk@27955 -
2014-06-14 13:31:48 +00:00