Commit Graph

41281 Commits

Author SHA1 Message Date
marco
c7206dde97 * changed type of unused parameter in TWMSetFocus from WParam to LParam as
suggest by ChrisF, Mantis #25171

git-svn-id: trunk@25723 -
2013-10-08 16:02:25 +00:00
nickysn
7b7334138b + use PatternLineVESA256 also for the 640x400 256-colour VESA mode
git-svn-id: trunk@25722 -
2013-10-08 14:45:56 +00:00
lacak
3c0386ca19 fcl-db: sqlDB: add more informations to schema query for table columns (SchemaType=stColumns)
(Values for COLUMN_DATATYPE are not compatible across TSQLConnections, but are proprietary)

git-svn-id: trunk@25721 -
2013-10-08 07:34:53 +00:00
paul
1c578de28c compiler:
* don't allow to apply the same hint directive twice
  * change parser_e_proc_dir_not_allowed to more generic variant parser_e_dir_not_allowed - they are similar and 'procedure' prefix does not give more information about the error.
  * maybe_parse_hint_directives() uses procdef settings for initial values
  + add tests

git-svn-id: trunk@25720 -
2013-10-08 04:56:42 +00:00
Jonas Maebe
9619ed8b4b - undo hack from r25713
* fix maybe_parse_hint_directives() when it is called multiple times for a
   procdef that has a deprecation message specified (fixes crashes
   reported in #25101/#25165)

git-svn-id: trunk@25719 -
2013-10-07 20:54:26 +00:00
nickysn
8fad859161 * the default packrecords setting changed to 1 on i8086 for Turbo Pascal 7
compatibility

git-svn-id: trunk@25718 -
2013-10-07 20:42:17 +00:00
nickysn
9d1ba65cec * {$PackRecords NORMAL}, {$PackRecords DEFAULT} and {$ALIGN RESET} now set
packrecords to default_settings.packrecords, instead of 0

git-svn-id: trunk@25717 -
2013-10-07 20:41:19 +00:00
yury
b293f7e5c4 * ppudump: Do not skip unnamed inline array type definitions such as "var arr: array of integer";
git-svn-id: trunk@25716 -
2013-10-07 20:15:13 +00:00
svenbarth
a4683461cf Fix around 25 tests (under them all tcalval* tests!) by indeed using the save/restore registers code I adjusted earlier.
m68k/cgcpu.pas, tcg68k:
  - remove g_save_registers and g_restore_registers which DID NOT CALL inherited!
  - also remove commented methods g_save_all_registers & g_restore_all_registers

git-svn-id: trunk@25715 -
2013-10-07 19:36:21 +00:00
nickysn
4e951d908d * extracted the common code for the VESA 32k and 64k colour TModeInfo initialization
git-svn-id: trunk@25714 -
2013-10-07 15:11:56 +00:00
paul
82243b5c9d compiler: temporary disable hint directive parse if objectivec1 modeswitch set
git-svn-id: trunk@25713 -
2013-10-07 14:31:29 +00:00
paul
8f6f0d63a0 compiler: check modeswitches first
git-svn-id: trunk@25712 -
2013-10-07 13:17:22 +00:00
nickysn
7e3dd92b03 * extracted the common code for the VESA 16-colour TModeInfo initialization
git-svn-id: trunk@25711 -
2013-10-07 13:11:46 +00:00
paul
912384594b fpc: allow hint directives between other procedure directives in Delphi mode (issue #25101)
git-svn-id: trunk@25710 -
2013-10-07 10:59:53 +00:00
michael
4bdf29795c * Example how to create public/private RSA key
git-svn-id: trunk@25709 -
2013-10-07 07:51:53 +00:00
michael
eeb3d8236a * Added some constants and encoding functions.
git-svn-id: trunk@25708 -
2013-10-07 07:27:12 +00:00
nickysn
0aff18ac61 + implemented tcg64f8086.a_op64_ref_reg
git-svn-id: trunk@25707 -
2013-10-07 00:17:03 +00:00
nickysn
3cdbf9a805 + implemented tcg64f8086.a_op64_const_ref
git-svn-id: trunk@25706 -
2013-10-06 23:56:25 +00:00
nickysn
3bdd3d9a4e + optimization in tcg64f8086.a_op64_const_reg for OP_ADD and OP_SUB when the
lowest 48, 32 or 16 bits of the constant are zeros

git-svn-id: trunk@25705 -
2013-10-06 23:43:38 +00:00
nickysn
88c7ca96c5 + optimization in tcg8086.a_op_const_reg and .a_op_const_ref for 32-bit OP_ADD
and OP_SUB when the low 16 bits of the const are 0

git-svn-id: trunk@25704 -
2013-10-06 23:23:06 +00:00
nickysn
8f44e729cc * tcg8086.a_op_const_ref and .a_op_const_reg: when splitting a 32-bit OP_AND,
OP_OR or OP_XOR operation into two 16-bit parts, call a_op_const_reg/ref
  recursively for the 16-bit parts, so certain optimizations can be done if the
  low or high 16-bit of the const are $ffff.

git-svn-id: trunk@25703 -
2013-10-06 23:02:07 +00:00
Károly Balogh
1f11c39a5d * huge m68k/cgcpu.pas cleanup and improvement commit
- removed the ancient DEBUG_CHARLIE silliness... :)
- moved some repeated code patterns into separate functions
- rewrote most of of tcg68k.a_op_const_reg and tcg68k.a_op_reg_reg
- smarter code generation in tcg68k.a_cmp_const_reg_label
- added support for MULU/MULS on Coldfire in a case which is often used by the CG to index arrays to be used instead of the RTL helpers, this results in a *HUGE* speedup in tw5086 for example

git-svn-id: trunk@25702 -
2013-10-06 22:16:37 +00:00
nickysn
834008818f * extracted the common code for the VESA 256-colour TModeInfo initialization
git-svn-id: trunk@25701 -
2013-10-06 21:09:56 +00:00
nickysn
67fdcb02f2 * in tcgx86.make_simple_ref, on the i8086, emit 'mov es, reg', instead of
'push reg/pop es', since that is a lot faster on 8088..80386

git-svn-id: trunk@25700 -
2013-10-06 19:52:38 +00:00
florian
304d7ef7a1 * restores atari support/rtl partially
git-svn-id: trunk@25699 -
2013-10-06 19:36:59 +00:00
nickysn
6be9627e74 * use all kinds of copy and not just copy_string in Tcgx86.g_concatcopy, when
segments are specified on the i8086

git-svn-id: trunk@25698 -
2013-10-06 19:04:13 +00:00
nickysn
a0af28a8fa + enabled compilation of unit fmtbcd for i8086-msdos
git-svn-id: trunk@25697 -
2013-10-06 16:55:52 +00:00
Károly Balogh
b1b90211f1 fixed spilling operation type for lots of operations (thanks Florian), fixes a few endless loops in the testsuite, at least
git-svn-id: trunk@25696 -
2013-10-06 16:51:39 +00:00
nickysn
6d83c37da1 * extracted the common code for the EGA/VGA 16-colour TModeInfo initialization
git-svn-id: trunk@25695 -
2013-10-06 15:20:20 +00:00
michael
cfaf45c7da * JSON Enumerator support
git-svn-id: trunk@25694 -
2013-10-06 14:52:27 +00:00
michael
e977c09098 * JSON parser handler
git-svn-id: trunk@25693 -
2013-10-06 14:52:01 +00:00
michael
324845e07b * Factory methods
git-svn-id: trunk@25692 -
2013-10-06 14:51:34 +00:00
michael
644dd98ef5 * FindPath/GetPath implementation
git-svn-id: trunk@25691 -
2013-10-06 14:51:10 +00:00
nickysn
3014084ee2 * extracted the common code for CGA 640x200 TModeInfo initialization as well
git-svn-id: trunk@25690 -
2013-10-06 14:31:33 +00:00
nickysn
bf01f953e6 * extracted the common code for CGA320x200 TModeInfo initialization to a
separate procedure

git-svn-id: trunk@25689 -
2013-10-06 14:19:40 +00:00
florian
6391fd39aa * optimize also tail calls, if it is a simple procedure
git-svn-id: trunk@25688 -
2013-10-06 13:51:38 +00:00
nickysn
6a66d63a36 + enabled all the VESA code for the i8086-msdos graph unit
git-svn-id: trunk@25687 -
2013-10-06 13:39:10 +00:00
nickysn
694b4ea7a5 * installedfonts changed to smallint, because that generates better code on the i8086
git-svn-id: trunk@25686 -
2013-10-06 13:30:57 +00:00
florian
440a592d68 * project file updated for newer lazarus versions
git-svn-id: trunk@25685 -
2013-10-06 13:13:53 +00:00
florian
f95b225157 * fix wrong constant temp handling, introduced in r24953, resolves #24915
git-svn-id: trunk@25684 -
2013-10-06 13:08:52 +00:00
nickysn
256600e5d3 * TVESAModeInfo.WinFunct changed to farpointer
git-svn-id: trunk@25683 -
2013-10-06 12:03:23 +00:00
nickysn
c88b3f8501 + enabled SaveStateVESA and RestoreStateVESA in the i8086-msdos unit graph
git-svn-id: trunk@25682 -
2013-10-06 11:56:49 +00:00
nickysn
996ca5ae00 - rm the first call to int 10, ax=4f04, dl=0 from SaveStateVESA, since this function is
called again immediately after the inline asm block via RealIntr and the exact same
  operations are performed once again in Pascal (probably someone translated the inline
  asm block to pascal, but forgot to remove it).

git-svn-id: trunk@25681 -
2013-10-06 11:36:32 +00:00
nickysn
f1d9869435 + enabled the VESA detection code in the i8086-msdos graph unit
git-svn-id: trunk@25680 -
2013-10-06 11:14:29 +00:00
nickysn
53d50f68c6 * TVESAinfo.str changed to pFarChar
git-svn-id: trunk@25679 -
2013-10-06 11:13:13 +00:00
nickysn
8a9634034a * pModeList changed to a far pointer
git-svn-id: trunk@25678 -
2013-10-06 10:29:54 +00:00
nickysn
98913dc7d5 - rm the hexstr function from the graph unit, as that has already been included
in the system unit

git-svn-id: trunk@25677 -
2013-10-06 09:42:29 +00:00
nickysn
c948485587 + enabled the 320x200 ModeX support in the graph unit for i8086-msdos
git-svn-id: trunk@25676 -
2013-10-06 09:29:33 +00:00
nickysn
dbc851eda3 + enabled the 320x200x256c VGA mode in the graph unit for i8086-msdos
git-svn-id: trunk@25675 -
2013-10-06 09:08:56 +00:00
nickysn
009037f9d9 * the Seg0040, SegA000, SegB000 and SegB800 constants changed to typed constants
for Borland Pascal 7 compatibility. This allows doing e.g. 'mov es, [SegA000]'
  in inline asm, which is BP7 compatible, but would produce a wrong result
  if SegA000 was an untyped constant.

git-svn-id: trunk@25674 -
2013-10-06 09:07:55 +00:00