Commit Graph

40303 Commits

Author SHA1 Message Date
florian
2ec15deaba * more readable register allocation comments
git-svn-id: trunk@24585 -
2013-05-24 19:03:50 +00:00
florian
23c84fd27c * more fixes for segment register usage
git-svn-id: trunk@24584 -
2013-05-24 19:02:09 +00:00
nickysn
5dfdb616be * fixed a regression, introduced in r24571
git-svn-id: trunk@24583 -
2013-05-24 18:25:11 +00:00
nickysn
0013186e2d + fully implemented ParamStr and ParamCount on i8086-msdos
git-svn-id: trunk@24582 -
2013-05-24 18:20:08 +00:00
florian
c1a1325a72 * reduce register pressure by allocating/deallocating registers as late/early as possible
git-svn-id: trunk@24581 -
2013-05-24 18:09:15 +00:00
florian
b734c17c4f * formatting
git-svn-id: trunk@24580 -
2013-05-24 18:08:05 +00:00
florian
b85addb451 + color segment register
git-svn-id: trunk@24579 -
2013-05-24 17:57:28 +00:00
nickysn
035cb74855 * far pointer helper types made global in the implementation of the system unit
git-svn-id: trunk@24578 -
2013-05-24 17:28:53 +00:00
nickysn
a308994423 * i8086 specific code from tcgpointerconstnode.pass_generate_code moved to an i8086 specific overriden method
git-svn-id: trunk@24577 -
2013-05-24 17:16:55 +00:00
nickysn
de26059b61 + added dos version check in GetProgramName
git-svn-id: trunk@24576 -
2013-05-24 15:45:16 +00:00
nickysn
9185ee9423 - rm debug writeln committed by accident
git-svn-id: trunk@24575 -
2013-05-24 15:43:34 +00:00
nickysn
7628c87e44 + obtain the msdos version on startup
git-svn-id: trunk@24574 -
2013-05-24 15:42:43 +00:00
nickysn
52328554e4 + implemented ParamStr(0) on i8086-msdos, using our limited far pointer support
git-svn-id: trunk@24573 -
2013-05-24 15:28:22 +00:00
svenbarth
2c792659ce Fix for Mantis #24071.
pdecl.pas, types_dec:
  * extract the determination of the nested generic def to a new local function "determine_generic_def"
  * use "determine_generic_def" to determine the generic def in case of a forward def and pass this and the generic type list to "object_dec"

+ added test

git-svn-id: trunk@24572 -
2013-05-24 15:27:27 +00:00
nickysn
d300116419 * fixed a bug, which caused ptr(nonconst, const) to be incorrectly inlined as a const
git-svn-id: trunk@24571 -
2013-05-24 15:26:43 +00:00
nickysn
8b1e621665 * segment in int register support added also to tcg8086.a_load_reg_ref and .a_load_ref_reg
git-svn-id: trunk@24570 -
2013-05-24 14:46:40 +00:00
nickysn
9171c19601 * support int register in treference.segment in tcg8086.a_load_const_ref; this fixes farptr^:=const
git-svn-id: trunk@24569 -
2013-05-24 13:36:22 +00:00
nickysn
0baa004571 * i8086 far pointer fix in tcgpointerconstnode.pass_generate_code; this finally fixes ptr(constseg,constofs)
git-svn-id: trunk@24568 -
2013-05-24 13:08:31 +00:00
nickysn
a86cb5c600 + far pointer fixes in the internal compiler handling of ptr(const,const)
git-svn-id: trunk@24567 -
2013-05-24 12:42:43 +00:00
nickysn
ed29f7a92d + far pointer support in tpointerconstnode
git-svn-id: trunk@24566 -
2013-05-24 12:41:53 +00:00
nickysn
fe404d2891 + rtl implementation of ptr(seg,ofs) for i8086
git-svn-id: trunk@24565 -
2013-05-24 12:11:55 +00:00
sergei
c31321c2fe * TCGMIPS.handle_reg_const_reg(): fixed to generate 'real' CPU instructions, so macro processing by assembler is no longer needed.
git-svn-id: trunk@24564 -
2013-05-24 03:56:51 +00:00
sergei
23cb216435 * RTTI fix for alignment-sensitive targets:
* typinfo.pp: the newly introduced records were added into {$PACKRECORDS 1} area of effect, which  effectively made all records packed, entirely defeating FPC_REQUIRES_PROPER_ALIGNMENT purpose. 
  * added alignment between TProcedureParam records, adjusted TProcedureSignature.GetParam() appropriately.
   * ncgrtti.pas: added two missing alignments and removed a redundant one.
   * tests/test/trtti9.pp: modified to use TProcedureSignature.GetParam() and endian-independent check for parameter flags.

git-svn-id: trunk@24562 -
2013-05-23 16:03:42 +00:00
lacak
371deafcdc fcl-db: base: consistent usage of AsInteger and AsLongint. Bug #24456
git-svn-id: trunk@24558 -
2013-05-23 12:11:13 +00:00
lacak
ec78ec807c fcl-db: tests: Adjust sqlDB/SQLite3 tests for newly added test TestSupportWordFields (WORD fields are alredy supported by SQLite3Connection)
git-svn-id: trunk@24557 -
2013-05-23 12:06:59 +00:00
marco
80b52b2a6a * fix memleak in fpcanvas. Patch by wp, mantis #24427 attempt two
git-svn-id: trunk@24555 -
2013-05-23 10:01:46 +00:00
nickysn
abeb2a3aaa * fixed the far pointer size not being updated after reading the near/far type modifier, which caused far pointers to be allocated only 2 bytes
git-svn-id: trunk@24554 -
2013-05-22 16:44:05 +00:00
nickysn
fd429612f8 + initial (and not yet fully complete) implementation of far pointers on the i8086
git-svn-id: trunk@24553 -
2013-05-22 16:26:33 +00:00
nickysn
42b2228dc7 + far pointer support in defutil.def_cgsize
git-svn-id: trunk@24552 -
2013-05-22 12:30:34 +00:00
nickysn
e810cabf50 * set tpointerdef.savesize correctly for far and huge pointers
git-svn-id: trunk@24551 -
2013-05-22 11:54:42 +00:00
svenbarth
905ab16ea4 Fixed and regenerated Makefile after removal of jarparamparser.pas
git-svn-id: trunk@24550 -
2013-05-22 09:02:24 +00:00
joost
14ffdf6b8d * Removed unused unit jarparamparser.pas
git-svn-id: trunk@24549 -
2013-05-21 19:58:14 +00:00
nickysn
10ef91a7f6 * updated ppudump after the x86 pointer type changes introduced in r24453
git-svn-id: trunk@24548 -
2013-05-21 14:46:52 +00:00
nickysn
f571aebdd0 * tx86pointertyp moved from unit symdef to symconst, so it can be used by ppudump
git-svn-id: trunk@24547 -
2013-05-21 14:18:48 +00:00
nickysn
d95c995894 - rm the commented out code of tpointerdef.createfar
git-svn-id: trunk@24546 -
2013-05-21 13:59:36 +00:00
reiniero
a180cd63fb * fcl-db: tdbf: better support ftWord field type
* fcl-db tests: test ftWord for bufdataset, tdbf etc
To do: verify why all bufdataset export tests now get an access violation

git-svn-id: trunk@24545 -
2013-05-21 13:26:06 +00:00
joost
6230494c20 * Let fppkg handle the dependency of fpkmunit on the libtar package
git-svn-id: trunk@24539 -
2013-05-20 19:52:28 +00:00
joost
95972cabbc * Let fpmake update the revision.inc file for fpcmake
git-svn-id: trunk@24538 -
2013-05-20 17:00:25 +00:00
marco
d3db3342f0 * fix memleak in fpcanvas. Patch by wp, mantis #24427
git-svn-id: trunk@24537 -
2013-05-20 16:19:48 +00:00
marco
9554eb2b48 * some O_ constants. Patch by Barlone.
git-svn-id: trunk@24536 -
2013-05-20 15:30:40 +00:00
sergei
d367148f75 - Removed obsolete comments (copypasted from other CPU code, most likely).
- Removed topsize, MIPS target does not use it.

git-svn-id: trunk@24535 -
2013-05-20 10:39:05 +00:00
nickysn
e7cf738c31 + enabled compilation of the lineinfo unit for i8086-msdos
git-svn-id: trunk@24534 -
2013-05-20 08:14:47 +00:00
nickysn
47fe8e03b1 * refactored ncgutil.gen_load_cgpara_loc to use cgpara.locations_count
git-svn-id: trunk@24532 -
2013-05-19 18:49:21 +00:00
nickysn
49bd829ffc * refactored cg64f32.splitparaloc64 to use cgpara.locations_count
git-svn-id: trunk@24531 -
2013-05-19 18:44:54 +00:00
nickysn
3e22ec43b5 + added method TCGPara.locations_count
git-svn-id: trunk@24530 -
2013-05-19 18:37:55 +00:00
nickysn
b9084a22ca * in the nasm writer only declare labels as global if they have labsym.bind=AB_GLOBAL; this fixes compilation of i8086-msdos programs that use multiple units
git-svn-id: trunk@24529 -
2013-05-19 17:51:29 +00:00
nickysn
ec392e2939 + enabled compilation of unit heaptrc for i8086-msdos
git-svn-id: trunk@24528 -
2013-05-19 17:34:38 +00:00
nickysn
ecb5a4866d * refactored the int64 result passing in ax:bx:cx:dx to use 4 paralocs, instead of the GetNextReg hack
git-svn-id: trunk@24527 -
2013-05-19 12:50:15 +00:00
joost
d98fb1f004 * Some fpmake.pp fixes
git-svn-id: trunk@24526 -
2013-05-19 10:04:25 +00:00
reiniero
773ee3d21c * fcl-db: clarified Dataset.txt
* fcl-db/dbase tests: fix for failing memo, string test
  improvement in naming saved dbf files (if enabled)

git-svn-id: trunk@24525 -
2013-05-18 08:56:16 +00:00