Commit Graph

43391 Commits

Author SHA1 Message Date
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
Károly Balogh
7963351440 m68k: removed comment generation line accidentally left in from the previous commit
git-svn-id: trunk@27936 -
2014-06-11 22:42:26 +00:00
Károly Balogh
ed3ce4087a m68k: try to generate a bit smaller code in g_adjust_self; also changed two JMPs to S_NO from S_L, because JMP is unsized anyway
git-svn-id: trunk@27935 -
2014-06-11 22:33:09 +00:00
sergei
dc628b8969 * x86: Completely skip instructions that do not exist for target CPU bit width. The existing behavior of writing mnemonics and properties but no encoding allows an invalid instruction to be recognized by assembler reader or even generated by compiler, but it but won't assemble anyway.
git-svn-id: trunk@27934 -
2014-06-11 22:31:40 +00:00
sergei
e7cd5319f0 * Put under {$ifndef x86_64} more cases of instructions that do not exist in 64-bit mode.
git-svn-id: trunk@27933 -
2014-06-11 12:51:38 +00:00
sergei
c28271ab99 * NASM writer: don't force 'near' size for all non-far branches and calls, it disables NASM's capability to optimize branches into short form where possible, and thus only increases size of generated code.
- LDS and LES instructions do not exist on x86_64.

git-svn-id: trunk@27932 -
2014-06-11 12:32:21 +00:00
michael
07626f029a * Fixed bug ID #26137 (script stops on empty statement)
git-svn-id: trunk@27931 -
2014-06-11 06:39:18 +00:00
sergei
b594eee70b * Moved x86_64 mod/div code to x86, with minimal changes to ensure it compiles on i386/i8086. Merging optimized division-by-const code from i386 is pending...
git-svn-id: trunk@27930 -
2014-06-11 01:42:46 +00:00
masta
0cb1a129b3 {ARM} Implement usage of generic division-by-const optimization
This utilizes the code commited in r27904 to convert a division by const
into a 32x32->64 bit multiplication for ARM.

git-svn-id: trunk@27929 -
2014-06-10 20:49:18 +00:00
Jonas Maebe
145e9c1aae * don't generate debug info for class fields in generic types
-> fixes failed compilation of webtbs/25600 with debug info
      (broken since 6 June, possibly because of r27874)
  * don't allocate class fields defined in generic types, as the
    only reason for this was to have valid debug info

git-svn-id: trunk@27928 -
2014-06-10 19:05:10 +00:00
Jonas Maebe
e5647d5118 * fixed test on 64 bit platforms
git-svn-id: trunk@27927 -
2014-06-10 19:05:08 +00:00
Jeppe Johansen
96b73b0076 Fixed generation of abs calls for thumb and thumb-2 targets.
git-svn-id: trunk@27926 -
2014-06-10 17:48:09 +00:00
reiniero
e9f99fb3d2 * fcl-db: bufdataset: free up cached blob buffers in unidirectional mode; alternate solution to issue #24509. Patch by Laco.
git-svn-id: trunk@27925 -
2014-06-10 11:56:24 +00:00
reiniero
95a1a2552c * fcl-db: cosmetic
git-svn-id: trunk@27924 -
2014-06-10 10:34:56 +00:00
reiniero
81548f0e9c * fcl-db: sql parser:
- fix parsing scripts containing SET AUTODDL and SET TERM statements
- SET TERM/SET AUTODDL will be output as SQL comments when regenerating SQL so thethe commands work with e.g. sqldb

git-svn-id: trunk@27923 -
2014-06-10 10:01:22 +00:00
Károly Balogh
1b11541c90 m68k: simplification and cleanup of g_proc_entry. the generated code shouldn't change
git-svn-id: trunk@27922 -
2014-06-10 09:15:26 +00:00
reiniero
0782f4f853 * fcl-db: sql parser:
- support reading (and ignoring) SET AUTODDL statements generated by isql.
  This allows the parser to read isql-generated metadata extraction scripts from Firebird databases
- tests

git-svn-id: trunk@27921 -
2014-06-10 08:47:56 +00:00
lacak
041b4681e9 fcl-db: sqldb: cosmetic
git-svn-id: trunk@27920 -
2014-06-10 08:45:53 +00:00
lacak
5c936f0ecf fcl-db: sqldb: always call in TSQLQuery.InternalOpen BindFields so all private variables are calculated properly (f.e. FBlobFieldCount)
git-svn-id: trunk@27919 -
2014-06-10 08:41:06 +00:00
reiniero
ff28acbaad * fcl-db: sql parser:
- support for variables in array access (e.g. myarray[:localvar] as happens in stored procs)
- rename TSQLSymbolLiteral to TSQLSymbolString to avoid confusion between enum and the TSQL*Literal classes
- Noted to do: array access via variables results in ElementIndex not being set. Need to verify what impact (if any) this has

git-svn-id: trunk@27918 -
2014-06-10 07:30:13 +00:00
reiniero
a2ce52963a * fcl-db: sql parser tests: correct SET TERM/CREATE PROCEDURE tests
- One test currently fails indicating the need for more support for variables in select statements

git-svn-id: trunk@27917 -
2014-06-10 06:39:00 +00:00
reiniero
575a082272 * fcl-db: fix set terminator tests when run within suite/all tests instead of single test
git-svn-id: trunk@27916 -
2014-06-10 05:51:51 +00:00
reiniero
ebb2f38e08 * fcl-db: sql parser:
- simplify code, thanks Michael & Laco. 
  - Tests for STARTING WITH
  - Work in progress on SET TERM+CREATE PROCEDURE test

git-svn-id: trunk@27915 -
2014-06-10 05:27:56 +00:00
reiniero
c7a045af49 * fcl-db: sql parser: basic set term/create procedure test
git-svn-id: trunk@27914 -
2014-06-09 13:09:04 +00:00
reiniero
37e44f52eb * fcl-db:: sql parser: deal with table.column notation introduced in previous commit
git-svn-id: trunk@27913 -
2014-06-09 12:52:38 +00:00
reiniero
c63b31c839 * fcl-db: sql parser: support table.column notation for fields like
- SELECT A.B FROM A
- SELECT B FROM A ORDER BY C.D
- tests
Note: failing test due to needed implementation of parsing table.field into table and field references

git-svn-id: trunk@27912 -
2014-06-09 12:34:52 +00:00
reiniero
a99919a4bc * fcl-db: bufdataset: effectively revert r27830 due to side effects. See bug #24509
git-svn-id: trunk@27911 -
2014-06-09 09:26:23 +00:00
reiniero
125845fe52 * fcl-db: sql parser/generator:
- Correct OUTER join: there is no separate OUTER JOIN; the syntax is FULL JOIN or FULL OUTER JOIN
- Support for optional OUTER in LEFT OUTER and RIGHT OUTER JOIN

git-svn-id: trunk@27910 -
2014-06-09 09:21:44 +00:00
reiniero
13146211ce * fcl-db: sql parser tests: run all tests by default in Lazarus project
git-svn-id: trunk@27909 -
2014-06-09 08:10:44 +00:00
reiniero
1e21d66b89 * fcl-db: sql parser tests:
- cosmetic changes (capitalization, comments)
- add tests for SET TERM, symbol literal parsing introduced in r27907
- Lazarus test project: default+debug build mode: no optimalization, more checks enabled

git-svn-id: trunk@27908 -
2014-06-09 08:01:20 +00:00
reiniero
75169f7a2b + fcl-db: sql parser:
- add support for Firebird SET TERM statements (changing SQL statement terminator)
- fix sigsegv (e.g. running TTestCheckParser.TestNotBetween)

git-svn-id: trunk@27907 -
2014-06-09 07:54:13 +00:00
michael
e699c6948f * Patch from Laco to update to version 9 of postgres headers (bug ID 26314)
git-svn-id: trunk@27906 -
2014-06-09 07:35:56 +00:00
michael
5ca66a14fa * Applied corrected patch from 26307
git-svn-id: trunk@27905 -
2014-06-09 07:30:12 +00:00