Commit Graph

43116 Commits

Author SHA1 Message Date
nickysn
187c2af20e * tcgtypeconvnode.second_proc_to_procvar converted to the high level code
generator, so it can now handle i8086 near and far pointers generically
- removed almost all of t8086typeconvnode.second_proc_procvar, since it's no
  longer needed. Only a few assertions are left there to ensure that we don't
  accidentally attempt to take the address of a near procedure in a far code
  memory model, because the calling conventions are incompatible.

git-svn-id: trunk@27677 -
2014-04-27 23:18:05 +00:00
florian
24a9dd43b9 * do not crash with an ie on illegal boolean expressions in conditional compilation directives, resolves #25951
git-svn-id: trunk@27676 -
2014-04-27 15:50:37 +00:00
florian
99e1bb32a2 + apply cse to more inline nodes
git-svn-id: trunk@27675 -
2014-04-27 14:28:17 +00:00
florian
6dd2edb10d * better complexity estimation for some inline nodes
git-svn-id: trunk@27674 -
2014-04-27 14:28:01 +00:00
nickysn
214eaebf99 * fixed length(ansistring/widestring/dynarray) in i8086 far data memory models
git-svn-id: trunk@27673 -
2014-04-27 02:26:35 +00:00
nickysn
63f0731913 * 16/8-bit alu fix in tcgunaryminusnode.emit_float_sign_change
git-svn-id: trunk@27672 -
2014-04-26 18:58:22 +00:00
florian
33602db802 * try to registers more cleverly during fma code generation
git-svn-id: trunk@27671 -
2014-04-26 18:11:13 +00:00
lacak
704f018183 fcl-db: tests: cosmetic
git-svn-id: trunk@27670 -
2014-04-26 17:06:13 +00:00
lacak
6e18414cb3 fcl-db: tests: reduce decimal digits of just added new testCurrency value to 2 because PostgreSQL uses for money data type only 2 decimal places.
git-svn-id: trunk@27669 -
2014-04-26 16:59:34 +00:00
lacak
2d785d1035 fcl-db: tests: add comment for SQLite why some test for exact numeric (currency) values, which can not be expressed lossless as double, fail.
Add to testCurrencyValues, also value with decimal point which can be expressed lossless as double.

git-svn-id: trunk@27668 -
2014-04-26 16:55:39 +00:00
sergei
7f8995186c - Remove openbsd/classes.pp and use generic unix/classes.pp instead. These files are identical, excluding whitespace and comments.
git-svn-id: trunk@27667 -
2014-04-26 15:09:33 +00:00
nickysn
5dcbaa4b2d - rm the cpu16bitalu and cpu64bitalu ifdefs from tcg.a_load_ref_cgpara as well
(basically the same change as in r27664, but in tcg, instead of thcgobj)

git-svn-id: trunk@27666 -
2014-04-26 14:33:46 +00:00
sergei
d7c863185f * Added plain calls for semaphore-related functionality, this removes need to maintain a second copy of thread manager in unis/tthread.inc.
git-svn-id: trunk@27665 -
2014-04-26 13:58:35 +00:00
nickysn
9758a53fa6 - rm the ifdef cpu16bitalu and cpu64bitalu from thlcgobj.a_load_ref_cgpara,
because they:
  - worsen readability (especially if we add cpu8bitalu as well, for
    completeness)
  - are not needed, because the else clause of the previous if ensures that we
    have (sizeleft<=sizeof(aint)) and sizeof(aint) follows the target cpu alu
    size

git-svn-id: trunk@27664 -
2014-04-26 13:46:36 +00:00
sergei
471ffb017c - Removed call to FlushThread, it is redundant since r17798. SysFlushStdio is called from DoneThreads, which is in turn called after exiting from ThreadFunc.
git-svn-id: trunk@27663 -
2014-04-26 13:46:10 +00:00
nickysn
d8d35a32c9 - rm bogus ifdef cpu16bitalu from tparamanager.allocparaloc and .freecgpara
(leftover from my initial hacky implementation of returning int64 function
  results in ax:bx:cx:dx, that is no longer in use?)

git-svn-id: trunk@27662 -
2014-04-26 13:37:53 +00:00
reiniero
af2bc84a9a fcl-db: cosmetic: layout
git-svn-id: trunk@27661 -
2014-04-26 12:55:20 +00:00
nickysn
1d4de72aa7 + 8-bit ALU support in tcgcasenode.genlinearcmplist
git-svn-id: trunk@27660 -
2014-04-26 12:41:58 +00:00
reiniero
87f7cf715e * fcl-db: cosmetic: improve documentation for TFieldType array members
git-svn-id: trunk@27659 -
2014-04-26 10:07:12 +00:00
reiniero
2e3e1d37b5 * fcl-db: tests: cosmetic: convert Dutch test text
git-svn-id: trunk@27658 -
2014-04-26 09:04:11 +00:00
nickysn
ca2d1a4667 * extracted the common mode initialization from QueryAdapterInfo to nested procedures
git-svn-id: trunk@27657 -
2014-04-25 23:18:48 +00:00
sergei
b16c6f8ced * i386 and x86_64 changes for Delphi compatibility:
* 'mxcsr' variable made public and renamed to DefaultMXCSR.
  * GetSSECSR and SetSSECSR renamed to GetMXCSR and SetMXCSR, respectively. Previous names continue to exist as deprecated aliases.

git-svn-id: trunk@27656 -
2014-04-25 15:10:12 +00:00
lacak
7ba0b03cd0 fcl-db: tests: not all FmtBCD (exact numeric) values have precise floating point representation. So use "delta" when comparing floating point values.
git-svn-id: trunk@27655 -
2014-04-25 13:42:47 +00:00
nickysn
3e308e0ad7 * 16/8-bit alu fix in thlcg2ll.location_force_reg for the 32->64 conversion of LOC_CONSTANT sources
git-svn-id: trunk@27654 -
2014-04-25 13:20:18 +00:00
nickysn
88df284423 * fixed overflow checking for the 64-bit unary minus on 16 and 8-bit platforms
git-svn-id: trunk@27653 -
2014-04-25 12:33:45 +00:00
nickysn
c5badc8a7c * fixed test cg/tvec.pp for small CPUs
git-svn-id: trunk@27652 -
2014-04-25 12:12:51 +00:00
reiniero
300dc15405 dbcoll.pp: TFieldMap: replace Dutch error message with English text.
git-svn-id: trunk@27651 -
2014-04-25 09:47:23 +00:00
nickysn
ec75c5dfa0 + added an asm implementation of FillDWord for i8086
git-svn-id: trunk@27650 -
2014-04-25 09:18:43 +00:00
nickysn
2de6edc44e * skip the large mem move test (which requires 4MB of memory) in tmem.pp on 16
and 8-bit CPUs

git-svn-id: trunk@27649 -
2014-04-25 09:18:04 +00:00
reiniero
0ce9623ed8 * fcl-db: tests: test blobtype for blob fields; tests for mantis issue #26064
git-svn-id: trunk@27648 -
2014-04-24 15:08:31 +00:00
reiniero
b1435f7756 fcl-db: tests: cosmetic
git-svn-id: trunk@27647 -
2014-04-24 15:07:36 +00:00
reiniero
bb205da801 * fcl-db: tests: cosmetic: remove some Dutch text etc.
git-svn-id: trunk@27646 -
2014-04-24 14:43:41 +00:00
reiniero
7702488182 * fcl-db: set blob field type for blob fields in SetDataType; fixes mantis issue #26064
git-svn-id: trunk@27645 -
2014-04-24 14:04:47 +00:00
michael
9191f44c6e * Memory leak fixed (bug 26063)
git-svn-id: trunk@27644 -
2014-04-24 06:45:22 +00:00
lacak
ec1d9d497b fcl-db: tests: reduce testCurrencyValues to fit into DECIMAL(18,4) and also reduce decimal digits to 2 because PostgreSQL uses for money data type only 2 decimal places.
Partially reverts my previous commit in rev.27613

git-svn-id: trunk@27643 -
2014-04-23 13:34:00 +00:00
nickysn
a47ab44ec8 * unified the 8-bit and 16-bit alu handling in tshlshrnode.pass_typecheck
git-svn-id: trunk@27642 -
2014-04-23 12:53:31 +00:00
nickysn
7d8fb1833f * 16-bit alu handling in tshlshrnode.pass_typecheck simplified via the use of
get_common_intdef

git-svn-id: trunk@27641 -
2014-04-23 12:43:48 +00:00
lacak
2be706dbb0 fcl-db: tests: as MS SQL Server does not support for datetime times beyond 23:59:59.997 use this value instead of 23:59:59.999 introduced in rev.27522
git-svn-id: trunk@27640 -
2014-04-23 12:18:22 +00:00
sergei
f767d9017c * Fixed sin(-0.0) to return -0.0 (was returning 0.0)
* Fixed lnxp1(-1.0) to return -Inf (was returning NaN)

git-svn-id: trunk@27639 -
2014-04-23 10:03:18 +00:00
nickysn
a17797f3ca * tshlshrnode.simplify: in the case of 16-bit or 8-bit shl/shr, AND the right
side constant with 31 (instead of 15 or 7), because that's how the 16-bit and
  8-bit x86 shl/shr instructions behave (even on 16-bit CPUs like 286). The
  change does not affect 32-bit and 64-bit platforms, because there the shift
  is always done in at least 32 bits.

git-svn-id: trunk@27638 -
2014-04-23 00:23:27 +00:00
pierre
0d3bccaa1b Do not consider ansi/wide/unicode strings as taggable for stabs
git-svn-id: trunk@27637 -
2014-04-22 22:32:14 +00:00
nickysn
aa3f450832 * 8/16-bit alu fixes in tnotnode.simplify
git-svn-id: trunk@27636 -
2014-04-22 22:04:31 +00:00
pierre
356ea656e4 Try to avoid problems with generic types for stabs/stabx
git-svn-id: trunk@27635 -
2014-04-22 21:28:45 +00:00
pierre
9a40ff19a1 Avoid problems on implicit functions for gas
git-svn-id: trunk@27634 -
2014-04-22 16:36:50 +00:00
pierre
778e15251e avoid unbalanced .ef complaint in GDB for stabx
git-svn-id: trunk@27633 -
2014-04-22 15:50:22 +00:00
pierre
19ba1b43a1 Add possibility to use GNU assembler gas on naitve AIX
git-svn-id: trunk@27632 -
2014-04-22 15:48:55 +00:00
michael
bb3ec0bd86 * Patch from Reinier to make OnGetSocketHandler published (Bug ID 26028)
git-svn-id: trunk@27631 -
2014-04-22 08:42:38 +00:00
sergei
196436b7e7 * ARM: Test if range check of floating point constants is necessary in the same way as on other targets. This should have been part of r10940 6 years ago...
git-svn-id: trunk@27630 -
2014-04-22 06:51:54 +00:00
nickysn
313240b9e8 * use a better way (suggested by Jonas) to determine whether a procedure is from
the same unit

git-svn-id: trunk@27629 -
2014-04-21 23:14:16 +00:00
pierre
98c7d43c57 Add aix specific options for old Makefile.fpc.fpcmake
git-svn-id: trunk@27628 -
2014-04-21 21:51:56 +00:00