Commit Graph

53865 Commits

Author SHA1 Message Date
nickysn
189cba817e + added method TOmfSubRecord_THREAD.ApplyTo, which applies the data in the
current thread subrecord to a TOmfThreads object

git-svn-id: trunk@39148 -
2018-05-30 13:52:34 +00:00
nickysn
26e808e155 + added classes for maintaining the OMF fixup thread state
git-svn-id: trunk@39147 -
2018-05-30 13:35:52 +00:00
michael
133e7e53f0 * Fix bug #33803
git-svn-id: trunk@39146 -
2018-05-30 04:08:39 +00:00
nickysn
6ee483279c + added qword/tbyte ptr to tasm27a.pp - these are also supported by delphi
git-svn-id: trunk@39145 -
2018-05-29 16:48:49 +00:00
nickysn
d39699da94 + added dword/qword/tbyte ptr to the tasm27.pp test (these are also supported by TP7)
git-svn-id: trunk@39144 -
2018-05-29 16:46:22 +00:00
nickysn
49b414ffee + support ugly constructs like 'DD BYTE PTR 5' in the x86 intel syntax inline
assembler; these are TP7 and Delphi compatible

git-svn-id: trunk@39143 -
2018-05-29 15:43:08 +00:00
nickysn
54a8d8de58 + added class for decoding/encoding THREAD OMF subrecords
git-svn-id: trunk@39142 -
2018-05-29 15:05:07 +00:00
pierre
b1537a7f40 Add some more debug information to temp-generation when compiled with -dEXTDEBUG
git-svn-id: trunk@39141 -
2018-05-28 22:39:21 +00:00
pierre
0673f181bb android jvm doesn't need clocale unit
git-svn-id: trunk@39140 -
2018-05-28 22:26:04 +00:00
pierre
9f38b25542 Disable SDL package also for netware and netwlibc OS targets
git-svn-id: trunk@39139 -
2018-05-28 22:20:03 +00:00
Mattias Gaertner
23b90ee315 pas2js: version 0.9.23
git-svn-id: trunk@39138 -
2018-05-28 20:26:38 +00:00
Mattias Gaertner
37ee69781e fcl-js: fixed year
git-svn-id: trunk@39137 -
2018-05-28 20:26:25 +00:00
Mattias Gaertner
51cec6ff38 pas2js: fixed unitpath with asterisk on unicode folder
git-svn-id: trunk@39136 -
2018-05-28 19:18:09 +00:00
svenbarth
8a195c44ba + add overloads of IsInfinite() for Single and Extended (compatible with Delphi)
git-svn-id: trunk@39135 -
2018-05-28 15:36:18 +00:00
svenbarth
ee2c573deb * adjust test so that it tests all three floating point types
git-svn-id: trunk@39134 -
2018-05-28 15:36:14 +00:00
nickysn
58be30a0fd + added test tasm27a.pp - similar to tasm27.pp, but for i386 and checked against Delphi
git-svn-id: trunk@39133 -
2018-05-28 15:34:46 +00:00
svenbarth
e8153df7b7 * fix compilation
git-svn-id: trunk@39132 -
2018-05-28 15:16:37 +00:00
nickysn
052da5c921 * use DW_OP_reg0..DW_OP_reg31 instead of DW_OP_regx in TDebugInfoDwarf.append_seg_reg
in case the dwarf register number is 31 or smaller

git-svn-id: trunk@39131 -
2018-05-28 14:21:53 +00:00
pierre
64dc9abbc2 Use small value of MAX_DISP also for i8086 CPU
git-svn-id: trunk@39130 -
2018-05-28 09:01:34 +00:00
pierre
48f06bef12 Add C objects linked with $L directive in %FILES to fix dosbox go32v2 tests
git-svn-id: trunk@39129 -
2018-05-28 08:11:42 +00:00
Mattias Gaertner
2a598c851f pastojs: allow {$H+}, error on {$H-}
git-svn-id: trunk@39128 -
2018-05-28 06:46:52 +00:00
Mattias Gaertner
414653eac6 fcl-passrc: nicer warning on readonly letter switch
git-svn-id: trunk@39127 -
2018-05-28 06:29:08 +00:00
Mattias Gaertner
a452e2dd5f pastojs: Unicode character constants outside of BMP
git-svn-id: trunk@39126 -
2018-05-27 22:39:10 +00:00
Mattias Gaertner
df71ab3ecf pastojs: writestr and -Sm
git-svn-id: trunk@39125 -
2018-05-27 22:01:09 +00:00
Mattias Gaertner
164587d798 fcl-passrc: writestr
git-svn-id: trunk@39124 -
2018-05-27 22:00:48 +00:00
svenbarth
f077c7d950 + add support for Unicode code point constants > $FFFF; they are converted to a surrogate pair so they are in
fact a UnicodeString constant
+ added tests

git-svn-id: trunk@39123 -
2018-05-27 14:06:19 +00:00
pierre
c64455cfd4 Do not assume that size of integer type is 4 (it's 2 for msdos)
git-svn-id: trunk@39122 -
2018-05-26 06:04:57 +00:00
pierre
a1bbd4c02d Try to avoid inserting all RTTI symbols into executables on targets not supporting smartlinked sections
git-svn-id: trunk@39121 -
2018-05-25 20:44:24 +00:00
nickysn
ad96cf758b + emit a DW_AT_address_class dwarf attribute on i8086 for procdefs, indicating
their call model (near or far)

git-svn-id: trunk@39120 -
2018-05-25 20:03:15 +00:00
svenbarth
199b5809a3 * optimize "dynarr := dynarr + [elem]" to "Insert(elem, dynarr, High(SizeInt))" and "dynarr := [elem] + dynarr" to "Insert(elem, dynarr, 0)" (we need to do this in the typecheck of taddnode as otherwise the array constructor is already converted)
+ added test
* adjusted test for Mantis #30463 as p1 triggers the optimization as well

git-svn-id: trunk@39119 -
2018-05-25 16:03:56 +00:00
svenbarth
85439a0fa0 * also check for nf_assign_done_in_right flag after typechecking the right side
git-svn-id: trunk@39118 -
2018-05-25 15:54:41 +00:00
nickysn
22e8763100 + generate script code for creating the dwarf exe sections when using the
internal linker with dwarf debug info enabled on i8086-msdos

git-svn-id: trunk@39117 -
2018-05-25 15:35:17 +00:00
pierre
4efb978858 Fix wrong preprocessor: $undefine is not accepted, must be $undef
git-svn-id: trunk@39116 -
2018-05-25 14:51:13 +00:00
nickysn
f505718e6c + started implementing TMZExeOutput.writeDebugElf; nothing is written yet, only
the elf header fields are filled with the values, generated by wlink

git-svn-id: trunk@39115 -
2018-05-25 14:20:13 +00:00
nickysn
b18602485a * fixed base segment calculation on i8086 (code moved after call to OpenDwarf,
because it needs to have e.processsegment initialized)

git-svn-id: trunk@39114 -
2018-05-25 00:52:14 +00:00
nickysn
45bcbca71b * fixed reading of DW_FORM_ref_addr on i8086
git-svn-id: trunk@39113 -
2018-05-25 00:21:53 +00:00
nickysn
6bd99b65bf + emit DW_AT_frame_base dwarf attributes on i8086. Even though the Watcom
Debugger doesn't require them (it uses BP as the frame register by default),
  the dwarf spec requires that we emit them on i8086, because we also use
  DW_OP_fbreg on i8086.

git-svn-id: trunk@39112 -
2018-05-24 22:49:12 +00:00
nickysn
c5fe78201c + emit DW_OP_bregx dwarf ops for local variables and parameters, relative to BP
on i8086. This fixes Watcom Debugger not showing them right in memory models,
  where DS<>SS (Watcom seems to ignore the DW_AT_segment attribute for register
  relative variables, even though we emit it correctly :/ )

git-svn-id: trunk@39111 -
2018-05-24 22:27:11 +00:00
nickysn
855c810c09 + emit a DW_AT_WATCOM_memory_model dwarf attribute, when compiling for i8086
git-svn-id: trunk@39110 -
2018-05-24 21:59:50 +00:00
nickysn
87e1fa8fc7 + added enum with the values for DW_AT_WATCOM_memory_model
git-svn-id: trunk@39109 -
2018-05-24 21:50:55 +00:00
nickysn
dc12d4d789 + added constants with the watcom dwarf attribute extensions
git-svn-id: trunk@39108 -
2018-05-24 21:49:28 +00:00
nickysn
749872aaf7 + generate DW_AT_segment dwarf attribute for local variables and parameters on i8086
git-svn-id: trunk@39107 -
2018-05-24 21:30:37 +00:00
nickysn
217c75f84e + generate dwarf DW_AT_address_class attributes for pointer types on i8086
git-svn-id: trunk@39106 -
2018-05-24 20:22:59 +00:00
svenbarth
b94a8c93a5 * test (for Mantis #5516; 3531 is the old bug ID) is valid now that we have dynamic array initializers
git-svn-id: trunk@39105 -
2018-05-24 19:56:35 +00:00
nickysn
76fb8c3afd * fix for dwarf debug info generation of localsym vars with offset (thx Pierre for spotting this)
git-svn-id: trunk@39104 -
2018-05-24 16:31:01 +00:00
nickysn
69fbf0e0d8 * use unaligned constants, when writing the final dwarf arange record on i8086
git-svn-id: trunk@39103 -
2018-05-24 15:43:02 +00:00
pierre
a5a6b70658 Add tf_no_pic_supported to go32v2 target (was generating wrong code)
git-svn-id: trunk@39102 -
2018-05-23 21:12:56 +00:00
pierre
f80e73eac2 Remove references to sym variable when not set (revealed warning generated when compiling with -O4 option)
git-svn-id: trunk@39101 -
2018-05-23 20:45:21 +00:00
pierre
019da9517f Set return value when calling inherited in ti8086inlinenode.pass_typecheck_cpu
git-svn-id: trunk@39100 -
2018-05-23 20:43:40 +00:00
nickysn
5417eb043d * fix for the encoding of dwarf debug info of local variables, whose base is a
register that has a dwarf register number higher than 31

git-svn-id: trunk@39099 -
2018-05-23 15:58:51 +00:00