Commit Graph

40246 Commits

Author SHA1 Message Date
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
joost
2fe7dbfc6c * Several fpmake.pp fixes
git-svn-id: trunk@24524 -
2013-05-18 08:28:58 +00:00
svenbarth
f1f89c77c3 Finally refactor "b_needs_init_final" flag to be a symtable flag which is written to/loaded from the PPU (as discussed in the thread "Status report for "class helpers"" in fpc-devel on 29th January 2011).
symconst.pas:
    + add "sto_needs_init_final" value to "tsymtableoptions"
symtable.pas:
    - TStoredSymtable: remove "b_needs_init_final"
    + TStoredSymtable: add "init_final_check_done" (which is False by default)
    * TStoredSymtable.ppuload: set "init_final_check_done" to True if PPU is loaded (because the flag will then already be restored)
    * TStoredSymtable.needs_init_final: check the symbols only if "init_final_check_done" is not set yet
    * TStoredSymtable._needs_init_final: only check the symbol if "sto_needs_init_final" is not set yet and set the flag accordingly if needed
utils/ppuutils/ppudump.pp:
    * respect the new flag

git-svn-id: trunk@24523 -
2013-05-17 12:15:13 +00:00
paul
b333ef582b compiler: don't treat array[..] of dynamic array as a 2 dimension array
git-svn-id: trunk@24522 -
2013-05-17 01:08:27 +00:00
nickysn
6695c8578f * set the TinyHeapMinBlock const relative to the pointer size
git-svn-id: trunk@24521 -
2013-05-16 22:17:05 +00:00
nickysn
f0ada1ccc5 * fixed bug in SysTinyGetMem that caused heap corruption if the free block that's being allocated is followed tightly by an already allocated block
git-svn-id: trunk@24520 -
2013-05-16 22:15:36 +00:00
nickysn
9312419ce8 * fixed heap block start and size alignment in RegisterTinyHeapBlock
git-svn-id: trunk@24519 -
2013-05-16 22:13:35 +00:00
nickysn
4fc5900c78 + added writelns behind { DEBUG_TINY_HEAP} for tracing the tiny heap calls
git-svn-id: trunk@24518 -
2013-05-16 22:11:01 +00:00