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
Jonas Maebe
8634aa8ad2
* fixes for the support for overriding properties on the JVM target:
...
o only create an accessor wrapping the inherited accessor at a
potentially lower visibility level if the overriding property
itself does not specify a different accessor to use
o simplified code
o tests
git-svn-id: trunk@27954 -
2014-06-14 10:35:35 +00:00
Jonas Maebe
a8ed74d4d2
* remove "override" from automatically getter/setter if it's based upon an
...
existing getter setter (at a different visibility level) with a different
name, since the new one will have a unique name and not override anything
else
git-svn-id: trunk@27953 -
2014-06-14 10:35:29 +00:00
Jonas Maebe
d384db84af
* don't generate a getter/setter if no explicit prefix has been specified
...
and the visibility of the specified getter/setter is >= the visibility
of the property
git-svn-id: trunk@27952 -
2014-06-14 10:35:25 +00:00
Jonas Maebe
0742b65a2b
* pstring -> pshortstring (fix for r27940)
...
git-svn-id: trunk@27951 -
2014-06-14 10:35:21 +00:00
Károly Balogh
0045f34322
tabs to spaces and indentation fix, no functional changes
...
git-svn-id: trunk@27950 -
2014-06-14 09:09:53 +00:00
michael
7cd6b3cea6
* Support for -- comments, speedup, made some methods protected/virtual so behaviour is more customizable
...
git-svn-id: trunk@27949 -
2014-06-14 07:48:39 +00:00
sergei
15bf176bc0
* Fixed building on x86_64 with 2.6.4, which generates unsigned division with sign-extended left for "(-qword) mod qword". Mantis #26336 .
...
git-svn-id: trunk@27948 -
2014-06-14 03:12:08 +00:00
svenbarth
c6496f8ec5
Fix for Mantis #26278 .
...
pbase.pas:
+ add an overload for identifier_not_found for which the file position can be supplied
pexpr.pas, factor_read_id:
* store the file position before reading the identiifer token
* use the new identiifer_not_found overload to explicitely set the file position
* set the file position of the created node
git-svn-id: trunk@27947 -
2014-06-13 21:36:55 +00:00
reiniero
e8eaa94cab
* fcl-db: sql parser: cosmetic (todo list)
...
git-svn-id: trunk@27946 -
2014-06-13 13:52:28 +00:00
sergei
be6d6d90d7
+ Division-by-constant optimization for x86_64 (merged i386 code adapted for different operand sizes, so the result should be suitable for i386 as well).
...
git-svn-id: trunk@27945 -
2014-06-13 12:32:45 +00:00
reiniero
7863213048
* fcl-db: oracle connection fixes:
...
- unregister on finalization instead of register
- check cursor is assigned in rowsaffected
Patch by Laco.
git-svn-id: trunk@27944 -
2014-06-13 12:31:04 +00:00
sergei
d83fb7790e
* Fixed masking high bits when calculating 32-bit magic numbers for unsigned division on 64-bit CPU, namely on x86_64. Original powerpc64 code did calculations always in 64 bits, that's why incorrect masking went unnoticed.
...
git-svn-id: trunk@27943 -
2014-06-13 12:27:04 +00:00
michael
f8e828ac46
* Patch from Michal Gawrycki to add GetDatabaseStats (Bug ID 26334)
...
git-svn-id: trunk@27942 -
2014-06-13 06:22:21 +00:00
michael
8ccd3fb9d9
* Patch from Michal Gawrycki to add some missing constants (Bug ID 26333)
...
git-svn-id: trunk@27941 -
2014-06-13 06:15:28 +00:00
Jonas Maebe
2075dc5a53
* support for raising the visibility of inherited properties on the JVM
...
target (generate new getters/setters with increased visibility that
call the inherited ones, if necessary)
git-svn-id: trunk@27940 -
2014-06-12 11:08:44 +00:00
Jonas Maebe
5f99ec6197
* factored out overridden properties into a virtual method
...
git-svn-id: trunk@27939 -
2014-06-12 11:08:41 +00:00
Jonas Maebe
2bd39f62cb
* factored out associating properties with their getters/setters/fiels
...
o moved JVM-specific code from pdecvar (and pjvm) to jvm/symcpu
git-svn-id: trunk@27938 -
2014-06-12 11:08:38 +00:00
Jonas Maebe
47c6b08ece
* changed write-only parameter of parse_symlist() into an out-parameter
...
git-svn-id: trunk@27937 -
2014-06-12 11:08:33 +00:00