svenbarth
4d0ab82ef7
* optimize class initialization by calling RTTIRecord() only when required for a non-trivial initialization
...
git-svn-id: trunk@39256 -
2018-06-20 19:00:21 +00:00
svenbarth
ac0322c323
+ add a flags field to the record init RTTI which declares whether
...
a) the current record contains a field with non-trivial initialization
b) and of the parents contains such a field (only relevant for objects and classes)
git-svn-id: trunk@39255 -
2018-06-20 19:00:17 +00:00
svenbarth
eb06ac8ce8
* set up $MinEnumSize and $PackSet so that it matches the compiler's settings for types added in the future
...
git-svn-id: trunk@39254 -
2018-06-20 19:00:14 +00:00
svenbarth
61bde67082
+ add method has_non_trivial_init_child() to tdef which provides access to the symtable's
...
sto_has_non_trivial_init flag
git-svn-id: trunk@39253 -
2018-06-20 19:00:11 +00:00
svenbarth
cc153176f3
+ add a new symtable option sto_has_non_trivial_init that is true if the symtable contains a symbol with an
...
Initialize() operator (like sto_needs_init_final this flag is calculated on demand)
* increase PPU version
git-svn-id: trunk@39252 -
2018-06-20 19:00:08 +00:00
svenbarth
80ed66f349
* move calculation of sto_needs_init_final to a separate method do_init_final_check()
...
git-svn-id: trunk@39251 -
2018-06-20 19:00:05 +00:00
svenbarth
393d1c2256
* move RTTI related types from rtti.inc to rttidecl.inc
...
git-svn-id: trunk@39250 -
2018-06-20 19:00:03 +00:00
svenbarth
bbf578b193
* move definition of USE_PACKED from rtti.inc to rttidecl.inc
...
git-svn-id: trunk@39249 -
2018-06-20 19:00:00 +00:00
svenbarth
b75324a4f2
* move RTTI declarations to their own header file
...
git-svn-id: trunk@39248 -
2018-06-20 18:59:57 +00:00
svenbarth
44b15350fb
* disable RTTI declarations if RTTI feature is disabled
...
git-svn-id: trunk@39247 -
2018-06-20 18:59:54 +00:00
nickysn
1631d9ac0a
+ support segments (sections) with a primary group, other than 'DGROUP' in the
...
NASM assembler writer
git-svn-id: trunk@39246 -
2018-06-20 16:14:41 +00:00
nickysn
5eb69edf9e
+ support segments (sections) with a primary group, other than 'DGROUP' in the
...
OMF internal object writer
git-svn-id: trunk@39245 -
2018-06-20 14:57:20 +00:00
florian
400861a907
* fixed TBits.NotBits, it is just an Xor operation, resolves #33706
...
git-svn-id: trunk@39243 -
2018-06-19 20:38:15 +00:00
florian
0d168796d7
* patch by J. Gareth Moreton: More Peephole optimizations for AND and MOV
...
git-svn-id: trunk@39242 -
2018-06-18 20:50:08 +00:00
nickysn
7fcec8460f
+ parse OMF COMENT records when reading object files and produce error messages
...
for the records that are not supported, but are important for the executable
being produced (such as weak/lazy externals, etc.)
git-svn-id: trunk@39241 -
2018-06-18 14:48:04 +00:00
lacak
935af781e4
fcl-db: bufdataset: cosmetic (TAutoIncField is descendant of TLongIntField)
...
git-svn-id: trunk@39240 -
2018-06-18 05:45:29 +00:00
florian
a0b343a787
* patch by J. Gareth Moreton for less invasive DEBUG_AOPTCPU
...
git-svn-id: trunk@39239 -
2018-06-17 14:56:19 +00:00
michael
373061043b
* Patch from Ondrej Pokorny to allow customizing the kind of query being created (bug ID 0033863)
...
git-svn-id: trunk@39238 -
2018-06-17 10:10:50 +00:00
michael
e8f74fdbdb
* Fix bug #33869 , wrong assignment in CopyFromDataset for largeint fields
...
git-svn-id: trunk@39237 -
2018-06-17 10:08:26 +00:00
nickysn
3aff9d6735
* set MemPos to 0 for each debug .MZ section. This fixes all references within
...
the debug sections themselves.
git-svn-id: trunk@39235 -
2018-06-15 14:49:43 +00:00
svenbarth
c495f10b29
+ added tests for Mantis #33839 which is now fixed with the recent changes
...
git-svn-id: trunk@39234 -
2018-06-15 13:49:33 +00:00
svenbarth
22a5e5e4ee
* the symbol parsed for "specialize" does not need to be a type; it could be a procsym or some other type (e.g. a constant of the same name in a third unit)
...
git-svn-id: trunk@39233 -
2018-06-15 13:49:26 +00:00
svenbarth
598ac21791
* if the generic dummy symbol is a procsym (with procdefs added) then this is the symbol that should be resolved to
...
git-svn-id: trunk@39232 -
2018-06-15 13:49:21 +00:00
svenbarth
8423fd7632
* also process procsyms when adding a symtable as they may be generic dummy symbols as well
...
git-svn-id: trunk@39231 -
2018-06-15 13:49:16 +00:00
svenbarth
5510b13975
* ensure that sto_has_generic is set when a generic routine has been parsed
...
git-svn-id: trunk@39230 -
2018-06-15 13:49:03 +00:00
nickysn
84b5265312
+ append a TIS trailer after the debug ELF (this helps the watcom debugger find
...
the beginning of the ELF debug image)
git-svn-id: trunk@39229 -
2018-06-15 13:41:40 +00:00
nickysn
480eedac9f
* fix/pretty print the segment and group list with too long segment/group/class
...
names in the linker map file, produced by the i8086 internal linker
git-svn-id: trunk@39228 -
2018-06-15 00:03:58 +00:00
nickysn
8af56ad6c8
* fixed silly (caused by copy/paste) bug when writing elf section contents in the dwarf debug binary, produced by TMZExeOutput.writeDebugElf
...
git-svn-id: trunk@39227 -
2018-06-14 16:29:25 +00:00
nickysn
11cf2a6996
* emit a warning, when encountering an omf reference to a section, that has been
...
removed due to smartlinking
git-svn-id: trunk@39226 -
2018-06-14 16:22:47 +00:00
nickysn
c41f736958
+ allow MemPos_EndExeSection to be called with an empty section name
...
git-svn-id: trunk@39225 -
2018-06-14 16:17:00 +00:00
nickysn
97365abbcf
+ set the oso_debug flag to dwarf MZ exe sections
...
git-svn-id: trunk@39224 -
2018-06-14 16:15:11 +00:00
nickysn
239fb25179
+ assign an MZExeUnifiedLogicalSegment object to the OMF dwarf sections, so that
...
OMF relocations work on them too
git-svn-id: trunk@39223 -
2018-06-14 16:03:05 +00:00
nickysn
7103e3cb5c
+ set the oso_debug section flags when reading an OMF section, which belongs to
...
the 'DWARF' class
git-svn-id: trunk@39222 -
2018-06-14 15:27:08 +00:00
nickysn
b7bfac11cb
+ enable using the i8086 internal linker with debug info, if the compiler is
...
compiled with -di8086_link_intern_debuginfo
git-svn-id: trunk@39221 -
2018-06-14 15:24:39 +00:00
nickysn
5b47bad32a
* use uppercase object section names in the OMF linker script for matching the
...
dwarf debug sections. This is because they are converted to upper case when
reading (so that we treat omf section names as case-insensitive)
git-svn-id: trunk@39220 -
2018-06-14 15:19:11 +00:00
nickysn
c56ebad183
+ implemented writing of dwarf debug info (by calling writeDebugElf) in
...
TMZExeOutput.writeData. Note that writing i8086 debug info with the internal
linker is still disabled (i.e. it switches to external linking) in
options.TOption.checkoptionscompatibility
git-svn-id: trunk@39219 -
2018-06-14 14:30:59 +00:00
nickysn
29b3ec3fdb
* call MaybeSwapHeader and MaybeSwapSecHeader in TMZExeOutput.writeDebugElf, so
...
the debug ELF file is generated with the correct endianness
git-svn-id: trunk@39218 -
2018-06-14 13:02:54 +00:00
nickysn
b34ab6b279
* The MaybeSwapXXXHeader functions moved from ogelf to the elfbase unit, so they
...
can be used by TMZExeOutput.writeDebugElf as well
git-svn-id: trunk@39217 -
2018-06-14 13:01:08 +00:00
nickysn
daa47f4b7f
+ completed the internal debug ELF writer in TMZExeOutput.writeDebugElf (not
...
enabled yet)
git-svn-id: trunk@39216 -
2018-06-13 16:08:54 +00:00
svenbarth
be0d51d64c
* allow $MinEnumSize, $PackSet and $PackRecords to be used with $Push and $Pop
...
+ added tests
git-svn-id: trunk@39215 -
2018-06-12 19:40:45 +00:00
svenbarth
da672d1344
* instead of using separate booleans use a set to keep track of pending changes for popped settings
...
git-svn-id: trunk@39214 -
2018-06-12 19:40:41 +00:00
nickysn
b3e4ace4e3
* fixed compilation of .com files in the i8086 tiny memory model, when used with
...
section based smartlinking
git-svn-id: trunk@39213 -
2018-06-12 00:38:51 +00:00
nickysn
420a57ddc6
* use upper case OMF section names when using i8086 section-based smart linking
...
git-svn-id: trunk@39212 -
2018-06-12 00:14:08 +00:00
nickysn
b9ab9e5782
+ initial (experimental) implementation of section-based smartlinking for i8086.
...
Use -dI8086_SMARTLINK_SECTIONS to enable.
git-svn-id: trunk@39211 -
2018-06-11 16:56:33 +00:00
nickysn
bfdd75eabf
+ support AB_LOCAL symbols in OMF object files, by implementing support for
...
LPUBDEF/LPUBDEF32 OMF records
git-svn-id: trunk@39210 -
2018-06-11 15:29:23 +00:00
Mattias Gaertner
118ec57000
pastojs: typecast function to TJSFunction
...
git-svn-id: trunk@39208 -
2018-06-10 13:45:40 +00:00
Mattias Gaertner
cef027199c
pastojs: typecast function to TJSFunction
...
git-svn-id: trunk@39207 -
2018-06-10 13:39:21 +00:00
marcus
b44c0265ee
ssockets: fix for Amiga-systems
...
git-svn-id: trunk@39206 -
2018-06-10 08:22:05 +00:00
michael
ab4023a3de
* Remove math unit
...
git-svn-id: trunk@39205 -
2018-06-09 20:16:48 +00:00
michael
7782463c9c
* Hopefully fix amiga compilation
...
git-svn-id: trunk@39204 -
2018-06-09 13:50:02 +00:00