Commit Graph

53569 Commits

Author SHA1 Message Date
nickysn
2c000d1e74 * processaddress's type changed to word on i8086 (ptruint changes size between
memory models and we only need the offset; the segment is tracked separately)
+ introduce texefile.processsegment on i8086
* initialize processaddress and processsegment properly on i8086-msdos (for .exe
  files; .com files are not supported yet)

git-svn-id: trunk@39052 -
2018-05-20 13:19:49 +00:00
marco
f401410500 * quick fix for uninitialized "CodeEl" usage that trips up small test programs
git-svn-id: trunk@39051 -
2018-05-20 13:06:13 +00:00
nickysn
2411cb3f24 * fix save/restore of base/index/pos on i8086
git-svn-id: trunk@39050 -
2018-05-20 12:55:22 +00:00
nickysn
0ca05f042b + parse the openwatcom dwarf extension DW_LNE_SET_SEGMENT and also track segment
data in the dwarf state machine on i8086

git-svn-id: trunk@39049 -
2018-05-20 12:43:53 +00:00
nickysn
b048da4284 + added the non-standard Open Watcom DWARF extension DW_LNE_set_segment extended
opcode constant; not emitted yet; will be needed on i8086

git-svn-id: trunk@39048 -
2018-05-20 12:25:03 +00:00
nickysn
60d49d696a * fix for ReadLEB128 on 16-bit CPUs
git-svn-id: trunk@39047 -
2018-05-20 12:06:36 +00:00
nickysn
994783db95 + introduce the TFilePos type for storing file offsets; use longint instead of
sizeint on i8086, because sizeint is 16-bit and file offsets are 32-bit there

git-svn-id: trunk@39046 -
2018-05-20 11:55:47 +00:00
svenbarth
dcdb151add * prohibit static array constants inside dynamic array constants for Delphi modes
+ added test

git-svn-id: trunk@39045 -
2018-05-20 11:50:27 +00:00
svenbarth
31a9ed573c * regenerate msg* files after addition of the new message for static array constants inside dynamic array
constants

git-svn-id: trunk@39044 -
2018-05-20 11:50:24 +00:00
svenbarth
74ca92b5dc + add a message that will be used to complain about static array constants inside dynamic array constants for
Delphi modes

git-svn-id: trunk@39043 -
2018-05-20 11:50:21 +00:00
svenbarth
a29a6abc55 + add support for Delphi's dynamic array constant syntax ("[...]") in Delphi modes
git-svn-id: trunk@39042 -
2018-05-20 11:50:19 +00:00
svenbarth
08dd4e5445 + add support for dynamic array constants
+ added test

git-svn-id: trunk@39041 -
2018-05-20 11:50:16 +00:00
svenbarth
2bf5c28077 + add methods begin_dynarray_const and end_dynarray_const which can be used to emit the data of a dynamic array
inbetween
+ add method emit_dynarray_offset to emit a reference to that data with the correct offset

git-svn-id: trunk@39040 -
2018-05-20 11:50:13 +00:00
svenbarth
e863245021 + add method get_dynarray_symofs to retrieve the platform specific offset of the dynamic array data from its
meta data record

git-svn-id: trunk@39039 -
2018-05-20 11:50:11 +00:00
svenbarth
d3d9221c8d + add method get_dynarray_header_size to retrieve the size of the dynamic array meta data record
git-svn-id: trunk@39038 -
2018-05-20 11:50:09 +00:00
svenbarth
8606293028 * assume that dynamic arrays with a negative reference count are immutable (at least regarding their metadata)
git-svn-id: trunk@39037 -
2018-05-20 11:50:06 +00:00
nickysn
c8cbb1daea * changed the sechdrofs,secstrofs and ImgOffset types to 32-bit to prevent
overflow errors on i8086 (ptruint is 16-bit in certain i8086 memory models;
  file offsets, however, still remain 32-bit)

git-svn-id: trunk@39036 -
2018-05-20 11:26:40 +00:00
nickysn
db3c88c871 + enabled compilation of unit lnfodwrf on i8086-msdos
- disabled compilation of unit lineinfo on i8086-msdos (no stabs support on this target)

git-svn-id: trunk@39035 -
2018-05-20 11:25:27 +00:00
Mattias Gaertner
763fd783e0 pastojs: typecast array to/from tjsobject
git-svn-id: trunk@39034 -
2018-05-20 10:40:07 +00:00
nickysn
8364b1f4ca * changed the result of function Pos() to SizeInt (same type as the 'index'
variable it returns). Fixes the register allocation failure error when
  compiling on i8086.

git-svn-id: trunk@39033 -
2018-05-20 10:40:00 +00:00
nickysn
0d8ba2ddfa * skip the MZ exe in order to reach the ELF32 image on i8086-msdos
git-svn-id: trunk@39032 -
2018-05-20 10:11:14 +00:00
nickysn
ccf5aaeebb + enable the ELF32 reader in unit exeinfo for i8086-msdos
git-svn-id: trunk@39031 -
2018-05-20 10:01:19 +00:00
nickysn
537fbefb9e * add texeheader.ImgOffset to all file offsets when reading an ELF file. This
will be useful for reading i8086-msdos dwarf debug info, because it is
  appended after the regular dos MZ exe in an ELF32 image by the watcom linker.

git-svn-id: trunk@39030 -
2018-05-20 09:43:08 +00:00
nickysn
3bcd21663e * replaced nested ifdefs in unit exeinfo with a chain of {$if defined(...)} ...
{$elseif defined(...)}

git-svn-id: trunk@39027 -
2018-05-19 21:04:30 +00:00
Mattias Gaertner
3d186b2706 pastojs: for value in externalarray do
git-svn-id: trunk@39026 -
2018-05-19 17:59:50 +00:00
Mattias Gaertner
1e6f23a72c fcl-passrc: resolver: check property has read or write accessor,
git-svn-id: trunk@39025 -
2018-05-19 17:28:26 +00:00
svenbarth
2eac60cd87 * use a unique internal error
git-svn-id: trunk@39024 -
2018-05-18 14:43:31 +00:00
lacak
fc390136cb fcl-db: sdf: fix for TTestCursorDBBasics.TestUpdateCursorPos
git-svn-id: trunk@39023 -
2018-05-18 12:26:54 +00:00
michael
8384dc7c07 * Patch from Laco to fix tests after changes in event behaviour introduced in 34980
git-svn-id: trunk@39022 -
2018-05-18 10:56:29 +00:00
Mattias Gaertner
d64664dedc pastojs: case-of and external const
git-svn-id: trunk@39021 -
2018-05-18 09:11:57 +00:00
Mattias Gaertner
f45cebf724 fcl-passrc: resolver: case-of and external const
git-svn-id: trunk@39020 -
2018-05-18 09:11:46 +00:00
lacak
7fc9871cbe fcl-db: bufdataset: fix for AV in test TTestCursorDBBasics.TestBookmarkValid
git-svn-id: trunk@39019 -
2018-05-18 08:05:19 +00:00
michael
f5efe4bd90 * Fix so rptGrouping compiles with 3.0.4
git-svn-id: trunk@39018 -
2018-05-18 06:59:14 +00:00
nickysn
9a4a61ab97 * automatically switch to external linking (and show message) when requested to
generate debug info on the i8086 targets

git-svn-id: trunk@39017 -
2018-05-17 16:11:51 +00:00
nickysn
3e343dff21 + enable by default the ds_dwarf_omf_linnum debug switch on i8086, since that's
the only currently working option for getting source level debugging on
  i8086-msdos

git-svn-id: trunk@39016 -
2018-05-17 15:02:34 +00:00
nickysn
20abb13bca - do not compile in the stabs debug info support for the i8086 target
git-svn-id: trunk@39015 -
2018-05-17 14:47:39 +00:00
nickysn
600b460ecd + added new debug output option -godwarfomflinnum for generating line number
information in OMF LINNUM records, in addition to the DWARF debug information.
  This enables source level debugging on i8086-msdos, when using the Open Watcom
  Debugger, provided the source was compiled with this option and the external
  linker (wlink) was used for generating the executable (the internal linker
  does not yet support generating debug information).

git-svn-id: trunk@39014 -
2018-05-17 14:38:50 +00:00
Mattias Gaertner
240ebc698a pas2js version 0.9.22
git-svn-id: trunk@39013 -
2018-05-17 13:31:08 +00:00
Mattias Gaertner
52befe4595 fcl-passrc: resolver: no hints that cannot be hidden
git-svn-id: trunk@39012 -
2018-05-17 13:26:34 +00:00
lacak
815172ac47 fcl-db: tests: test DATE and TIME data types for Sybase and MS SQL Server (requires version >= 2008)
git-svn-id: trunk@39011 -
2018-05-17 10:07:07 +00:00
Mattias Gaertner
0fcec04382 pastojs: fixed removing leading zeroes from hex numbers
git-svn-id: trunk@39010 -
2018-05-17 08:35:27 +00:00
lacak
77dc0597e9 fcl-db: csvdataset: take into account Delimiter when saving, open file with fmCreate when saving + tests; bug #33432
git-svn-id: trunk@39009 -
2018-05-17 06:29:51 +00:00
nickysn
3d6d020fca + implemented the actual writing of LINNUM OMF records
git-svn-id: trunk@39008 -
2018-05-16 17:37:28 +00:00
nickysn
61e6d2afec + introduce asd_omf_linnum_line directives; they will be used for writing LINNUM
entries in the OMF object format

git-svn-id: trunk@39007 -
2018-05-16 17:05:02 +00:00
nickysn
b80642c384 + started implementing support for generating Microsoft CodeView debug
information. Only enabled on i8086 (for now). Does not do much yet, but
  hopefully, soon it'll start emitting line number information for i8086-msdos
  that is usable by DOS debuggers.

git-svn-id: trunk@39006 -
2018-05-16 15:25:33 +00:00
lacak
41024d1047 fcl-db: tests: comment why test fails on Firebird
git-svn-id: trunk@39005 -
2018-05-16 14:09:15 +00:00
lacak
c790556358 fcl-db: tests: fix malformed character in string literal
git-svn-id: trunk@39004 -
2018-05-16 12:53:30 +00:00
lacak
1edf2d3cd0 fcl-db: tests: Adjust tests to take into account connection charset and field codepage when testing Size and DataSize
git-svn-id: trunk@39003 -
2018-05-16 11:30:37 +00:00
lacak
7b7d9b1cde fcl-db: mysql: for BINARY and VARBINARY data types ignore connection CharSet (CharSize does not play role here)
git-svn-id: trunk@39002 -
2018-05-16 11:15:12 +00:00
lacak
ea124c68f5 fcl-db: sqldb: add MySQL 'utf8mb4' to list of UTF-8 charsets. Note: MySQL 'utf8' is MBCS with CharSize=3
git-svn-id: trunk@39001 -
2018-05-16 10:43:27 +00:00